summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap1
-rw-r--r--CMake/Modules/FindGuichan.cmake7
-rw-r--r--CMakeLists.txt2
-rw-r--r--data/graphics/CMakeLists.txt9
-rw-r--r--data/graphics/gui/CMakeLists.txt6
-rw-r--r--data/graphics/target-cursor-in-range-l.png (renamed from data/graphics/gui/target-cursor-blue-l.png)bin23803 -> 23803 bytes
-rw-r--r--data/graphics/target-cursor-in-range-m.png (renamed from data/graphics/gui/target-cursor-blue-m.png)bin18439 -> 18439 bytes
-rw-r--r--data/graphics/target-cursor-in-range-s.png (renamed from data/graphics/gui/target-cursor-blue-s.png)bin8353 -> 8353 bytes
-rw-r--r--data/graphics/target-cursor-normal-l.png (renamed from data/graphics/gui/target-cursor-red-l.png)bin25586 -> 25586 bytes
-rw-r--r--data/graphics/target-cursor-normal-m.png (renamed from data/graphics/gui/target-cursor-red-m.png)bin17950 -> 17950 bytes
-rw-r--r--data/graphics/target-cursor-normal-s.png (renamed from data/graphics/gui/target-cursor-red-s.png)bin8361 -> 8361 bytes
-rw-r--r--mana.cbp143
-rw-r--r--mana.files53
-rw-r--r--packaging/windows/setup.nsi2
-rw-r--r--po/ar.po1457
-rw-r--r--po/bg.po1442
-rw-r--r--po/ca.po1442
-rw-r--r--po/cs.po1481
-rw-r--r--po/da.po1541
-rw-r--r--po/de.po1592
-rw-r--r--po/en_GB.po1532
-rw-r--r--po/eo.po1442
-rw-r--r--po/et.po1447
-rw-r--r--po/fa.po1442
-rw-r--r--po/fi.po1475
-rw-r--r--po/he.po1540
-rw-r--r--po/hr.po1532
-rw-r--r--po/hu.po1532
-rw-r--r--po/id.po1459
-rw-r--r--po/it.po1527
-rw-r--r--po/ja.po1534
-rw-r--r--po/ka.po1443
-rw-r--r--po/mana.pot1442
-rw-r--r--po/nb.po1491
-rw-r--r--po/nds.po1457
-rw-r--r--po/nl.po1532
-rw-r--r--po/pl.po1536
-rw-r--r--po/pt.po1532
-rw-r--r--po/pt_BR.po3582
-rw-r--r--po/ru.po1529
-rw-r--r--po/sk.po1461
-rw-r--r--po/sq.po1442
-rw-r--r--po/sv.po1536
-rw-r--r--po/te.po1447
-rw-r--r--po/th.po1452
-rw-r--r--po/tr.po1494
-rw-r--r--po/uk.po1522
-rw-r--r--po/zh_CN.po1538
-rw-r--r--po/zh_HK.po1469
-rw-r--r--po/zh_TW.po1539
-rw-r--r--src/CMakeLists.txt53
-rw-r--r--src/actor.cpp57
-rw-r--r--src/actor.h128
-rw-r--r--src/actorsprite.cpp463
-rw-r--r--src/actorsprite.h233
-rw-r--r--src/actorspritemanager.cpp343
-rw-r--r--src/actorspritemanager.h (renamed from src/beingmanager.h)80
-rw-r--r--src/animatedsprite.cpp61
-rw-r--r--src/animatedsprite.h57
-rw-r--r--src/avatar.cpp4
-rw-r--r--src/being.cpp998
-rw-r--r--src/being.h408
-rw-r--r--src/beingmanager.cpp327
-rw-r--r--src/chatlog.cpp175
-rw-r--r--src/chatlog.h73
-rw-r--r--src/client.cpp166
-rw-r--r--src/client.h13
-rw-r--r--src/commandhandler.cpp19
-rw-r--r--src/compoundsprite.cpp364
-rw-r--r--src/compoundsprite.h105
-rw-r--r--src/configuration.cpp177
-rw-r--r--src/configuration.h47
-rw-r--r--src/defaults.cpp181
-rw-r--r--src/defaults.h (renamed from src/configlistener.h)32
-rw-r--r--src/equipment.h16
-rw-r--r--src/event.cpp255
-rw-r--r--src/event.h339
-rw-r--r--src/flooritem.cpp57
-rw-r--r--src/flooritem.h76
-rw-r--r--src/flooritemmanager.cpp80
-rw-r--r--src/flooritemmanager.h54
-rw-r--r--src/game.cpp131
-rw-r--r--src/graphics.cpp10
-rw-r--r--src/graphics.h12
-rw-r--r--src/gui/beingpopup.cpp12
-rw-r--r--src/gui/beingpopup.h4
-rw-r--r--src/gui/buy.cpp13
-rw-r--r--src/gui/buy.h5
-rw-r--r--src/gui/buysell.cpp7
-rw-r--r--src/gui/buysell.h5
-rw-r--r--src/gui/changeemaildialog.h2
-rw-r--r--src/gui/changepassworddialog.h2
-rw-r--r--src/gui/charcreatedialog.cpp19
-rw-r--r--src/gui/charcreatedialog.h8
-rw-r--r--src/gui/charselectdialog.cpp56
-rw-r--r--src/gui/charselectdialog.h8
-rw-r--r--src/gui/chat.cpp64
-rw-r--r--src/gui/chat.h25
-rw-r--r--src/gui/emotepopup.cpp9
-rw-r--r--src/gui/emotepopup.h4
-rw-r--r--src/gui/equipmentwindow.cpp151
-rw-r--r--src/gui/equipmentwindow.h47
-rw-r--r--src/gui/gui.cpp25
-rw-r--r--src/gui/help.cpp4
-rw-r--r--src/gui/inventorywindow.cpp100
-rw-r--r--src/gui/inventorywindow.h23
-rw-r--r--src/gui/itemamount.cpp26
-rw-r--r--src/gui/itempopup.cpp101
-rw-r--r--src/gui/itempopup.h2
-rw-r--r--src/gui/minimap.cpp71
-rw-r--r--src/gui/ministatus.cpp148
-rw-r--r--src/gui/ministatus.h21
-rw-r--r--src/gui/npcdialog.cpp192
-rw-r--r--src/gui/npcdialog.h24
-rw-r--r--src/gui/npcpostdialog.cpp13
-rw-r--r--src/gui/npcpostdialog.h5
-rw-r--r--src/gui/outfitwindow.cpp23
-rw-r--r--src/gui/popupmenu.cpp75
-rw-r--r--src/gui/quitdialog.h2
-rw-r--r--src/gui/recorder.cpp12
-rw-r--r--src/gui/register.h2
-rw-r--r--src/gui/sell.cpp12
-rw-r--r--src/gui/sell.h5
-rw-r--r--src/gui/serverdialog.cpp72
-rw-r--r--src/gui/serverdialog.h5
-rw-r--r--src/gui/setup.h2
-rw-r--r--src/gui/setup_audio.cpp14
-rw-r--r--src/gui/setup_colors.cpp5
-rw-r--r--src/gui/setup_joystick.cpp2
-rw-r--r--src/gui/setup_players.cpp39
-rw-r--r--src/gui/setup_players.h3
-rw-r--r--src/gui/setup_video.cpp73
-rw-r--r--src/gui/skilldialog.cpp20
-rw-r--r--src/gui/skilldialog.h6
-rw-r--r--src/gui/socialwindow.cpp73
-rw-r--r--src/gui/specialswindow.cpp179
-rw-r--r--src/gui/specialswindow.h20
-rw-r--r--src/gui/speechbubble.cpp6
-rw-r--r--src/gui/speechbubble.h4
-rw-r--r--src/gui/statuswindow.cpp294
-rw-r--r--src/gui/statuswindow.h15
-rw-r--r--src/gui/textdialog.cpp4
-rw-r--r--src/gui/textpopup.cpp6
-rw-r--r--src/gui/trade.cpp31
-rw-r--r--src/gui/trade.h2
-rw-r--r--src/gui/unregisterdialog.h2
-rw-r--r--src/gui/updatewindow.cpp2
-rw-r--r--src/gui/viewport.cpp124
-rw-r--r--src/gui/viewport.h17
-rw-r--r--src/gui/widgets/avatarlistbox.cpp2
-rw-r--r--src/gui/widgets/browserbox.cpp4
-rw-r--r--src/gui/widgets/button.cpp6
-rw-r--r--src/gui/widgets/chattab.cpp20
-rw-r--r--src/gui/widgets/chattab.h18
-rw-r--r--src/gui/widgets/checkbox.cpp6
-rw-r--r--src/gui/widgets/dropdown.cpp6
-rw-r--r--src/gui/widgets/emoteshortcutcontainer.cpp14
-rw-r--r--src/gui/widgets/emoteshortcutcontainer.h5
-rw-r--r--src/gui/widgets/itemcontainer.cpp27
-rw-r--r--src/gui/widgets/itemlinkhandler.cpp2
-rw-r--r--src/gui/widgets/itemshortcutcontainer.cpp18
-rw-r--r--src/gui/widgets/label.cpp5
-rw-r--r--src/gui/widgets/listbox.cpp7
-rw-r--r--src/gui/widgets/playerbox.cpp25
-rw-r--r--src/gui/widgets/playerbox.h9
-rw-r--r--src/gui/widgets/popup.cpp2
-rw-r--r--src/gui/widgets/progressbar.cpp6
-rw-r--r--src/gui/widgets/progressindicator.cpp3
-rw-r--r--src/gui/widgets/radiobutton.cpp7
-rw-r--r--src/gui/widgets/resizegrip.cpp7
-rw-r--r--src/gui/widgets/scrollarea.cpp13
-rw-r--r--src/gui/widgets/shoplistbox.cpp6
-rw-r--r--src/gui/widgets/slider.cpp7
-rw-r--r--src/gui/widgets/tab.cpp6
-rw-r--r--src/gui/widgets/table.cpp7
-rw-r--r--src/gui/widgets/textbox.cpp2
-rw-r--r--src/gui/widgets/textfield.cpp9
-rw-r--r--src/gui/widgets/textpreview.cpp4
-rw-r--r--src/gui/widgets/whispertab.cpp11
-rw-r--r--src/gui/widgets/whispertab.h2
-rw-r--r--src/gui/widgets/window.cpp6
-rw-r--r--src/gui/windowmenu.cpp2
-rw-r--r--src/gui/worldselectdialog.cpp10
-rw-r--r--src/gui/worldselectdialog.h2
-rw-r--r--src/guild.cpp9
-rw-r--r--src/imageparticle.cpp20
-rw-r--r--src/imageparticle.h2
-rw-r--r--src/imagesprite.cpp44
-rw-r--r--src/imagesprite.h73
-rw-r--r--src/inventory.cpp11
-rw-r--r--src/inventory.h10
-rw-r--r--src/item.cpp37
-rw-r--r--src/item.h28
-rw-r--r--src/itemshortcut.cpp16
-rw-r--r--src/joystick.cpp10
-rw-r--r--src/keyboardconfig.cpp1
-rw-r--r--src/listener.cpp43
-rw-r--r--src/listener.h (renamed from src/net/manaserv/stats.h)30
-rw-r--r--src/localplayer.cpp497
-rw-r--r--src/localplayer.h253
-rw-r--r--src/log.cpp12
-rw-r--r--src/log.h8
-rw-r--r--src/main.cpp12
-rw-r--r--src/map.cpp167
-rw-r--r--src/map.h49
-rw-r--r--src/monster.cpp203
-rw-r--r--src/monster.h98
-rw-r--r--src/net/adminhandler.h4
-rw-r--r--src/net/charhandler.h16
-rw-r--r--src/net/chathandler.h4
-rw-r--r--src/net/download.cpp4
-rw-r--r--src/net/gamehandler.h13
-rw-r--r--src/net/generalhandler.h9
-rw-r--r--src/net/guildhandler.h5
-rw-r--r--src/net/inventoryhandler.h23
-rw-r--r--src/net/logindata.h23
-rw-r--r--src/net/manaserv/adminhandler.cpp2
-rw-r--r--src/net/manaserv/attributes.cpp408
-rw-r--r--src/net/manaserv/attributes.h70
-rw-r--r--src/net/manaserv/beinghandler.cpp71
-rw-r--r--src/net/manaserv/buysellhandler.cpp16
-rw-r--r--src/net/manaserv/charhandler.cpp56
-rw-r--r--src/net/manaserv/charhandler.h18
-rw-r--r--src/net/manaserv/chathandler.cpp42
-rw-r--r--src/net/manaserv/connection.cpp2
-rw-r--r--src/net/manaserv/connection.h6
-rw-r--r--src/net/manaserv/defines.h76
-rw-r--r--src/net/manaserv/effecthandler.cpp6
-rw-r--r--src/net/manaserv/gamehandler.cpp12
-rw-r--r--src/net/manaserv/gamehandler.h9
-rw-r--r--src/net/manaserv/generalhandler.cpp64
-rw-r--r--src/net/manaserv/generalhandler.h10
-rw-r--r--src/net/manaserv/guildhandler.cpp21
-rw-r--r--src/net/manaserv/guildhandler.h2
-rw-r--r--src/net/manaserv/inventoryhandler.cpp220
-rw-r--r--src/net/manaserv/inventoryhandler.h47
-rw-r--r--src/net/manaserv/itemhandler.cpp11
-rw-r--r--src/net/manaserv/loginhandler.cpp21
-rw-r--r--src/net/manaserv/loginhandler.h2
-rw-r--r--src/net/manaserv/manaserv_protocol.h (renamed from src/net/manaserv/protocol.h)105
-rw-r--r--src/net/manaserv/network.cpp2
-rw-r--r--src/net/manaserv/npchandler.cpp246
-rw-r--r--src/net/manaserv/npchandler.h40
-rw-r--r--src/net/manaserv/partyhandler.cpp19
-rw-r--r--src/net/manaserv/partyhandler.h4
-rw-r--r--src/net/manaserv/playerhandler.cpp113
-rw-r--r--src/net/manaserv/specialhandler.cpp2
-rw-r--r--src/net/manaserv/stats.cpp217
-rw-r--r--src/net/manaserv/tradehandler.cpp29
-rw-r--r--src/net/net.cpp5
-rw-r--r--src/net/npchandler.h29
-rw-r--r--src/net/partyhandler.h10
-rw-r--r--src/net/playerhandler.h5
-rw-r--r--src/net/specialhandler.h4
-rw-r--r--src/net/tmwa/adminhandler.cpp16
-rw-r--r--src/net/tmwa/beinghandler.cpp228
-rw-r--r--src/net/tmwa/buysellhandler.cpp27
-rw-r--r--src/net/tmwa/charserverhandler.cpp57
-rw-r--r--src/net/tmwa/charserverhandler.h8
-rw-r--r--src/net/tmwa/chathandler.cpp120
-rw-r--r--src/net/tmwa/chathandler.h6
-rw-r--r--src/net/tmwa/gamehandler.cpp33
-rw-r--r--src/net/tmwa/gamehandler.h14
-rw-r--r--src/net/tmwa/generalhandler.cpp98
-rw-r--r--src/net/tmwa/generalhandler.h12
-rw-r--r--src/net/tmwa/gui/guildtab.cpp10
-rw-r--r--src/net/tmwa/gui/guildtab.h2
-rw-r--r--src/net/tmwa/gui/partytab.cpp10
-rw-r--r--src/net/tmwa/gui/partytab.h2
-rw-r--r--src/net/tmwa/guildhandler.cpp8
-rw-r--r--src/net/tmwa/guildhandler.h2
-rw-r--r--src/net/tmwa/inventoryhandler.cpp208
-rw-r--r--src/net/tmwa/inventoryhandler.h33
-rw-r--r--src/net/tmwa/itemhandler.cpp8
-rw-r--r--src/net/tmwa/loginhandler.cpp6
-rw-r--r--src/net/tmwa/npchandler.cpp248
-rw-r--r--src/net/tmwa/npchandler.h39
-rw-r--r--src/net/tmwa/partyhandler.cpp46
-rw-r--r--src/net/tmwa/partyhandler.h4
-rw-r--r--src/net/tmwa/playerhandler.cpp234
-rw-r--r--src/net/tmwa/specialhandler.cpp13
-rw-r--r--src/net/tmwa/token.h2
-rw-r--r--src/net/tmwa/tradehandler.cpp66
-rw-r--r--src/net/tradehandler.h4
-rw-r--r--src/npc.cpp108
-rw-r--r--src/npc.h73
-rw-r--r--src/openglgraphics.cpp2
-rw-r--r--src/openglgraphics.h2
-rw-r--r--src/particle.cpp100
-rw-r--r--src/particle.h84
-rw-r--r--src/particleemitter.cpp29
-rw-r--r--src/particleemitter.h8
-rw-r--r--src/particleemitterprop.h4
-rw-r--r--src/party.cpp9
-rw-r--r--src/player.cpp361
-rw-r--r--src/player.h175
-rw-r--r--src/playerinfo.cpp400
-rw-r--r--src/playerinfo.h273
-rw-r--r--src/playerrelations.cpp51
-rw-r--r--src/playerrelations.h3
-rw-r--r--src/resources/beinginfo.cpp107
-rw-r--r--src/resources/beinginfo.h132
-rw-r--r--src/resources/emotedb.cpp111
-rw-r--r--src/resources/emotedb.h21
-rw-r--r--src/resources/image.h2
-rw-r--r--src/resources/imageset.cpp6
-rw-r--r--src/resources/imageset.h2
-rw-r--r--src/resources/itemdb.cpp571
-rw-r--r--src/resources/itemdb.h194
-rw-r--r--src/resources/iteminfo.cpp32
-rw-r--r--src/resources/iteminfo.h246
-rw-r--r--src/resources/mapreader.cpp13
-rw-r--r--src/resources/monsterdb.cpp76
-rw-r--r--src/resources/monsterdb.h9
-rw-r--r--src/resources/monsterinfo.cpp100
-rw-r--r--src/resources/monsterinfo.h106
-rw-r--r--src/resources/npcdb.cpp54
-rw-r--r--src/resources/npcdb.h22
-rw-r--r--src/resources/specialdb.cpp132
-rw-r--r--src/resources/specialdb.h72
-rw-r--r--src/resources/spritedef.cpp128
-rw-r--r--src/resources/spritedef.h83
-rw-r--r--src/resources/theme.cpp (renamed from src/gui/theme.cpp)24
-rw-r--r--src/resources/theme.h (renamed from src/gui/theme.h)6
-rw-r--r--src/resources/userpalette.cpp (renamed from src/gui/userpalette.cpp)2
-rw-r--r--src/resources/userpalette.h (renamed from src/gui/userpalette.h)0
-rw-r--r--src/resources/wallpaper.cpp10
-rw-r--r--src/simpleanimation.cpp48
-rw-r--r--src/simpleanimation.h3
-rw-r--r--src/sound.cpp35
-rw-r--r--src/sound.h4
-rw-r--r--src/sprite.h89
-rw-r--r--src/statuseffect.cpp15
-rw-r--r--src/statuseffect.h4
-rw-r--r--src/text.cpp21
-rw-r--r--src/text.h7
-rw-r--r--src/textparticle.cpp8
-rw-r--r--src/textparticle.h3
-rw-r--r--src/textrenderer.h2
-rw-r--r--src/tileset.h4
-rw-r--r--src/utils/copynpaste.cpp1
-rw-r--r--src/utils/stringutils.cpp23
-rw-r--r--src/utils/stringutils.h22
-rw-r--r--src/utils/xml.cpp25
-rw-r--r--src/utils/xml.h13
-rw-r--r--src/variabledata.h131
-rw-r--r--src/winver.h6
-rw-r--r--[-rwxr-xr-x]tools/dyecmd/src/dye.cpp0
-rw-r--r--[-rwxr-xr-x]tools/dyecmd/src/dye.h0
-rw-r--r--[-rwxr-xr-x]tools/dyecmd/src/dyecmd.cpp0
-rw-r--r--[-rwxr-xr-x]tools/dyecmd/src/imagewriter.cpp0
-rw-r--r--[-rwxr-xr-x]tools/dyecmd/src/imagewriter.h0
352 files changed, 37314 insertions, 36724 deletions
diff --git a/.mailmap b/.mailmap
index d9e31ee6..170efecb 100644
--- a/.mailmap
+++ b/.mailmap
@@ -6,6 +6,7 @@ Thorbjørn Lindeijer <bjorn@horst-dieter.(none)>
Dennis Friis <peavey@inspircd.org>
Falkreon <Falkreon@.(none)>
Ira Rice <irarice@gmail.com>
+MadCamel <madcamel@gmail.com>
Majin Sniper <sniper@livecd.janhome.net>
Maximilian Philipps <turmfalke@Turmfalke.(none)>
remoitnane <remoit(DOT)nane(AT)gmail(DOT)com>
diff --git a/CMake/Modules/FindGuichan.cmake b/CMake/Modules/FindGuichan.cmake
index 1623b00d..dbc863e2 100644
--- a/CMake/Modules/FindGuichan.cmake
+++ b/CMake/Modules/FindGuichan.cmake
@@ -85,6 +85,13 @@ FOREACH (COMPONENT ${Guichan_FIND_COMPONENTS})
MESSAGE(FATAL_ERROR "Could NOT find Guichan component ${COMPONENT}")
ENDIF ()
+ # Check guichan >= 0.8.0 by searching for the widgetlistener.hpp file.
+ SET(Guichan_HEADER "guichan/widgetlistener.hpp")
+ IF (NOT EXISTS ${Guichan_INCLUDE_DIR}/${Guichan_HEADER})
+ SET(GUICHAN_FOUND FALSE)
+ MESSAGE(FATAL_ERROR "Guichan version is less than 0.8.0")
+ ENDIF()
+
IF (NOT Guichan_FIND_QUIETLY AND NOT Guichan_QUIET)
MESSAGE(STATUS "Found Guichan ${COMPONENT}: ${Guichan_LIBRARY_${COMPONENT}}")
ENDIF ()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 00139b55..b8743a62 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,7 +4,7 @@ CMAKE_POLICY(VERSION 2.6)
PROJECT(MANA)
IF (NOT VERSION)
- SET(VERSION 0.5.0)
+ SET(VERSION 1.0.0)
ENDIF()
STRING(REPLACE "." " " _VERSION ${VERSION})
diff --git a/data/graphics/CMakeLists.txt b/data/graphics/CMakeLists.txt
index 5a9b0f65..a46ccfd0 100644
--- a/data/graphics/CMakeLists.txt
+++ b/data/graphics/CMakeLists.txt
@@ -1,3 +1,12 @@
ADD_SUBDIRECTORY(gui)
ADD_SUBDIRECTORY(images)
ADD_SUBDIRECTORY(sprites)
+
+SET (FILES
+ target-cursor-in-range-l.png
+ target-cursor-in-range-m.png
+ target-cursor-in-range-s.png
+ target-cursor-normal-l.png
+ target-cursor-normal-m.png
+ target-cursor-normal-s.png
+ )
diff --git a/data/graphics/gui/CMakeLists.txt b/data/graphics/gui/CMakeLists.txt
index a7c21e5e..92a1e3ef 100644
--- a/data/graphics/gui/CMakeLists.txt
+++ b/data/graphics/gui/CMakeLists.txt
@@ -32,12 +32,6 @@ SET (FILES
tab.png
tab_hilight.png
tabselected.png
- target-cursor-blue-l.png
- target-cursor-blue-m.png
- target-cursor-blue-s.png
- target-cursor-red-l.png
- target-cursor-red-m.png
- target-cursor-red-s.png
unknown-item.png
vscroll_down_default.png
vscroll_down_highlight.png
diff --git a/data/graphics/gui/target-cursor-blue-l.png b/data/graphics/target-cursor-in-range-l.png
index 77cdf4b6..77cdf4b6 100644
--- a/data/graphics/gui/target-cursor-blue-l.png
+++ b/data/graphics/target-cursor-in-range-l.png
Binary files differ
diff --git a/data/graphics/gui/target-cursor-blue-m.png b/data/graphics/target-cursor-in-range-m.png
index c0107357..c0107357 100644
--- a/data/graphics/gui/target-cursor-blue-m.png
+++ b/data/graphics/target-cursor-in-range-m.png
Binary files differ
diff --git a/data/graphics/gui/target-cursor-blue-s.png b/data/graphics/target-cursor-in-range-s.png
index 3e81c75d..3e81c75d 100644
--- a/data/graphics/gui/target-cursor-blue-s.png
+++ b/data/graphics/target-cursor-in-range-s.png
Binary files differ
diff --git a/data/graphics/gui/target-cursor-red-l.png b/data/graphics/target-cursor-normal-l.png
index 76d2101b..76d2101b 100644
--- a/data/graphics/gui/target-cursor-red-l.png
+++ b/data/graphics/target-cursor-normal-l.png
Binary files differ
diff --git a/data/graphics/gui/target-cursor-red-m.png b/data/graphics/target-cursor-normal-m.png
index e2ab79c2..e2ab79c2 100644
--- a/data/graphics/gui/target-cursor-red-m.png
+++ b/data/graphics/target-cursor-normal-m.png
Binary files differ
diff --git a/data/graphics/gui/target-cursor-red-s.png b/data/graphics/target-cursor-normal-s.png
index 09195f44..09195f44 100644
--- a/data/graphics/gui/target-cursor-red-s.png
+++ b/data/graphics/target-cursor-normal-s.png
Binary files differ
diff --git a/mana.cbp b/mana.cbp
index 1d8fd131..f6c5d1d1 100644
--- a/mana.cbp
+++ b/mana.cbp
@@ -111,6 +111,12 @@
<Unit filename="libs\enet\win32.c" />
<Unit filename="src\SDLMain.h" />
<Unit filename="src\SDLMain.m" />
+ <Unit filename="src\actor.cpp" />
+ <Unit filename="src\actor.h" />
+ <Unit filename="src\actorsprite.cpp" />
+ <Unit filename="src\actorsprite.h" />
+ <Unit filename="src\actorspritemanager.cpp" />
+ <Unit filename="src\actorspritemanager.h" />
<Unit filename="src\animatedsprite.cpp" />
<Unit filename="src\animatedsprite.h" />
<Unit filename="src\animationparticle.cpp" />
@@ -119,28 +125,31 @@
<Unit filename="src\avatar.h" />
<Unit filename="src\being.cpp" />
<Unit filename="src\being.h" />
- <Unit filename="src\beingmanager.cpp" />
- <Unit filename="src\beingmanager.h" />
<Unit filename="src\channel.cpp" />
<Unit filename="src\channel.h" />
<Unit filename="src\channelmanager.cpp" />
<Unit filename="src\channelmanager.h" />
+ <Unit filename="src\chatlog.cpp" />
+ <Unit filename="src\chatlog.h" />
<Unit filename="src\client.cpp" />
<Unit filename="src\client.h" />
<Unit filename="src\commandhandler.cpp" />
<Unit filename="src\commandhandler.h" />
- <Unit filename="src\configlistener.h" />
+ <Unit filename="src\compoundsprite.cpp" />
+ <Unit filename="src\compoundsprite.h" />
<Unit filename="src\configuration.cpp" />
<Unit filename="src\configuration.h" />
+ <Unit filename="src\defaults.cpp" />
+ <Unit filename="src\defaults.h" />
<Unit filename="src\effectmanager.cpp" />
<Unit filename="src\effectmanager.h" />
<Unit filename="src\emoteshortcut.cpp" />
<Unit filename="src\emoteshortcut.h" />
<Unit filename="src\equipment.h" />
+ <Unit filename="src\event.cpp" />
+ <Unit filename="src\event.h" />
<Unit filename="src\flooritem.cpp" />
<Unit filename="src\flooritem.h" />
- <Unit filename="src\flooritemmanager.cpp" />
- <Unit filename="src\flooritemmanager.h" />
<Unit filename="src\game.cpp" />
<Unit filename="src\game.h" />
<Unit filename="src\graphics.cpp" />
@@ -243,8 +252,6 @@
<Unit filename="src\gui\textdialog.h" />
<Unit filename="src\gui\textpopup.cpp" />
<Unit filename="src\gui\textpopup.h" />
- <Unit filename="src\gui\theme.cpp" />
- <Unit filename="src\gui\theme.h" />
<Unit filename="src\gui\trade.cpp" />
<Unit filename="src\gui\trade.h" />
<Unit filename="src\gui\truetypefont.cpp" />
@@ -252,8 +259,6 @@
<Unit filename="src\gui\unregisterdialog.cpp" />
<Unit filename="src\gui\unregisterdialog.h" />
<Unit filename="src\gui\updatewindow.cpp" />
- <Unit filename="src\gui\userpalette.cpp" />
- <Unit filename="src\gui\userpalette.h" />
<Unit filename="src\gui\updatewindow.h" />
<Unit filename="src\gui\viewport.cpp" />
<Unit filename="src\gui\viewport.h" />
@@ -355,6 +360,8 @@
<Unit filename="src\guild.h" />
<Unit filename="src\imageparticle.cpp" />
<Unit filename="src\imageparticle.h" />
+ <Unit filename="src\imagesprite.cpp" />
+ <Unit filename="src\imagesprite.h" />
<Unit filename="src\inventory.cpp" />
<Unit filename="src\inventory.h" />
<Unit filename="src\item.cpp" />
@@ -365,6 +372,8 @@
<Unit filename="src\joystick.h" />
<Unit filename="src\keyboardconfig.cpp" />
<Unit filename="src\keyboardconfig.h" />
+ <Unit filename="src\listener.cpp" />
+ <Unit filename="src\listener.h" />
<Unit filename="src\localplayer.cpp" />
<Unit filename="src\localplayer.h" />
<Unit filename="src\log.cpp" />
@@ -376,60 +385,12 @@
</Unit>
<Unit filename="src\map.cpp" />
<Unit filename="src\map.h" />
- <Unit filename="src\monster.cpp" />
- <Unit filename="src\monster.h" />
<Unit filename="src\net\adminhandler.h" />
<Unit filename="src\net\charhandler.cpp" />
<Unit filename="src\net\charhandler.h" />
<Unit filename="src\net\chathandler.h" />
<Unit filename="src\net\download.cpp" />
<Unit filename="src\net\download.h" />
- <Unit filename="src\net\tmwa\adminhandler.cpp" />
- <Unit filename="src\net\tmwa\adminhandler.h" />
- <Unit filename="src\net\tmwa\beinghandler.cpp" />
- <Unit filename="src\net\tmwa\beinghandler.h" />
- <Unit filename="src\net\tmwa\buysellhandler.cpp" />
- <Unit filename="src\net\tmwa\buysellhandler.h" />
- <Unit filename="src\net\tmwa\charserverhandler.cpp" />
- <Unit filename="src\net\tmwa\charserverhandler.h" />
- <Unit filename="src\net\tmwa\chathandler.cpp" />
- <Unit filename="src\net\tmwa\chathandler.h" />
- <Unit filename="src\net\tmwa\gamehandler.cpp" />
- <Unit filename="src\net\tmwa\gamehandler.h" />
- <Unit filename="src\net\tmwa\generalhandler.cpp" />
- <Unit filename="src\net\tmwa\generalhandler.h" />
- <Unit filename="src\net\tmwa\gui\guildtab.cpp" />
- <Unit filename="src\net\tmwa\gui\guildtab.h" />
- <Unit filename="src\net\tmwa\gui\partytab.cpp" />
- <Unit filename="src\net\tmwa\gui\partytab.h" />
- <Unit filename="src\net\tmwa\guildhandler.cpp" />
- <Unit filename="src\net\tmwa\guildhandler.h" />
- <Unit filename="src\net\tmwa\inventoryhandler.cpp" />
- <Unit filename="src\net\tmwa\inventoryhandler.h" />
- <Unit filename="src\net\tmwa\itemhandler.cpp" />
- <Unit filename="src\net\tmwa\itemhandler.h" />
- <Unit filename="src\net\tmwa\loginhandler.cpp" />
- <Unit filename="src\net\tmwa\loginhandler.h" />
- <Unit filename="src\net\tmwa\messagehandler.cpp" />
- <Unit filename="src\net\tmwa\messagehandler.h" />
- <Unit filename="src\net\tmwa\messagein.cpp" />
- <Unit filename="src\net\tmwa\messagein.h" />
- <Unit filename="src\net\tmwa\messageout.cpp" />
- <Unit filename="src\net\tmwa\messageout.h" />
- <Unit filename="src\net\tmwa\network.cpp" />
- <Unit filename="src\net\tmwa\network.h" />
- <Unit filename="src\net\tmwa\npchandler.cpp" />
- <Unit filename="src\net\tmwa\npchandler.h" />
- <Unit filename="src\net\tmwa\partyhandler.cpp" />
- <Unit filename="src\net\tmwa\partyhandler.h" />
- <Unit filename="src\net\tmwa\playerhandler.cpp" />
- <Unit filename="src\net\tmwa\playerhandler.h" />
- <Unit filename="src\net\tmwa\protocol.h" />
- <Unit filename="src\net\tmwa\specialhandler.cpp" />
- <Unit filename="src\net\tmwa\specialhandler.h" />
- <Unit filename="src\net\tmwa\token.h" />
- <Unit filename="src\net\tmwa\tradehandler.cpp" />
- <Unit filename="src\net\tmwa\tradehandler.h" />
<Unit filename="src\net\gamehandler.h" />
<Unit filename="src\net\generalhandler.h" />
<Unit filename="src\net\guildhandler.h" />
@@ -438,6 +399,8 @@
<Unit filename="src\net\loginhandler.h" />
<Unit filename="src\net\manaserv\adminhandler.cpp" />
<Unit filename="src\net\manaserv\adminhandler.h" />
+ <Unit filename="src\net\manaserv\attributes.cpp" />
+ <Unit filename="src\net\manaserv\attributes.h" />
<Unit filename="src\net\manaserv\beinghandler.cpp" />
<Unit filename="src\net\manaserv\beinghandler.h" />
<Unit filename="src\net\manaserv\buysellhandler.cpp" />
@@ -448,6 +411,7 @@
<Unit filename="src\net\manaserv\chathandler.h" />
<Unit filename="src\net\manaserv\connection.cpp" />
<Unit filename="src\net\manaserv\connection.h" />
+ <Unit filename="src\net\manaserv\defines.h" />
<Unit filename="src\net\manaserv\effecthandler.cpp" />
<Unit filename="src\net\manaserv\effecthandler.h" />
<Unit filename="src\net\manaserv\gamehandler.cpp" />
@@ -481,8 +445,6 @@
<Unit filename="src\net\manaserv\protocol.h" />
<Unit filename="src\net\manaserv\specialhandler.cpp" />
<Unit filename="src\net\manaserv\specialhandler.h" />
- <Unit filename="src\net\manaserv\stats.cpp" />
- <Unit filename="src\net\manaserv\stats.h" />
<Unit filename="src\net\manaserv\tradehandler.cpp" />
<Unit filename="src\net\manaserv\tradehandler.h" />
<Unit filename="src\net\messagehandler.h" />
@@ -497,10 +459,54 @@
<Unit filename="src\net\playerhandler.h" />
<Unit filename="src\net\serverinfo.h" />
<Unit filename="src\net\specialhandler.h" />
+ <Unit filename="src\net\tmwa\adminhandler.cpp" />
+ <Unit filename="src\net\tmwa\adminhandler.h" />
+ <Unit filename="src\net\tmwa\beinghandler.cpp" />
+ <Unit filename="src\net\tmwa\beinghandler.h" />
+ <Unit filename="src\net\tmwa\buysellhandler.cpp" />
+ <Unit filename="src\net\tmwa\buysellhandler.h" />
+ <Unit filename="src\net\tmwa\charserverhandler.cpp" />
+ <Unit filename="src\net\tmwa\charserverhandler.h" />
+ <Unit filename="src\net\tmwa\chathandler.cpp" />
+ <Unit filename="src\net\tmwa\chathandler.h" />
+ <Unit filename="src\net\tmwa\gamehandler.cpp" />
+ <Unit filename="src\net\tmwa\gamehandler.h" />
+ <Unit filename="src\net\tmwa\generalhandler.cpp" />
+ <Unit filename="src\net\tmwa\generalhandler.h" />
+ <Unit filename="src\net\tmwa\gui\guildtab.cpp" />
+ <Unit filename="src\net\tmwa\gui\guildtab.h" />
+ <Unit filename="src\net\tmwa\gui\partytab.cpp" />
+ <Unit filename="src\net\tmwa\gui\partytab.h" />
+ <Unit filename="src\net\tmwa\guildhandler.cpp" />
+ <Unit filename="src\net\tmwa\guildhandler.h" />
+ <Unit filename="src\net\tmwa\inventoryhandler.cpp" />
+ <Unit filename="src\net\tmwa\inventoryhandler.h" />
+ <Unit filename="src\net\tmwa\itemhandler.cpp" />
+ <Unit filename="src\net\tmwa\itemhandler.h" />
+ <Unit filename="src\net\tmwa\loginhandler.cpp" />
+ <Unit filename="src\net\tmwa\loginhandler.h" />
+ <Unit filename="src\net\tmwa\messagehandler.cpp" />
+ <Unit filename="src\net\tmwa\messagehandler.h" />
+ <Unit filename="src\net\tmwa\messagein.cpp" />
+ <Unit filename="src\net\tmwa\messagein.h" />
+ <Unit filename="src\net\tmwa\messageout.cpp" />
+ <Unit filename="src\net\tmwa\messageout.h" />
+ <Unit filename="src\net\tmwa\network.cpp" />
+ <Unit filename="src\net\tmwa\network.h" />
+ <Unit filename="src\net\tmwa\npchandler.cpp" />
+ <Unit filename="src\net\tmwa\npchandler.h" />
+ <Unit filename="src\net\tmwa\partyhandler.cpp" />
+ <Unit filename="src\net\tmwa\partyhandler.h" />
+ <Unit filename="src\net\tmwa\playerhandler.cpp" />
+ <Unit filename="src\net\tmwa\playerhandler.h" />
+ <Unit filename="src\net\tmwa\protocol.h" />
+ <Unit filename="src\net\tmwa\specialhandler.cpp" />
+ <Unit filename="src\net\tmwa\specialhandler.h" />
+ <Unit filename="src\net\tmwa\token.h" />
+ <Unit filename="src\net\tmwa\tradehandler.cpp" />
+ <Unit filename="src\net\tmwa\tradehandler.h" />
<Unit filename="src\net\tradehandler.h" />
<Unit filename="src\net\worldinfo.h" />
- <Unit filename="src\npc.cpp" />
- <Unit filename="src\npc.h" />
<Unit filename="src\openglgraphics.cpp" />
<Unit filename="src\openglgraphics.h" />
<Unit filename="src\particle.cpp" />
@@ -512,8 +518,8 @@
<Unit filename="src\particleemitterprop.h" />
<Unit filename="src\party.cpp" />
<Unit filename="src\party.h" />
- <Unit filename="src\player.cpp" />
- <Unit filename="src\player.h" />
+ <Unit filename="src\playerinfo.cpp" />
+ <Unit filename="src\playerinfo.h" />
<Unit filename="src\playerrelations.cpp" />
<Unit filename="src\playerrelations.h" />
<Unit filename="src\position.cpp" />
@@ -525,6 +531,8 @@
<Unit filename="src\resources\ambientlayer.h" />
<Unit filename="src\resources\animation.cpp" />
<Unit filename="src\resources\animation.h" />
+ <Unit filename="src\resources\beinginfo.cpp" />
+ <Unit filename="src\resources\beinginfo.h" />
<Unit filename="src\resources\colordb.cpp" />
<Unit filename="src\resources\colordb.h" />
<Unit filename="src\resources\dye.cpp" />
@@ -547,8 +555,6 @@
<Unit filename="src\resources\mapreader.h" />
<Unit filename="src\resources\monsterdb.cpp" />
<Unit filename="src\resources\monsterdb.h" />
- <Unit filename="src\resources\monsterinfo.cpp" />
- <Unit filename="src\resources\monsterinfo.h" />
<Unit filename="src\resources\music.cpp" />
<Unit filename="src\resources\music.h" />
<Unit filename="src\resources\npcdb.cpp" />
@@ -559,8 +565,14 @@
<Unit filename="src\resources\resourcemanager.h" />
<Unit filename="src\resources\soundeffect.cpp" />
<Unit filename="src\resources\soundeffect.h" />
+ <Unit filename="src\resources\specialdb.cpp" />
+ <Unit filename="src\resources\specialdb.h" />
<Unit filename="src\resources\spritedef.cpp" />
<Unit filename="src\resources\spritedef.h" />
+ <Unit filename="src\resources\theme.cpp" />
+ <Unit filename="src\resources\theme.h" />
+ <Unit filename="src\resources\userpalette.cpp" />
+ <Unit filename="src\resources\userpalette.h" />
<Unit filename="src\resources\wallpaper.cpp" />
<Unit filename="src\resources\wallpaper.h" />
<Unit filename="src\rotationalparticle.cpp" />
@@ -604,6 +616,7 @@
<Unit filename="src\utils\xml.h" />
<Unit filename="src\utils\zlib.cpp" />
<Unit filename="src\utils\zlib.h" />
+ <Unit filename="src\variabledata.h" />
<Unit filename="src\vector.cpp" />
<Unit filename="src\vector.h" />
<Unit filename="src\winver.h" />
diff --git a/mana.files b/mana.files
index ca1f4faf..69d32d66 100644
--- a/mana.files
+++ b/mana.files
@@ -40,6 +40,12 @@
./packaging/windows/portable.xml
./packaging/windows/readme.txt
./po/CMakeLists.txt
+./src/actor.cpp
+./src/actor.h
+./src/actorsprite.cpp
+./src/actorsprite.h
+./src/actorspritemanager.cpp
+./src/actorspritemanager.h
./src/animatedsprite.cpp
./src/animatedsprite.h
./src/animationparticle.cpp
@@ -48,29 +54,32 @@
./src/avatar.h
./src/being.cpp
./src/being.h
-./src/beingmanager.cpp
-./src/beingmanager.h
./src/channel.cpp
./src/channel.h
./src/channelmanager.cpp
./src/channelmanager.h
+./src/chatlog.cpp
+./src/chatlog.h
./src/client.cpp
./src/client.h
./src/CMakeLists.txt
./src/commandhandler.cpp
./src/commandhandler.h
-./src/configlistener.h
+./src/compoundsprite.cpp
+./src/compoundsprite.h
./src/configuration.cpp
./src/configuration.h
+./src/defaults.cpp
+./src/defaults.h
./src/effectmanager.cpp
./src/effectmanager.h
./src/emoteshortcut.cpp
./src/emoteshortcut.h
./src/equipment.h
+./src/event.cpp
+./src/event.h
./src/flooritem.cpp
./src/flooritem.h
-./src/flooritemmanager.cpp
-./src/flooritemmanager.h
./src/game.cpp
./src/game.h
./src/graphics.cpp
@@ -176,8 +185,6 @@
./src/gui/textdialog.h
./src/gui/textpopup.cpp
./src/gui/textpopup.h
-./src/gui/theme.cpp
-./src/gui/theme.h
./src/gui/trade.cpp
./src/gui/trade.h
./src/gui/truetypefont.cpp
@@ -186,8 +193,6 @@
./src/gui/unregisterdialog.h
./src/gui/updatewindow.cpp
./src/gui/updatewindow.h
-./src/gui/userpalette.cpp
-./src/gui/userpalette.h
./src/gui/viewport.cpp
./src/gui/viewport.h
./src/gui/widgets/avatarlistbox.cpp
@@ -285,6 +290,8 @@
./src/gui/worldselectdialog.h
./src/imageparticle.cpp
./src/imageparticle.h
+./src/imagesprite.cpp
+./src/imagesprite.h
./src/inventory.cpp
./src/inventory.h
./src/item.cpp
@@ -295,6 +302,8 @@
./src/joystick.h
./src/keyboardconfig.cpp
./src/keyboardconfig.h
+./src/listener.cpp
+./src/listener.h
./src/localplayer.cpp
./src/localplayer.h
./src/log.cpp
@@ -303,8 +312,6 @@
./src/main.h
./src/map.cpp
./src/map.h
-./src/monster.cpp
-./src/monster.h
./src/net/adminhandler.h
./src/net/charhandler.cpp
./src/net/charhandler.h
@@ -319,6 +326,8 @@
./src/net/loginhandler.h
./src/net/manaserv/adminhandler.cpp
./src/net/manaserv/adminhandler.h
+./src/net/manaserv/attributes.cpp
+./src/net/manaserv/attributes.h
./src/net/manaserv/beinghandler.cpp
./src/net/manaserv/beinghandler.h
./src/net/manaserv/buysellhandler.cpp
@@ -329,6 +338,7 @@
./src/net/manaserv/chathandler.h
./src/net/manaserv/connection.cpp
./src/net/manaserv/connection.h
+./src/net/manaserv/defines.h
./src/net/manaserv/effecthandler.cpp
./src/net/manaserv/effecthandler.h
./src/net/manaserv/gamehandler.cpp
@@ -345,6 +355,7 @@
./src/net/manaserv/itemhandler.h
./src/net/manaserv/loginhandler.cpp
./src/net/manaserv/loginhandler.h
+./src/net/manaserv/manaserv_protocol.h
./src/net/manaserv/messagehandler.cpp
./src/net/manaserv/messagehandler.h
./src/net/manaserv/messagein.cpp
@@ -359,11 +370,8 @@
./src/net/manaserv/partyhandler.h
./src/net/manaserv/playerhandler.cpp
./src/net/manaserv/playerhandler.h
-./src/net/manaserv/protocol.h
./src/net/manaserv/specialhandler.cpp
./src/net/manaserv/specialhandler.h
-./src/net/manaserv/stats.cpp
-./src/net/manaserv/stats.h
./src/net/manaserv/tradehandler.cpp
./src/net/manaserv/tradehandler.h
./src/net/messagehandler.h
@@ -426,8 +434,6 @@
./src/net/tmwa/tradehandler.h
./src/net/tradehandler.h
./src/net/worldinfo.h
-./src/npc.cpp
-./src/npc.h
./src/openglgraphics.cpp
./src/openglgraphics.h
./src/particlecontainer.cpp
@@ -439,8 +445,8 @@
./src/particle.h
./src/party.cpp
./src/party.h
-./src/player.cpp
-./src/player.h
+./src/playerinfo.cpp
+./src/playerinfo.h
./src/playerrelations.cpp
./src/playerrelations.h
./src/position.cpp
@@ -452,6 +458,8 @@
./src/resources/ambientlayer.h
./src/resources/animation.cpp
./src/resources/animation.h
+./src/resources/beinginfo.cpp
+./src/resources/beinginfo.h
./src/resources/colordb.cpp
./src/resources/colordb.h
./src/resources/dye.cpp
@@ -474,8 +482,6 @@
./src/resources/mapreader.h
./src/resources/monsterdb.cpp
./src/resources/monsterdb.h
-./src/resources/monsterinfo.cpp
-./src/resources/monsterinfo.h
./src/resources/music.cpp
./src/resources/music.h
./src/resources/npcdb.cpp
@@ -486,8 +492,14 @@
./src/resources/resourcemanager.h
./src/resources/soundeffect.cpp
./src/resources/soundeffect.h
+./src/resources/specialdb.cpp
+./src/resources/specialdb.h
./src/resources/spritedef.cpp
./src/resources/spritedef.h
+./src/resources/theme.cpp
+./src/resources/theme.h
+./src/resources/userpalette.cpp
+./src/resources/userpalette.h
./src/resources/wallpaper.cpp
./src/resources/wallpaper.h
./src/rotationalparticle.cpp
@@ -532,6 +544,7 @@
./src/utils/xml.h
./src/utils/zlib.cpp
./src/utils/zlib.h
+./src/variabledata.h
./src/vector.cpp
./src/vector.h
./src/winver.h
diff --git a/packaging/windows/setup.nsi b/packaging/windows/setup.nsi
index 221b60d6..c845e687 100644
--- a/packaging/windows/setup.nsi
+++ b/packaging/windows/setup.nsi
@@ -205,6 +205,8 @@ Section "Core files (required)" SecCore
File "${SRCDIR}\README.txt"
SetOutPath "$INSTDIR\data\fonts"
File "${SRCDIR}\data\fonts\*.ttf"
+ SetOutPath "$INSTDIR\data\graphics"
+ File "${SRCDIR}\data\graphics\*.png"
SetOutPath "$INSTDIR\data\graphics\gui"
File "${SRCDIR}\data\graphics\gui\*.png"
File "${SRCDIR}\data\graphics\gui\*.xml"
diff --git a/po/ar.po b/po/ar.po
index 08a461b1..a14f609c 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-06-08 22:01+0000\n"
"Last-Translator: Thorbjørn Lindeijer <bjorn@lindeijer.nl>\n"
"Language-Team: Arabic <ar@li.org>\n"
@@ -20,475 +20,455 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "تثبيت"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "جار٠الاتّصال..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "ولوج"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "إنتقاء الشخصيّة"
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "تغيير"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "خطأ"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "كلمة السرّ:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "تغيير"
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "إلغاء التسجيل"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr ""
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr ""
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr ""
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr ""
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr ""
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -497,39 +477,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -543,34 +523,34 @@ msgstr ""
msgid "Buy"
msgstr "شراء"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "مغادرة"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -584,11 +564,11 @@ msgstr "بيع"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "إلغاء"
@@ -661,14 +641,14 @@ msgstr "إنشاء شخصيّة"
msgid "Name:"
msgstr "الاسم:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -685,8 +665,8 @@ msgstr "لون الشعر:"
msgid "Hair style:"
msgstr "قصّة الشعر:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "إنشاء"
@@ -742,8 +722,8 @@ msgstr "إلغاء التسجيل"
msgid "Change Email"
msgstr "تغيير"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "حذÙ"
@@ -751,24 +731,24 @@ msgstr "حذÙ"
msgid "Choose"
msgstr ""
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -834,8 +814,8 @@ msgstr "مؤثّرات محيطة"
msgid "Equipment"
msgstr "العتاد"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "تجريد من العتاد"
@@ -843,7 +823,7 @@ msgstr "تجريد من العتاد"
msgid "Help"
msgstr ""
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -855,81 +835,84 @@ msgstr "الجردة"
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "استعمال العتاد"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "استخدام"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "إسقاط"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "قسم"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "إسقاط"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr ""
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "انتقاء كمّيّة من المواد للمتاجرة بها."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "انتقاء كمّيّة من المواد لإسقاطها."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "انتقاء كمّيّة من المواد لقسمها."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "التأثير: %s"
@@ -959,40 +942,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "التّالي"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1007,7 +990,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1094,7 +1077,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1166,59 +1149,59 @@ msgstr "يجب أن يكون طول كلمة السرّ أقل من %d محارÙ
msgid "Passwords do not match."
msgstr "كلمات السرّ غير متطابقة."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "الخادوم:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "المنÙØ°:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "الخادوم:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "جار٠الاتّصال..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "مؤشّر مخصّص"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "رجاء طباعة عنوان ومنÙØ° الخادوم."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1255,50 +1238,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1382,27 +1365,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1458,491 +1445,462 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "ملء الشاشة"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "مؤشّر مخصّص"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "حدّ FPS:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "مرئية"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "عتمة واجهة المستخدم"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "مؤثّرات محيطة"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "لا"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "جار٠ملء الشاشة"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "يجب إعادة التشغيل لتÙعّل التغييرات."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "تغيير OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "تطبيق التغيير على OpenGL يحتاج لإعادة تشغيل."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "مهارات"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "مهارات"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "المستوى: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "المستوى: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "هل أنت متأكّد من حذ٠هذه الشخصيّة؟"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "هل أنت متأكّد من حذ٠هذه الشخصيّة؟"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "إنشاء شخصيّة"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "المستوى: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "النقود: %d"
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "إحصائيات الشخصيّة جيّدة"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "المستوى: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "اقتراح متاجرة"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "إضاÙØ©"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "أنت تقدّم:"
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "أنت تقدّم:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "تغيير"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1981,78 +1939,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2129,53 +2015,53 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2200,482 +2086,495 @@ msgstr "تغيير"
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
msgid " -h --help : Display this help"
msgstr ""
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "أنت تقدّم:"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "إحصائيات الشخصيّة جيّدة"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "إحصائيات الشخصيّة جيّدة"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
msgid "Unknown error."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "انتقاء كمّيّة من المواد للمتاجرة بها."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, c-format
msgid "Unknown error (%d)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
msgid "Unknown channel event."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2752,11 +2651,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2766,187 +2665,134 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "قوّة الذات:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
msgid "Unknown char-server failure."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "القوّة:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Ø®Ùّة الحركة:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "نشاط:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "ذكاء:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "المهارة:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2960,73 +2806,118 @@ msgstr "الاسم:"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "دÙاع %+d"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "مهاجمة %+d"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "دÙاع %+d"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3071,27 +2962,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3167,15 +3058,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3183,15 +3074,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3199,15 +3090,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3264,7 +3155,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3272,242 +3163,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3523,58 +3409,61 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "مهاجمة %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "دÙاع %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "النقود: %d"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "المستوى: %d"
+
#~ msgid "Willpower:"
#~ msgstr "قوّة الذات:"
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "قوّة الذات:"
+
#~ msgid "Description: %s"
#~ msgstr "الوصÙ: %s"
diff --git a/po/bg.po b/po/bg.po
index c82a4f67..a098616a 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-10-21 13:06+0000\n"
"Last-Translator: Mila <Unknown>\n"
"Language-Team: Bulgarian <bg@li.org>\n"
@@ -19,468 +19,448 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr ""
-#: src/client.cpp:643
+#: src/client.cpp:679
msgid "Connecting to server"
msgstr ""
-#: src/client.cpp:670
+#: src/client.cpp:706
msgid "Logging in"
msgstr ""
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
msgid "Changing game servers"
msgstr ""
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr ""
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
msgid "Password Change"
msgstr ""
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Ðепозната команда."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Помощ --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr ""
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr ""
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr ""
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -489,39 +469,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -535,34 +515,34 @@ msgstr ""
msgid "Buy"
msgstr ""
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr ""
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -576,11 +556,11 @@ msgstr ""
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr ""
@@ -653,14 +633,14 @@ msgstr ""
msgid "Name:"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -675,8 +655,8 @@ msgstr ""
msgid "Hair style:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr ""
@@ -731,8 +711,8 @@ msgstr ""
msgid "Change Email"
msgstr ""
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr ""
@@ -740,24 +720,24 @@ msgstr ""
msgid "Choose"
msgstr ""
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -823,8 +803,8 @@ msgstr ""
msgid "Equipment"
msgstr ""
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -832,7 +812,7 @@ msgstr ""
msgid "Help"
msgstr ""
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -844,80 +824,83 @@ msgstr ""
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr ""
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr ""
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr ""
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, c-format
msgid "Weight: %s"
msgstr ""
@@ -946,40 +929,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr ""
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
msgid ""
"\n"
"> Next\n"
@@ -993,7 +976,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1079,7 +1062,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1151,56 +1134,56 @@ msgstr ""
msgid "Passwords do not match."
msgstr ""
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr ""
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr ""
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
msgid "Server type:"
msgstr ""
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
msgid "Connect"
msgstr ""
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
msgid "Custom Server"
msgstr ""
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1237,50 +1220,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1364,27 +1347,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1440,484 +1427,457 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
msgid "None"
msgstr ""
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr ""
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, c-format
msgid "Skill %d"
msgstr ""
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, c-format
msgid "Lvl: %d (%+d)"
msgstr ""
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, c-format
msgid "Lvl: %d"
msgstr ""
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, c-format
msgid "Are you sure you want to leave party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
msgid "Create Party"
msgstr ""
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-msgid "Money"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-msgid "Level"
-msgstr ""
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1956,78 +1916,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2104,53 +1992,53 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2174,388 +2062,401 @@ msgstr ""
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
msgid " -h --help : Display this help"
msgstr ""
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2563,91 +2464,91 @@ msgstr ""
msgid "Unknown error."
msgstr "Ðепозната команда."
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Ðепозната команда."
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Ðепозната команда."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2724,11 +2625,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2738,187 +2639,135 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Ðепозната команда."
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2931,70 +2780,115 @@ msgstr ""
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
msgid "Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3039,27 +2933,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3135,15 +3029,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3151,15 +3045,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3167,15 +3061,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3231,7 +3125,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3239,242 +3133,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3490,51 +3379,42 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
diff --git a/po/ca.po b/po/ca.po
index 6e15af1b..6863372c 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-06-08 22:01+0000\n"
"Last-Translator: Thorbjørn Lindeijer <bjorn@lindeijer.nl>\n"
"Language-Team: Catalan <ca@li.org>\n"
@@ -19,470 +19,450 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr ""
-#: src/client.cpp:643
+#: src/client.cpp:679
msgid "Connecting to server"
msgstr ""
-#: src/client.cpp:670
+#: src/client.cpp:706
msgid "Logging in"
msgstr ""
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "canvi"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr ""
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
msgid "Password Change"
msgstr ""
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "canvi"
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr ""
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr ""
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr ""
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr ""
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr ""
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -491,39 +471,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -537,34 +517,34 @@ msgstr ""
msgid "Buy"
msgstr ""
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "sortir"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -578,11 +558,11 @@ msgstr ""
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr ""
@@ -655,14 +635,14 @@ msgstr ""
msgid "Name:"
msgstr "nom"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -677,8 +657,8 @@ msgstr ""
msgid "Hair style:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr ""
@@ -734,8 +714,8 @@ msgstr ""
msgid "Change Email"
msgstr "canvi"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr ""
@@ -743,24 +723,24 @@ msgstr ""
msgid "Choose"
msgstr ""
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -826,8 +806,8 @@ msgstr ""
msgid "Equipment"
msgstr ""
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -835,7 +815,7 @@ msgstr ""
msgid "Help"
msgstr ""
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -847,80 +827,83 @@ msgstr ""
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr ""
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr ""
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr ""
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, c-format
msgid "Weight: %s"
msgstr ""
@@ -950,40 +933,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr ""
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
msgid ""
"\n"
"> Next\n"
@@ -997,7 +980,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1083,7 +1066,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1155,56 +1138,56 @@ msgstr ""
msgid "Passwords do not match."
msgstr ""
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr ""
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr ""
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
msgid "Server type:"
msgstr ""
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
msgid "Connect"
msgstr ""
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
msgid "Custom Server"
msgstr ""
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1241,50 +1224,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1368,27 +1351,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1444,485 +1431,458 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "no"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr ""
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, c-format
msgid "Skill %d"
msgstr ""
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, c-format
msgid "Lvl: %d (%+d)"
msgstr ""
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, c-format
msgid "Lvl: %d"
msgstr ""
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, c-format
msgid "Are you sure you want to leave party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
msgid "Create Party"
msgstr ""
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-msgid "Money"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-msgid "Level"
-msgstr ""
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "canvi"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1961,78 +1921,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2109,53 +1997,53 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2180,478 +2068,491 @@ msgstr "canvi"
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
msgid " -h --help : Display this help"
msgstr ""
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
msgid "Unknown error."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, c-format
msgid "Unknown error (%d)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
msgid "Unknown channel event."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2728,11 +2629,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2742,186 +2643,134 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
msgid "Unknown char-server failure."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2935,70 +2784,115 @@ msgstr "nom"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
msgid "Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3043,27 +2937,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3139,15 +3033,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3155,15 +3049,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3171,15 +3065,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3235,7 +3129,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3243,242 +3137,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3494,52 +3383,43 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
diff --git a/po/cs.po b/po/cs.po
index e9bc185f..4fb50c54 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-12-04 15:16+0000\n"
"Last-Translator: David KolibÃ¡Ä <david@kolibac.cz>\n"
"Language-Team: Czech <cs@li.org>\n"
@@ -19,484 +19,461 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Nastavení"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Čeká se na server"
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Přihlášení"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Vyber postavu"
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Server"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Chyba"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Heslo:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Změnit"
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Zrušit registraci"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Neznámý příkaz."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Nápověda --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Zobrazit tuto nápovědu"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Zobrazit jméno mapy"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Zobrazit poÄet uživatelů on-line"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Říct něco o sobě"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > VyÄistit toto okno"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Odeslat soukromou zprávu uživateli"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Jiné oznaÄení pro msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Jiné oznaÄení pro msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > Založit kartu pro soukromé zprávy jinému uživateli"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > Jiné oznaÄení pro query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Zobrazit seznam všech veřejných kanálů"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Připojit se, nebo vytvořit kanál"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/party >Pozvat uživatele do party"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party >Pozvat uživatele do party"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > Spustit nahrávání záznamu chatu do externího souboru"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Globální oznámení (jen GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Pro bližší informace zadejte /help <command>."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Příkaz: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Tento příkaz zobrazí seznam všech příkazů, které jsou k dispozici."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Příkaz: /help <command>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Tento příkaz zobrazí nápovědu k <command>."
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Příkaz: /announce <msg>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** K dispozici pouze pro GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "Tento příkaz odeÅ¡le zprávu <msg> vÅ¡em hráÄům, kteří jsou on-line."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Příkaz: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Tento příkaz vyÄistí záznam pÅ™edchozího chatu."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Příkaz: /join <channel>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Tento příkaz zobrazí poÄet hráÄů, kteří jsou momentálnÄ› online."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Příkaz: /join <channel>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Tento příkaz vás připojí ke kanálu <channel>."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Pokud <channel> neexistuje, bude vytvořen."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Příkaz: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Tento příkaz zobrazí seznam všech kanálů."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Příkaz: /me <message>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Příkaz: /msg <nick> <message>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Příkaz: /whisper <nick> <message>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Příkaz: /w <nick> <message>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Tento příkaz odešle zprávu <message> uživateli <nick>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr "Pokud <nick> obsahuje mezeru, uzavřete jej do uvozovek (\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Příkaz: /query <nick>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Příkaz: /q <nick>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Příkaz: /w <nick> <message>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Příkaz: /clear"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Tento příkaz vyÄistí záznam pÅ™edchozího chatu."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Příkaz: /party <nick>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Tento příkaz vás připojí ke kanálu <channel>."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Příkaz: /party <nick>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Příkaz: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Příkaz: /record <filename>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Příkaz: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Příkaz: /toggle <state>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Příkaz: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Příkaz: /announce <msg>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Tento příkaz zobrazí název aktuální mapy."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Tento příkaz zobrazí poÄet hráÄů, kteří jsou momentálnÄ› online."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -505,42 +482,42 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Snímek obrazovky uložen do ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Ukládání snímku obrazovky selhalo!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "PÅ™ipojení k serveru bylo ztraceno, program nyní bude ukonÄen"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Chyba sítě"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Ignorovat příchozí žádosti o obchodování"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Akceptovat příchozí žádosti o obchodování"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Nelze nahrát mapu"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Chyba pÅ™i naÄítání %s"
@@ -554,34 +531,34 @@ msgstr "Parta (%s)"
msgid "Buy"
msgstr "Nákup"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "UkonÄit"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "VÅ¡e"
@@ -595,11 +572,11 @@ msgstr "Prodej"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Zrušit"
@@ -674,14 +651,14 @@ msgstr "Vytvořit postavu"
msgid "Name:"
msgstr "Jméno:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -698,8 +675,8 @@ msgstr "Barva vlasů:"
msgid "Hair style:"
msgstr "ÚÄes:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Vytvořit"
@@ -755,8 +732,8 @@ msgstr "Zrušit registraci"
msgid "Change Email"
msgstr "Změnit e-mail"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Smazat"
@@ -765,24 +742,24 @@ msgstr "Smazat"
msgid "Choose"
msgstr "Barvy"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Chat"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d hráÄi jsou přítomni."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -848,8 +825,8 @@ msgstr ""
msgid "Equipment"
msgstr "Vybavení"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Odstranit z vybavení"
@@ -857,7 +834,7 @@ msgstr "Odstranit z vybavení"
msgid "Help"
msgstr "Pomoc"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -869,81 +846,84 @@ msgstr "Inventář"
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "Sloty:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Vybavit"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Použít"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Upustit"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Rozdělit"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Hmotnost:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Upustit"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "OK"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "VÅ¡e"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Vyberte množství předmětů, se kterými budete obchodovat."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Vyberte množství předmětů, které chcete upustit."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Hmotnost: "
@@ -974,40 +954,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Mapa"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Čeká se na server"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Další"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Reset"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1022,7 +1002,7 @@ msgstr ""
msgid "Send"
msgstr "Odeslat"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1110,7 +1090,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1182,61 +1162,61 @@ msgstr "Heslo musí být kratší než %d znaků."
msgid "Passwords do not match."
msgstr "Hesla se neshodují."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Vyberte si server"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Připojuji se..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Vlastní kurzor"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Prosím zadejte adresu a port serveru."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Čeká se na server"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1274,54 +1254,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Barvy"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Typ: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Puls"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Duha"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Spektrum"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Hrát"
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Červená: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Zelená: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1405,27 +1385,31 @@ msgstr ""
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Povolit obchodování"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "HráÄi"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1481,501 +1465,471 @@ msgstr "střední"
msgid "max"
msgstr "max"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Celá obrazovka"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Vlastní kurzor"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Video"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Velikost písma"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Ne"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Přepnout na celou obrazovku"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Pro uplatnění změn je potřeba restart."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Přepnout OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Změny v OpenGL vyžadují restart."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "Změny se projeví až po změně mapy."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Dovednosti"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Dovednosti"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Úroveň: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Úroveň: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Vytvořit guildu"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Opravdu chcete skonÄit?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party >Pozvat uživatele do party"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party >Pozvat uživatele do party"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Opravdu chcete skonÄit?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Vytvořit guildu"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Vytvořit postavu"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Pozvat uživatele"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Velký"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Přijmout pozvání od %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Odmítnout pozvání od %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Přijmout pozvání od %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Odmítnout pozvání od %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Guilda"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Vyberte si server"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s vás zve ke vstupu do party: %s"
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Přijmout pozvání do party"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s vás zve ke vstupu do své party."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s vás zve ke vstupu do party: %s"
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s vás zve ke vstupu do své party."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s vás zve ke vstupu do party: %s"
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Přijmout pozvání do party"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Parta"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Vyberte si server"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Úroveň: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Peníze: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Exp:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Peníze: %d"
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Úroveň: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Nabídnout obchod"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Souhlasit s obchodem"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Obchod"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Přidat"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Změnit"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Nemáte dost peněz."
@@ -2014,82 +1968,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Jména ostatních hráÄů"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "Jména GM"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Monstra"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Parta"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Guilda"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Jména ostatních hráÄů"
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Kritický zásah"
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Kritický zásah"
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2166,55 +2044,55 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Globální oznámení:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Globální oznámení od %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Nelze poslat prázdný chat!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Příkaz: /record"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Tento příkaz zobrazí poÄet hráÄů, kteří jsou momentálnÄ› online."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2241,390 +2119,403 @@ msgstr "Změnit"
msgid "Choose World"
msgstr "Vyberte si server"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Útok"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Cíl & Útok"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "Smajlíky"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Zastavit Útok"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Monstra"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Sednout si"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Snímek obrazovky"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Nastavení:"
-#: src/main.cpp:44
+#: src/main.cpp:48
msgid " -v --version : Display the version"
msgstr ""
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr "/help > Zobrazit tuto nápovědu"
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2632,93 +2523,93 @@ msgstr ""
msgid "Unknown error."
msgstr "Neznámý předmět"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "Info"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Vyberte množství předmětů, se kterými budete obchodovat."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Neznámý příkaz."
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Příkaz: /join <channel>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Neznámý příkaz."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2801,11 +2692,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2815,189 +2706,136 @@ msgstr ""
msgid "%s rejected your invite."
msgstr "Odmítnout pozvání od %s."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Síla"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Hbitost"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Obratnost"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "Vitalita"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Inteligence"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Å eptat"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Děkuji za nákup."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Děkuji za prodej."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Neznámý předmět"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Síla:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Hbitost:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Vitalita:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Inteligence:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Obratnost:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Štěstí:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "HráÄ"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3011,73 +2849,118 @@ msgstr "Jméno"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Síla"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Hbitost"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "Vitalita"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Inteligence"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Obratnost"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Štěstí"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Obrana:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "M.Útok:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "M.Obrana:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Přesnost:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% Únik:"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "Kritický zásah"
@@ -3124,27 +3007,27 @@ msgstr "Tento příkaz odešle zprávu <message> uživateli <nick>."
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3220,15 +3103,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3236,15 +3119,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3252,15 +3135,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3319,7 +3202,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3327,242 +3210,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party >Pozvat uživatele do party"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3578,52 +3456,43 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Útok %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Obrana %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Neznámý předmět"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
@@ -3656,6 +3525,15 @@ msgstr ""
#~ msgid "Server"
#~ msgstr "Server"
+#~ msgid "Other Players' Names"
+#~ msgstr "Jména ostatních hráÄů"
+
+#~ msgid "GM Names"
+#~ msgstr "Jména GM"
+
+#~ msgid "Monsters"
+#~ msgstr "Monstra"
+
#~ msgid "Hats"
#~ msgstr "Klobouky"
@@ -3685,10 +3563,29 @@ msgstr ""
#~ msgid "Ammo"
#~ msgstr "Munice"
+#~ msgid "Critical Hit"
+#~ msgstr "Kritický zásah"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Exp:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Peníze: %d"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Úroveň: %d"
+
#, fuzzy
#~ msgid "Access denied."
#~ msgstr "Přístup zamítnut"
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Å eptat"
+
#~ msgid "no"
#~ msgstr "ne"
diff --git a/po/da.po b/po/da.po
index 6d0a284c..6b8b6e2f 100644
--- a/po/da.po
+++ b/po/da.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
-"PO-Revision-Date: 2010-12-06 19:31+0100\n"
-"Last-Translator: Yohann Ferreira <yohann ferreira orange fr>\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
+"PO-Revision-Date: 2009-07-25 17:33+0000\n"
+"Last-Translator: Niels L Ellegaard <niels.ellegaard@gmail.com>\n"
"Language-Team: Danish <none@none.none>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
@@ -19,285 +19,281 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Opsætning"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Opretter forbindelse til kort-serveren..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Log Ind"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Vælg Karakter"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "Opretter forbindelse til kort-serveren..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Server"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Fejl"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Adgangskode:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Ændre"
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Frameld"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "Ugyldig opdaterings host: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "Fejl under oprettelsen af opdateringen mappen!"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Ukendt kommando"
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "--Hjælp--"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Vis denne hjælpebesked"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Vis dine koordinater på kortet"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Vis antallet af spillere der er online"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Vis en beskrivelse af dig"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Sletter text i chat-vinduet."
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Send en privat besked til en spiller"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Samme som msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Samme som msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > Starter en privat samtale med en spiller"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > Samme som query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Vis alle offentlige chat-kanaler"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Deltag i en chat-kanal"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > Opret en ny gruppe"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > Inviter en spiller til din gruppe"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > Gem/ chat i en lokal fil"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > Afgør om et tryk på retur-knappen skal aktivere chatvinduet."
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
"/present > Vis en liste af alle spillere på serveren (Sendes til chat-loggen "
"hvis den er slået til)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Send en besked til allle spillere (Kun for GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "/help <kommando> > Vis en detaljeret beskrivelse af <kommando>"
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Kommando: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Denne kommando viser en liste over alle tilgængelige kommandoer"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Kommando: /help <kommando>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Denne kommando viser hjælp for <kommando>"
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Kommando: /announce <besked>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** kun tilgængelig for en GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "Denne kommando sender beskeden <besked> til alle brugere online."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Kommando: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Denne kommando rydder chat loggen"
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Kommand: /item <regel>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr ""
"Denne kommando viser det antal af online brugere, der er online lige nu."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Kommando: : /join <chat-kanal>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Denne kommando tilmelder dig til <chat-kanal>"
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Hvis <chat-kanal> ikke eksisterer, så bliver den oprettet."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Kommando: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Denne kommando viser en liste over alle chat-kanaler."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Kommando: /me <besked>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Denne kommando fortæller andre at du er (eller gør) <besked>"
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Kommando: /msg <spiller> <besked>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Kommando: /whisper <spiller> <besked>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Kommando: /w <spiller> <besked>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Denne kommando sender <besked> til <spiller>"
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
@@ -305,61 +301,42 @@ msgstr ""
"Hvis <spilller> (altså spillerens navn) indeholder mellemrum, så kan du "
"sætter gåseøjne (\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Kommando: /query <spilller>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Kommando: /q <spiller>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Denne kommando opretter en ny tab med privat samtale mellem dig og <nick>."
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Kommando: /w <spiller> <besked>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Kommando: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Denne kommando sætter kanalens emne til <besked>"
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Kommando: /create <gruppe>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Disse kommandoer opretter en gruppe ved navn <gruppe>"
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Denne kommando inviterer <spiller> til din gruppe."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Kommando: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -368,29 +345,29 @@ msgstr ""
"lytteradius, og sender listen til enten record loggen, hvis du optager, "
"ellers er det chat loggen."
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Kommando: /record <filnamn>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
"Denne kommando starter med at \"optage\" chat-loggen. Den gemmer en kopi i "
"<filnavn>"
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Kommando: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Denne kommando stopper med at optage chatten."
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Kommando /toggle <tilstand>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
@@ -398,7 +375,7 @@ msgstr ""
"Denne kommando bestemmer om retur, skal bruges til at fokusere på chat "
"loggen, ellerom chat om chat loggen, automatisk skal slå fra."
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -407,116 +384,116 @@ msgstr ""
"af chat vindue til, eller \"0\", \"no\", \"false\" for at slå fokusering af "
"chat vindue fra."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Kommando: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "Denne kommando viser fokusering af chat vinduets status."
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Kommand: /item <regel>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "kommando: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Denne kommando viser det nuværende bane navn."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Kommando: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
"Denne kommando viser det antal af online brugere, der er online lige nu."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Skriv /help for at få en liste med kommandoer"
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "du kan ikke sende en hviskebesked uden tekst!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "Du glemte at skrive et navn på dit party."
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "Retur bringer focus på chatten."
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "Besked lukker chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "Enter bringer nu focus på chatten."
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Besked lukker nu chat."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "Du har nu oprettet gruppen."
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "Beskeden blev ikke læst. Modtageren ignorerer den."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "Beskeden blev ikke læst. Modtageren ignorerer den."
@@ -526,42 +503,42 @@ msgstr "Beskeden blev ikke læst. Modtageren ignorerer den."
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Skærmbillede gemt under ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Gemningen af skærmbilledet fejlede!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "Forbindelsen til serveren er tabt, programmet vil nu lukke"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Netværksfejl"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Ignorerer indkomne handels anmodninger"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Accepterer indkomne handels anmodninger"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Kunne ikke loade kortet"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Kunne ikke loade %s."
@@ -575,34 +552,34 @@ msgstr "Gruppe (%s)"
msgid "Buy"
msgstr "Køb"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Pris: %s / Total: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Afslut"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Maks"
@@ -616,11 +593,11 @@ msgstr "Sælg"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Fortryd"
@@ -696,14 +673,14 @@ msgstr "Lav en ny karakter."
msgid "Name:"
msgstr "Navn:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -720,8 +697,8 @@ msgstr "HÃ¥rfarve:"
msgid "Hair style:"
msgstr "Frisure:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Opret"
@@ -777,8 +754,8 @@ msgstr "Frameld"
msgid "Change Email"
msgstr "Skift e-mail adresse"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Slet"
@@ -787,24 +764,24 @@ msgstr "Slet"
msgid "Choose"
msgstr "Luk"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "Der er %d spillere til stede"
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "Fremmøde skrives til loggen"
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Hvisker til %s: %s"
@@ -870,8 +847,8 @@ msgstr "Omgivende FX"
msgid "Equipment"
msgstr "Udstyr"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Tag af"
@@ -879,7 +856,7 @@ msgstr "Tag af"
msgid "Help"
msgstr "Hjælp"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Luk"
@@ -891,81 +868,84 @@ msgstr "Inventarliste"
msgid "Storage"
msgstr "Opbevaret"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Tag på"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Brug"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Smid"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Opdel"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Vægt:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Gem på lager"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Hent fra lager"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Smid"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "OK"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Alle"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Vælg hvor mange genstande du vil bytte."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Vælg hvor mange genstande du vil smide."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "Vælg hvor mange genstande du vil lagre"
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Vælg hvor mange genstande du vil opdele."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Vægt: "
@@ -997,40 +977,40 @@ msgstr "Fra nu af deler partyet ikke fundne ting."
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Kort"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Venter på serveren"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Næste"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Send forespørgsel"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Nulstil"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1045,7 +1025,7 @@ msgstr "Til:"
msgid "Send"
msgstr "Send"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "Kunne ikke sende brevet. Afsender eller brev er ugyldigt."
@@ -1135,7 +1115,7 @@ msgstr "@@name|Tilføj navn til chat@@"
msgid "Pick up %s"
msgstr "Saml op"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|Tilføj til chat@@"
@@ -1208,61 +1188,61 @@ msgstr "Adgangskoden skal være mindre end %d bogstaver langt."
msgid "Passwords do not match."
msgstr "De indtastede adgangskoder stemmer ikke overens."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Vælg din server"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Opretter forbindelse..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Brugerdefineret cursor"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Skriv både adressen og porten på serveren."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Venter på serveren"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1300,54 +1280,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "SÃ¥dan ser farven ud."
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Farver"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Type: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Fastlåst"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Pulserende"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Regnbuefarvet"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Spektrum"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Forsinkelse: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Rød: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Grøn: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Blå: "
@@ -1433,28 +1413,33 @@ msgstr "Ignorer"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Tillad handel"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Tillad hviskere"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "Placer alle hviskesamtaler i en tab"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Vis navn"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "Kunne ikke sælge."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Brugere"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "NÃ¥r ignorer:"
@@ -1510,515 +1495,484 @@ msgstr "mellem"
msgid "max"
msgstr "maks"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Fuld Skærm"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Brugerdefineret cursor"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Synlige navne"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Partikeleffekter"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Vis navn"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "Vis besked når noget samles op"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "i chat"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "som partikeleffekt"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPS-grænse:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Video"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Vis navn"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Gennemsigtighed"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Omgivende FX"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Partikeldetaljer"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Skriftstørrelse"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Nej"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "opsætning og genoprettelse af gammel opsætning fejlede også!"
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "opsætning og genoprettelse af gammel opsætning fejlede også!"
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Skifter til fuld skærm"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Ændringerne kræver at du genstarter klienten."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Skrifter til OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Ændringerne til OpenGL kræver at du genstarter klienten."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "Fra nu af deler gruppen ikke experience points."
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Skærmopløsning ændret"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Ændringerne kræver at du genstarter klienten."
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Ændrede Partikeleffekter."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "Ændringerne træder i kraft når du er går til et nyt kort."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Færdigheder"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Op"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Færdigheds-points: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Færdigheds-points: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Færdigheder"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Niveau: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Niveau: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "Oprettede en ny guild"
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Opret en guild"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "ER du sikker på at du vil afslutte programmet?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > Inviter en spiller til din gruppe"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > Inviter en spiller til din gruppe"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "ER du sikker på at du vil afslutte programmet?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Opret en guild"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Lav en ny karakter."
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Inviter en spiller"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Stor"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Du har accepteret en invitation fra %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Du har ignoreret en invitation fra %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Du har accepteret en invitation fra %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Du har ignoreret en invitation fra %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "Der opstod en fejl. Guilden kunne ikke oprettes"
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Opret en guild"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Vælg din server"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s har inviteret med i %s's gruppe."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Accepter invitationen"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s har inviteret med i sin gruppe"
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s har inviteret med i %s's gruppe."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s har inviteret med i sin gruppe"
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s har inviteret med i %s's gruppe."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Accepter invitationen"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Gruppe"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Vælg din server"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Niveau: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Penge: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
-msgstr "Job: %d"
+msgstr ""
+"Copy text \t\r\n"
+"Job: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "Job:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "MP:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Exp:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Penge: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Job:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Du har brugt alle dine points"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Færdigheds-points: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Niveau: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Foreslå handel"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Bekræftet. Venter..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Accepter handel"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Godkendt. Venter..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "Handel: Dig"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Handl"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Tilføj"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Du får %s."
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Du giver:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Ændre"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"Fejlede i at tilføje genstand. Du kan ikke overlappe en slags genstand på "
"vinduet."
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Du har ikke penge nok."
@@ -2058,85 +2012,6 @@ msgstr "##1 du prøver igen senere"
msgid "Completed"
msgstr "Udført"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "Skabning"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Andre spilleres navne"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "Eget navn"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "GM-navne"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPC'er"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Monstre"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Gruppe"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Opret en guild"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Partikeleffekter"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "Opsamlingsnotits"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "XP-notits"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Spiller rammer monster"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "Monster rammer spiller"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Kritisk sår"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "Spiller rammer monster"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Kritisk sår"
-
-#: src/gui/userpalette.cpp:111
-#, fuzzy
-msgid "Local Player Miss"
-msgstr "Gem bruger liste"
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Rammer forbi"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > Vis alle brugere på kanalen"
@@ -2216,56 +2091,56 @@ msgid "Need a user to kick!"
msgstr ""
"Du glemte at skrive navnet på den bruger der skal sparkes ud af kanalen"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Besked til alle."
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Besked fra %s til alle:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s hvisker: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Du kan ikke sende en tom chat-besked"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Lukker hviskesamtale-tabben"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Kommando: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Denne kommando lukker den aktuelle hviskesamtale-tab"
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Kommando: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr ""
"Denne kommando viser det antal af online brugere, der er online lige nu."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2295,322 +2170,335 @@ msgstr "Ændre"
msgid "Choose World"
msgstr "Vælg din server"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Flyt op"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Flyt ned"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Flyt til venstre"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Flyt til højre"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Angrib"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Vælg modstander og angrib"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "Smiley"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Snak"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Stop angreb"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Vælg nærmeste monster som ny modstander"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "Vælg NPC som ny modstander"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Vælg spiller som ny modstander"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "Saml op"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Gem vinduer"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Sid"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Gem skærmbillede som fil"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Slå handler fra/til"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "GÃ¥ hen hvor musen peger"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "Shortcut %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Hjælpevindue"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Statsvindue"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Færdigheds-vindue"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Minikort"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Chat-vindue"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Opsætnings-vindue"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Debug-vindue"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Færdigheds-vindue"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Statsvindue"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "Slå chat til eller fra"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Scroll chat op"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Scroll chat ned"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "GÃ¥ til sidste chat tab"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Gå til næste chat tab"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "Vælg OK"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "Løs problemet, ellers kan spillet risikere at opfører sig ustabilt."
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Du samlede %s [@@%d|%s@@] op."
msgstr[1] "Du samlede %s [@@%d|%s@@] op."
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Indstillinger:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : Vis versionsnummer"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : Vis denne hjælpebesked"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : Ønsket konfigurationsfil"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username : Anvend dette brugernavn"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : Anvend dette password"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character : Log på som denne karakter"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server : Login server navn or IP"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -p --port : Login server port"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -u --skip-update : Undlad at hente updateringer"
-#: src/main.cpp:53
+#: src/main.cpp:57
#, fuzzy
msgid " -D --default : Choose default character server and character"
msgstr " -D --default : Vælg karakter-server og karakter"
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : Undlad at hente updateringer"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data : Directory med data til spillet"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : Directory der skal bruges som hjemmekatalog"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : Ønsket konfigurationsfil"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : Directory der skal bruges som hjemmekatalog"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : Start mana uden OpenGL"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "Du er død."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
"Vi beklager at måtte informere dig, om at din karakter var dræbt i kamp."
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "Du er ikke så levende som du engang har været."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr "Manden med leen griber ud efter din sjæl."
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "Game Over!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
@@ -2618,92 +2506,93 @@ msgstr ""
"Nej, børn. Din karakter døde ikke rigtigt. Den.. err... tog til et bedre "
"sted."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr "Din plan om at smadre fjendens våben, ved at benytte din hals fejlede."
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "Jeg går ud fra at dette ikke gik alt for godt."
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "Du vil gerne have dine ejendele identificeret?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "Desværre, blev der aldrig fundet noget spor efter dig..."
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "Udslettet."
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr "Det ser ud til at du fik du hoved udleveret til dig."
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr "Du kvajede dig igen, smid din krop ned i kloakken og find dig en ny."
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
#, fuzzy
msgid "Press OK to respawn."
msgstr " Tryk OK for at genopstå"
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Du er død"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "Allerede logget ind"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "Brugernavnet er allerede benyttet af en anden bruger."
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Du har brugt alle dine points"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Du har brugt alle dine points"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2711,95 +2600,95 @@ msgstr ""
msgid "Unknown error."
msgstr "Ukendt fejl"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "Info"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "Karakteren er slettet"
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Vælg hvor mange genstande du vil bytte."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Ukendt fejl"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "Der er ingen tilgængelige spilservere."
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "Spiller rammer monster"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Kommando: : /join <chat-kanal>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s blev medlem af gruppen."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Ukendt kommando"
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "Oprettede en ny guild"
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "Der opstod en fejl. Guilden kunne ikke oprettes"
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "Invitationen er afsendt."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2890,11 +2779,11 @@ msgstr "email-adressen er allerede benyttet af en anden bruger."
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s blev medlem af gruppen."
@@ -2904,190 +2793,137 @@ msgstr "%s blev medlem af gruppen."
msgid "%s rejected your invite."
msgstr "%s afviste din invitation."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Styrke"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "Styrke %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Adræthed"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "Adræthed %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Behændighed"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "Behændighed %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "Helbred"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "Helbred %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Intelligens"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "Intelligens %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Viljestyrke:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "Kan modtager anmodninger om byttehandler."
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "Ignorerer anmodninger om byttehandler."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "Anmodning om byttehandel."
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s vil gerne handle med dig. Accepterer du?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "Handler med %s"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "Handel annulleret."
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "Handel er komplet."
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "Du kunne ikke sparke denne bruger af kanalen"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "Brugeren er sparket ud af kanalen"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Du har intet at sælge."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Tak for købet."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "Du kan ikke købe."
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Tak for en god handel."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "Kunne ikke sælge."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "Kan ikke bruge denne ID"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Ukendt fejl"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Karakteren kunne ikke oprettes. MÃ¥ske er navnet allerede brug."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Karakteren er slettet"
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Kunne ikke slette karakteren."
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Styrke:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Adræthed:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Helbred:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Intelligens:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Behændighed:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Held:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "Beskeden kunne ikke sendes. Modtageren er ikke logget på."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "Beskeden blev ikke læst. Modtageren ignorerer den."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Bruger"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "Serveren understøtter ikke kanaler!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3102,79 +2938,124 @@ msgstr "Navn"
msgid "Request to quit denied!"
msgstr "Anmodning om byttehandel."
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "Styrke %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "Adræthed %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "Helbred %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "Intelligens %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "Behændighed %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "Held %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Godkendelse fejlede"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "Der er ingen tilgængelige servere"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "En anden bruger forsøger at logge ind på denne brugerkonto"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "Der er allerede logget en bruger ind på denne brugerkonto"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "Dit hastighedshack blev opdaget af serveren."
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "Kunne ikke forbinde til serveren"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "Blev smidt af serveren!"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Styrke"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Adræthed"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "Helbred"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Intelligens"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Behændighed"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Held"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Forsvar:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "M.Angreb:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "M.Forsvar:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% præcission:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% Undgå angreb."
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "Kritisk sår"
@@ -3225,29 +3106,29 @@ msgstr "Denne kommando får dig til at forlade din gruppe"
msgid "Guild name is missing."
msgstr "Du glemte at skrive et navn på dit party."
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s er nu medlem af din gruppe."
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "Ukendt invitations-svar fra %s."
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3328,15 +3209,15 @@ msgstr "Kommando: /exp"
msgid "This command displays the party's current experience sharing policy."
msgstr "Denne kommando hvorvidt gruppen deler experience points."
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "Fra nu af deler partyet fundne ting."
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "Fra nu af deler partyet ikke fundne ting."
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "Deling af fundne ting kunne ikke slås til."
@@ -3345,15 +3226,15 @@ msgstr "Deling af fundne ting kunne ikke slås til."
msgid "Item sharing unknown."
msgstr "Fra nu af deler partyet fundne ting."
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "Fra nu af deler partyet experience points."
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "Fra nu af deler gruppen ikke experience points."
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "Deling af exp kunne ikke slås til."
@@ -3362,15 +3243,15 @@ msgstr "Deling af exp kunne ikke slås til."
msgid "Experience sharing unknown."
msgstr "Fra nu af deler partyet experience points."
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "Du kunne ikke bruge denne genstand."
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3437,7 +3318,7 @@ msgstr "Kunne ikke sælge."
msgid "Connection to server terminated. "
msgstr "Opretter forbindelse til kort-serveren..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "Kunne ikke oprette gruppe."
@@ -3445,244 +3326,239 @@ msgstr "Kunne ikke oprette gruppe."
msgid "Party successfully created."
msgstr "Du har nu oprettet gruppen."
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s er allerede medlem af en gruppe."
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s afviste din invitation."
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s er nu medlem af din gruppe."
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "Ukendt invitations-svar fra %s."
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "Du har foradt gruppen."
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s har forladt gruppen."
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "Et ukendt medlem forsøgte at sige: %s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > Inviter en spiller til din gruppe"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s er ikke medlem af din gruppe!"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Indsæt en mønt for at fortsætte."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "Du er ikke død endnu. Du hviler dig bare."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "Du er ikke mere."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "Du er holdt op med at være til."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "Du er udløbet og er gået hen for at møde din skaber."
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "Du er en hård nød at knække, men desværre død."
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "Du siver langtsomt ud af din krop, du kan nu endelig slappe af."
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
"Hvis det ikke var fordi du var så animeret, kunne du sikker imponere Chuck "
"Norris."
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "Din tid er ovre."
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr "Drik noget syre."
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "Du har stillet træskoene."
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr "Du har spist af dødens pølse for den sidste gang."
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "Du er en forhenværende spiller."
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr "Du er tabt bag en vogn."
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Besked"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "Du samlede op "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Handel fejlede!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "Emote fejlede!"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Sæt dig fejlede!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Det lykkedes ikke at starte en chat."
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Kunne ikke tilslutte sig gruppen!"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "Kan ikke råbe!"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "Du er ikke nået til det rette Niveau endnu!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "Utilstrækkelig HP!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "Utilstrækkelig SP!"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "Du har ingen memorandaer!"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Det kan du ikke gøre lige nu!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Det ser ud til at du ikke har nok penge... :-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Du kan ikke bruge denne færdighed med dette slags våben!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "Du har behov for en rød krystal mere"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "Du har behov for en blå krystal mere"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "Du har for meget på dig, til at kunne gøre dette"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "Hmm? Hvad er det?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "Warp mislykkede..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "Kunne ikke stjæle noget som helst..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Giften havde ingen effekt..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Du kan ikke handle. Handle partneren er for langt væk."
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Du kan ikke handle. Karakteren findes ikke."
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "Handlen blev annulleret af en ukendt grund."
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "Byttehandel: %s og dig."
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "Byttehandel med %s blev afbrudt."
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "En besked om at afbryde byttehandlen blev ikke opfattet."
@@ -3699,57 +3575,72 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr "Fejlede i at tilføje genstand af en ukendt grund."
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore||Ignorer %s fuldstændigt@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Angreb %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Forsvar %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Ukendt genstand"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "unavngivet"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Exp:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Penge: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Job:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Niveau: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "Adgang nægtet"
@@ -3764,6 +3655,10 @@ msgstr "unavngivet"
#~ msgstr "Viljestyrke:"
#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Viljestyrke:"
+
+#, fuzzy
#~ msgid "Server is full."
#~ msgstr "Serveren er fuld"
@@ -3811,6 +3706,24 @@ msgstr "unavngivet"
#~ msgid "Hyperlink"
#~ msgstr "Hyperlink"
+#~ msgid "Being"
+#~ msgstr "Skabning"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Andre spilleres navne"
+
+#~ msgid "Own Name"
+#~ msgstr "Eget navn"
+
+#~ msgid "GM Names"
+#~ msgstr "GM-navne"
+
+#~ msgid "NPCs"
+#~ msgstr "NPC'er"
+
+#~ msgid "Monsters"
+#~ msgstr "Monstre"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Ukendt genstand"
@@ -3855,6 +3768,29 @@ msgstr "unavngivet"
#~ msgid "Ammo"
#~ msgstr "Ammunition"
+#~ msgid "Particle Effects"
+#~ msgstr "Partikeleffekter"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "Opsamlingsnotits"
+
+#~ msgid "Exp Notification"
+#~ msgstr "XP-notits"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "Spiller rammer monster"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "Monster rammer spiller"
+
+#~ msgid "Critical Hit"
+#~ msgstr "Kritisk sår"
+
+#~ msgid "Misses"
+#~ msgstr "Rammer forbi"
+
#~ msgid "HP Bar"
#~ msgstr "HP tabel"
@@ -4092,6 +4028,9 @@ msgstr "unavngivet"
#~ msgid "Scroll laziness"
#~ msgstr "Acceleration på mus"
+#~ msgid "Save player list"
+#~ msgstr "Gem bruger liste"
+
#~ msgid "Unable to load selection.png"
#~ msgstr "Kan ikke loade valgte-billede.png"
diff --git a/po/de.po b/po/de.po
index b68c0bc9..c813a471 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,13 +8,14 @@
# seeseekey <seeseekey@googlemail.com>, 2009.
# #-#-#-#-# de.po (The Mana World 0.1.0) #-#-#-#-#
# German translation of The Mana World.
-# Copyright (C) 2007 The Mana World Development Team
+# Copyright (C) 2007-2009 The Mana World Development Team
+# Copyright (C) 2010 The Mana Development Team
# This file is distributed under the same license as the The Mana World package.
#
# Matthias Hartmann <hartmann.matthias@gmail.com>, 2007.
# Jonathan Raphael Joachim Kolberg, 2009, 2010.
# seeseekey <seeseekey@googlemail.com>, 2009.
-#, fuzzy
+# Andrej, 2009.
msgid ""
msgstr ""
"#-#-#-#-# po_de.po (The Mana World 0.1.0) #-#-#-#-#\n"
@@ -35,7 +36,7 @@ msgstr ""
"#-#-#-#-# de.po (The Mana World 0.1.0) #-#-#-#-#\n"
"Project-Id-Version: The Mana World 0.1.0\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2010-01-02 15:26+0000\n"
"Last-Translator: Jonathan Raphael Joachim Kolberg\n"
"Language-Team: Deutsch <kde-i18n-de@kde.org>\n"
@@ -48,139 +49,139 @@ msgstr ""
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Einstellungen"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Verbinde mit [Benutzerdatenserver]..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Anmelden"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr "Betrete die Spielwelt"
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Spielfigur auswählen"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "Verbinde mit [Charakterserver]..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Wechsle den Server"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Fehler"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr "Fordere Registrierungsdetails an"
-#: src/client.cpp:873
+#: src/client.cpp:915
msgid "Password Change"
msgstr "Passwort ändern:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr "Passwort erfolgreich geändert!"
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr "E-Mail ändern"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "Mitglied wurde erfolgreich Befördert."
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Abmelden"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr "Leb wohl und komme jeder Zeit wieder..."
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, 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:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "Ungültiger Updateserver: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "Fehler beim Erstellen des Verzeichnisses für Updates!"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Unbekannter Befehl."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Hilfe --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > diese Hilfe anzeigen"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Zeige den Namen der aktuellen Karte"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Zeige Anzahl der angemeldeten Spieler"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Erzähle etwas über Dich"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Löscht den Inhalt dieses Fensters"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Sende eine private Nachricht an einen Benutzer"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Ersatz für msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Ersatz für msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
"/query > Öffnet einen Tab für private Nachrichten mit einem anderen Benutzer"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > Ersatz für query"
@@ -194,140 +195,140 @@ msgstr ""
msgid "/ignore > ignore a player"
msgstr "/ignore > Ignoriere einen Spieler"
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr "/unignore > Ignorierung eines Spielers aufheben"
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Zeige alle öffentlichen Kanäle"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Trete einem Kanal bei oder erstelle einen neuen Kanal"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > Erstelle eine neue Party"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > Lade einen Benutzer zu deiner Party ein"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > Starte die Aufzeichnung des Chats in eine Datei"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > Entscheide, ob <return> den Chat-Dialog schließt"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
"/present > Liste anwesender Spieler (wird im Chat-log aufgezeichnet, falls "
"das Log aktiviert ist)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
-msgstr "/announce > Globale Ansage (Nur von GM's nutzbar)"
+msgstr "/announce > Globale Ansage (Nur von GMs nutzbar)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Für mehr Informationen, gib /help <Befehl> ein."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Befehl: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Dieser Befehl zeigt alle möglichen Befehle an"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Befehl: /help <Befehl>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Dieser Befehl zeigt die Hilfe für <Befehl>."
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Befehl: /announce <Nachricht>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** Nur für GMs verfügbar ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
"Dieser Befehl versendet die Nachricht <Nachricht> an alle Spieler die gerade "
"online sind."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Befehl: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Dieser Befehl bereinigt den Chatlog des vorherigen Chats."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr "Befehl: /item <Wert>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr "Dieser Befehl zeigt die Anzahl der Spieler an, die gerade online sind."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Befehl: /join <Kanal>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Dieser Befehl lässt dich dem Kanal <Kanal> beitreten."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Falls Kanal <Kanal> nicht existiert, wird er erstellt."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Befehl: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Dieser Befehl zeigt eine liste aller Kanäle an."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Befehl: /me <Nachricht>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Dieser Befehl zeigt eine Aktion <Nachricht> an."
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Befehl: /msg <Name> <Nachricht>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Befehl: /whisper <Name> <Nachricht>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Befehl: /w <Name> <Nachricht>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Dieser Befehl sendet den Text <Nachricht> an den Spieler <Name>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
@@ -335,15 +336,15 @@ msgstr ""
"Wenn im Namen <Name> Leerzeichen vorkommen, setze ihn in Anführungszeichen "
"(\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Befehl: /query <Name>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Befehl: /q <Name>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Dieser Befehl erstellt einen neuen Tab für private Nachrichten zwischen Dir "
@@ -373,24 +374,24 @@ msgstr "Dieser Befehl setzt das Theme auf <Thema>."
msgid "Command: /createparty <name>"
msgstr "Befehl: /create <Party-Name>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Dieser Befehl erstellt eine neue Party mit dem Namen <Party-Name>"
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Befehl: /party <Name>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Dieser Befehl lädt Spieler <Name> zu einer Party mit Dir ein."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Befehl: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -399,29 +400,29 @@ msgstr ""
"sendet sie entweder an das Chatlog, falls aktiviert, oder zeigt sie im "
"Chatfenster an."
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Befehl: /record <Dateiname>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
"Dieser Befehl startet den Mitschnitt des Chats (Chatlog) in die Datei "
"<Dateiname>."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Befehl: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Dieser Befehl beendet den Mitschnitt des Chats."
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Befehl: /toggle <Status>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
@@ -430,7 +431,7 @@ msgstr ""
"eine Nachricht gesendet wurde, oder erst nachdem die Enter-Taste erneut "
"gedrückt wurde."
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -438,49 +439,49 @@ msgstr ""
"<Status> \"1\",\"yes\",\"true\" aktiviert das Schließen durch Enter, \"0\","
"\"no\",\"false\" deaktiviert es."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Befehl: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "Dieser Befehl zeigt, wann sich die Chatzeile schließt."
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Befehl: /item <Wert>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
"Dieser Befehl hebt die Ignorierung des angegeben ignorierten Spieler auf."
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Befehl: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Dieser Befehl zeigt den Namen der aktuellen Karte an."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Befehl: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Dieser Befehl zeigt die Anzahl der Spieler an, die gerade online sind."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Gib /help ein, um eine Liste der Befehle zu erhalten."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "Kann keine leeren Nachrichten versenden!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -489,68 +490,68 @@ msgstr ""
"Kann keinen tab für Spieler \"%s\" erstellen! Entweder existiert bereits "
"einer, oder der Spieler bist du."
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "Erbitte Erlaubnis, Kanal %s betreten zu dürfen."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "Name der Party fehlt."
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr "Bitte gib einen Namen an."
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "Enter-Taste schließt Chatzeile."
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "Nachricht schließt Chatzeile."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "Jetzt schließt Enter die Chatzeile."
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Jetzt schließt jede Nachricht die Chatzeile."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr "IP Anzeige: An"
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr "IP Anzeige: Aus"
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr "Spieler wird bereits ignoriert!"
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "Party erfolgreich erstellt."
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr ""
"Nachricht konnte nicht gesendet werden, sie wurde vom Spieler ignoriert."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr "Spieler wurde nicht ignoriert!"
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr "Spieler wird nicht länger ignoriert!"
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr ""
@@ -562,43 +563,43 @@ 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\"."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Öffentlich"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Bildschirmfoto wurde nach ~/ gespeichert."
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Bildschirmfoto konnte nicht gespeichert werden!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr ""
"Die Verbindung zum Server wurde getrennt, das Programm wird jetzt beendet"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Netzwerkfehler"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Ignoriere eingehende Handelsanfragen"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Akzeptiere eingehende Handelsanfragen"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Karte konnte nicht geladen werden"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Fehler beim Laden von %s"
@@ -612,34 +613,34 @@ msgstr "Party (%s)"
msgid "Buy"
msgstr "Kaufen"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Preis: %s / Gesamt: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr "+"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr "-"
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Beenden"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Max"
@@ -653,18 +654,18 @@ msgstr "Verkaufen"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Abbrechen"
#: src/gui/changeemaildialog.cpp:45 src/gui/changeemaildialog.cpp:54
msgid "Change Email Address"
-msgstr "Email-Adresse ändern"
+msgstr "E-MailAdresse ändern"
#: src/gui/changeemaildialog.cpp:49 src/gui/changepassworddialog.cpp:52
#, c-format
@@ -728,16 +729,16 @@ msgstr "Charakter erstellen"
#: src/gui/charcreatedialog.cpp:67 src/gui/login.cpp:54
#: src/gui/register.cpp:67
msgid "Name:"
-msgstr "Name :"
+msgstr "Name:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ">"
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -752,8 +753,8 @@ msgstr "Haarfarbe:"
msgid "Hair style:"
msgstr "Frisur:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Erstellen"
@@ -789,7 +790,7 @@ msgstr "Bestätige Charakter-Löschung"
#: src/gui/charselectdialog.cpp:70
msgid "Are you sure you want to delete this character?"
-msgstr "Bist du sicher, dass du diesen Charakter löschen möchtest?"
+msgstr "Bist Du sicher, dass du diesen Charakter löschen möchtest?"
#: src/gui/charselectdialog.cpp:117
msgid "Account and Character Management"
@@ -808,8 +809,8 @@ msgstr "Abmelden"
msgid "Change Email"
msgstr "E-Mailadresse ändern"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Löschen"
@@ -817,24 +818,24 @@ msgstr "Löschen"
msgid "Choose"
msgstr "Wähle"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr "(leer)"
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Chat"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr "Anwesend: %s ;%d Spieler sind anwesend."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "Anwesenheitsliste wurde ins Chatprotokol geschrieben."
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Flüsternd zu %s: %s"
@@ -900,8 +901,8 @@ msgstr "Hintergrundeffekte: %s"
msgid "Equipment"
msgstr "Ausrüstung"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Ablegen"
@@ -909,7 +910,7 @@ msgstr "Ablegen"
msgid "Help"
msgstr "Hilfe"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Schließen"
@@ -921,80 +922,83 @@ msgstr "Inventar"
msgid "Storage"
msgstr "Lager"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "Plätze:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Ausrüsten"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Benutzen"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr "Wegwerfen"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Aufteilen"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr "Ausrüstung"
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Gewicht:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Einlagern"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Abholen"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Wegwerfen"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "Ok"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Alle"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Wähle aus, wie viele Gegenstände Du tauschen möchtest."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Wähle aus, wie viele Gegenstände Du wegwerfen möchtest."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
-msgstr "Wähle aus, wie viele Gegenstände du einlagern möchtest."
+msgstr "Wähle aus, wie viele Gegenstände Du einlagern möchtest."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
-msgstr "Wähle aus, wie viele Gegenstände du wieder haben möchtest."
+msgstr "Wähle aus, wie viele Gegenstände Du wieder haben möchtest."
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Wähle aus, wie viel Gegenstände Du aufteilen möchtest."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, c-format
msgid "Weight: %s"
msgstr "Gewicht: %s"
@@ -1024,40 +1028,40 @@ msgstr "Teilen von Gegenständen deaktiviert."
msgid "You need to use the website to register an account for this server."
msgstr "Du musst auf der Webseite ein Konto für diesen Server erstellen."
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Karte"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr "Muss"
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Warte auf den Server"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Weiter"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Absenden"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr "Protokoll leeren"
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Zurücksetzten"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
msgid ""
"\n"
"> Next\n"
@@ -1073,7 +1077,7 @@ msgstr "Nach:"
msgid "Send"
msgstr "Senden"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "Es misslang den Brief zu senden oder er war ungültig."
@@ -1159,7 +1163,7 @@ msgstr "Füge Namen zu Chat hinzu"
msgid "Pick up %s"
msgstr "Hebe %s auf"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr "Zu Chat hinzufügen"
@@ -1220,7 +1224,7 @@ msgstr "Der Nutzername muss kürzer als %d Zeichen sein."
#: src/gui/register.cpp:182 src/gui/unregisterdialog.cpp:117
#, c-format
msgid "The password needs to be at least %d characters long."
-msgstr "Das Passwort muss aus mindestens %d bestehen."
+msgstr "Das Passwort muss aus mindestens %d Zeichen bestehen."
#: src/gui/register.cpp:190 src/gui/unregisterdialog.cpp:124
#, c-format
@@ -1231,59 +1235,59 @@ msgstr "Das Passwort muss kürzer als %d Zeichen sein."
msgid "Passwords do not match."
msgstr "Passwörter stimmen nicht überein."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr "Wähle deinen Server"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
msgid "Connect"
msgstr "Verbinde..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Benutzerdefinierter Zeiger"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
-msgstr "Bitte die Adresse und den Port eines Servers eingeben"
+msgstr "Bitte die Adresse und den Port eines Servers eingeben."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr "Lade Serverliste herunter...%2.2f%%"
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr "Warte auf den Server"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr "Download wird vorbereitet"
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
#, fuzzy
msgid "Error retreiving server list!"
msgstr "Fehler beim empfangen der Serverliste: %s\n"
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr "benötigt eine neuere Version"
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr "benötigt v%s"
@@ -1323,50 +1327,50 @@ msgstr ""
msgid "Sound Engine"
msgstr "Soundengine"
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "So wird die Farbe aussehen"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Farben"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr "Typ: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Statisch"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Pulsierend"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Regenbogen"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Spektrum"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr "Verzögerung: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr "Rot: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr "Grün: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr "Blau: "
@@ -1380,7 +1384,7 @@ msgstr "Fenster zurücksetzen"
#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:78
msgid "Press the button to start calibration"
-msgstr "Knopf drücken um die Kalibrierung zu starten"
+msgstr "Knopf drücken, um die Kalibrierung zu starten"
#: src/gui/setup_joystick.cpp:38 src/gui/setup_joystick.cpp:76
msgid "Calibrate"
@@ -1452,28 +1456,33 @@ msgstr "Ignoriert"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Handeln erlauben"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Flüstern erlauben"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "Alle privaten Nachrichten in Tabs öffnen"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Geschlecht"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "Verkauf fehlgeschlagen."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Spieler"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "Wenn ignorierend:"
@@ -1527,123 +1536,123 @@ msgstr "Mittel"
#: src/gui/setup_video.cpp:195
msgid "max"
-msgstr "max"
+msgstr "Maximal"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Vollbild"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Benutzerdefinierter Zeiger"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Sichtbare Namen"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Partikeleffekte"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Eigener Name"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr "Protokoliere NPC Gespräche"
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "Benachrichtigung beim Aufheben"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "im Chatfenster"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "als Partikeleffekt"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPS-Limit:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr "Transparenz deaktivieren (für langsame PCs)"
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Video"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Eigener Name"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "Chat über Spielern"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
-msgstr "GUI Transparenz"
+msgstr "GUI-Transparenz"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Hintergrundeffekte"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Partikeldetail"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Schriftgröße"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Nein"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
-msgstr "und Wiederherstellung der alten Auflösung schlug fehl!"
+msgstr "Auflösung und Wiederherstellung der alten Auflösung schlug fehl!"
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
-msgstr "und Wiederherstellung der alten Auflösung schlug fehl!"
+msgstr "Auflösung und Wiederherstellung der alten Auflösung schlug fehl!"
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Wechsle zum Vollbildmodus"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Änderungen treten erst nach einem Neustart des Programms in Kraft."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Ändere OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
@@ -1652,267 +1661,272 @@ msgstr ""
"fehlerhaft dargestellt werden sollten bitte das Spiel mit der "
"Kommandozeilenoption \"--no-opengl\" neustarten."
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr "Deaktiviere OpenGL"
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
"Änderungen an OpenGL werden erst nach einem Neustart der Anwendung "
"übernommen."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "Teilen der Erfahrungspunkte deaktiviert."
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr "Bitte neustarten um Änderungen zu übernehmen."
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr "Transparenz aktiviert."
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Auflösung geändert"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Starte das Spiel neu um die Änderungen zu übernehmen."
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
"Einige Fenster können verschoben werden um sich an die geänderte Auflösung "
"anzupassen."
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Partikeleffekteinstellungen geändert."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "Änderung werden beim nächsten Kartenwechsel übernommen."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Fertigkeiten"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Erhöhen"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Fähigkeitspunkte: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Fähigkeitspunkte: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Fertigkeiten"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Stufe: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Stufe: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, fuzzy, c-format
msgid "Invited user %s to guild %s."
msgstr "Spieler %s einladen"
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "Gilde %s wurde aufgelöst."
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
#, fuzzy
msgid "Member Invite to Guild"
msgstr "Spieler einladen"
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, fuzzy, c-format
msgid "Who would you like to invite to guild %s?"
msgstr "Wen möchtest du einladen?"
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Gilde erstellen"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Bist Du sicher, dass Du das Spiel verlassen möchtest?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "Spieler %s einladen"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr "Partie %s Auflösung beauftragt."
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "Spieler einladen"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, fuzzy, c-format
msgid "Who would you like to invite to party %s?"
msgstr "Wen möchtest du einladen?"
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr "Partie verlassen?"
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Bist Du sicher, dass Du das Spiel verlassen möchtest?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Gilde erstellen"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Charakter erstellen"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
#, fuzzy
msgid "Social"
msgstr "Special"
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "einladen"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Stufe: %d"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Partyeinladung von %s angenommen."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Partyeinladung von %s abgelehnt."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Partyeinladung von %s angenommen."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Partyeinladung von %s abgelehnt."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr "Gilde konnte nicht erstellt werden, bitte einen kürzen Namen wählen."
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr "Erstelle der Gilde %s."
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr "Partie konte nicht erstellt werden, bitte einen kürzeren Namen wählen."
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, fuzzy, c-format
msgid "Creating party called %s."
msgstr "Erstelle der Gilde %s."
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr "Gildenname"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr "Wähle den Namen deiner Gilde"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "Anfrage für eine Party erhalten, aber du bist bereits in einer Party."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
-msgstr "%s hat dich eingeladen, seiner Gilde %s beizutreten."
+msgstr "%s hat Dich eingeladen, seiner Gilde %s beizutreten."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr "Nehme Gildeneinladung an"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Anfrage für eine Party erhalten, aber du bist bereits in einer Party."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s hat dich in seine Party eingeladen."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s hat dich eingeladen, an der Party %s teilzunehmen."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s hat dich in seine Party eingeladen."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s hat dich eingeladen, an der Party %s teilzunehmen."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Nehme Partyeinladung an"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr "Konnte keine Partie erstellen. Du bist schon in einer Partie."
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Party"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Wähle den Namen deiner Gilde"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr "Special"
@@ -1931,120 +1945,91 @@ msgstr "Spezial %d"
msgid "Level: %d"
msgstr "Stufe: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Geld: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
-msgstr "Job: %d"
+msgstr "Beruf: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
-msgstr "Job:"
+msgstr "Beruf:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "MP:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Exp:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Geld: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Job:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Spielfigurattribute OK"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Fähigkeitspunkte: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Stufe: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Handel vorschlagen"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Bestätigt. Warten..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Handel zustimmen"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Zugestimmt. Warten..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "Handel: Du"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Handeln"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Hinzufügen"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Du erhältst %s."
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Du gibst:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Ändern"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
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."
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Du hast nicht genügend Geld."
@@ -2084,87 +2069,9 @@ msgstr "##1 es später erneut zu versuchen."
msgid "Completed"
msgstr "Fertig"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "Aktionen"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Namen anderer Spieler"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "Eigener Name"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "Namen von GM"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPCs"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Monster"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Party"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Gildenname"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Partikeleffekte"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "aufgehobene Gegenstände"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "Anzeige der Erfahrungspunkte"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Spieler trifft Monster"
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr "Monster trifft Spieler"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Kritischer Treffer"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "Spieler trifft Monster"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Kritischer Treffer"
-
-#: src/gui/userpalette.cpp:111
-#, fuzzy
-msgid "Local Player Miss"
-msgstr "Spielerliste sichern"
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Verfehlt"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
-msgstr "/users > Zeigt eine Liste der Spiele im aktuellen Kanal"
+msgstr "/users > Zeigt eine Liste der Spieler im aktuellen Kanal"
#: src/gui/widgets/channeltab.cpp:50
msgid "/topic > Set the topic of the current channel"
@@ -2176,7 +2083,7 @@ msgstr "/quit > Verlasse einen Kanal"
#: src/gui/widgets/channeltab.cpp:52
msgid "/op > Make a user a channel operator"
-msgstr "/op > Ernenne einen Spieler zum Kanalwärter"
+msgstr "/op > Ernenne einen Spieler zum Kanalmoderator"
#: src/gui/widgets/channeltab.cpp:53
msgid "/kick > Kick a user from the channel"
@@ -2188,7 +2095,7 @@ msgstr "Befehl: /users"
#: src/gui/widgets/channeltab.cpp:64
msgid "This command shows the users in this channel."
-msgstr "Dieser Befehl zeit eine Liste der Spieler im aktuellen Kanal."
+msgstr "Dieser Befehl zeigt eine Liste der Spieler im aktuellen Kanal."
#: src/gui/widgets/channeltab.cpp:68
msgid "Command: /topic <message>"
@@ -2222,7 +2129,7 @@ msgstr "Dieser Befehl macht Spieler <Name> zu einem Moderator des Kanals"
msgid "Channel operators can kick and op other users from the channel."
msgstr ""
"Moderatoren können andere Spieler aus dem Kanal werfen oder ihnen ebenfalls "
-"Moderator-Rechte verleihen."
+"Moderatorrechte verleihen."
#: src/gui/widgets/channeltab.cpp:89
msgid "Command: /kick <nick>"
@@ -2240,55 +2147,55 @@ msgstr "Gib einen Spieler an, der Moderator werden soll!"
msgid "Need a user to kick!"
msgstr "Gib einen Spieler an, der aus dem Kanal geworfen werden soll"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Globale Ansage:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Globale Ansage von %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s flüstert: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Kann keine leere Nachricht senden!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr "/ignore > Anderen Spieler ignorieren"
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr "/unignore > Anderen Spieler nicht mehr ignorieren"
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Schließe einen privaten Tab"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Befehl: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Dieser Befehl schließt den aktuellen privaten Tab."
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Befehl: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Dieser Befehl zeigt die Anzahl der Spieler an, die gerade online sind."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2318,207 +2225,207 @@ msgstr "Ändern"
msgid "Choose World"
msgstr "Wähle deinen Server"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Laufe Hoch"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Laufe Runter"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Laufe nach Links"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Laufe nach Rechts"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Angriff"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Zielen & Angreifen"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "Grinsen"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Sprechen"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Angriff abbrechen"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Nächstes Ziel anvisieren"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "NPC anvisieren"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Spieler anvisieren"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "Aufheben"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Fenster ausblenden"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Sitzen"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Bildschirmfoto"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Handeln erlauben/verbieten"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "Finde Weg zum Mauszeiger"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "Kurztaste %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Hilfefenster"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Statusfenster"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Inventarfenster"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Ausrüstungsfenster"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Fertigkeitenfenster"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Kartenfenster"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Chatfenster"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Kurztastenfenster"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Einstellungen"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Debugfenster"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Fertigkeitenfenster"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "Kurztasten für Gefühle"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Statusfenster"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr "Ausrüstung anziehen"
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr "Ausrüstung kopieren"
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "Gefühlstaste %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "Chat ein/aus"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Im Chat hochscrollen"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Im Chat runter scrollen"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "Voriger Tab"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Nächster Tab"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "OK auswählen"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "Ignoriere Eingabe 1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "Ignoriere Eingabe 2"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "Bitte beheben, oder es wird zu merkwürdigem Verhalten im Spiel kommen."
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
-msgstr "Kann das nicht aufheben."
+msgstr "Kann Gegenstand nicht aufheben."
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
@@ -2534,98 +2441,117 @@ msgid "mana [options] [mana-file]"
msgstr "mana [Optionen] [mana-Datei]"
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Optionen:"
-#: src/main.cpp:44
+#: src/main.cpp:48
msgid " -v --version : Display the version"
-msgstr " -v --version : Die Version des Spieles anzeigen"
+msgstr " -v --version : Die Version des Spieles anzeigen"
-#: src/main.cpp:45
+#: src/main.cpp:49
msgid " -h --help : Display this help"
-msgstr " - --help : Zeigt diesen Hilfstext an"
+msgstr " - --help : Zeigt diesen Hilfstext an"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
-msgstr " -C --config-file : zu benutzende Konfigurationsdatei"
+msgstr " -C --config-file : zu benutzende Konfigurationsdatei"
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
-msgstr " -U --username : Mit angegebenem Benutzernamen anmelden"
+msgstr " -U --username : Mit angegebenem Benutzernamen anmelden"
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
-msgstr " -P --password : Angegebenes Passwort benutzen"
+msgstr " -P --password : Angegebenes Passwort benutzen"
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
-msgstr " -c --charakter : Mit angegebenem Spieler anmelden"
+msgstr " -c --charakter : Mit angegebenem Spieler anmelden"
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
-msgstr " -s --server : Name oder IP-Adresse des Loginservers"
+msgstr " -s --server : Name oder IP-Adresse des Loginservers"
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
-msgstr " -p --port : Port des Loginservers"
+msgstr " -p --port : Port des Loginservers"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
-msgstr " -H --update-host : Benutze angegebenen Updateserver"
+msgstr " -H --update-host : Benutze angegebenen Updateserver"
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
-msgstr " -D --default : Wähle zuletzt benutzten Server und Spieler aus"
+msgstr " -D --default : Wähle zuletzt benutzten Server und Spieler aus"
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
-msgstr " -u --skip-update : Ãœberspringe das Herunterladen von Updates"
+msgstr " -u --skip-update : Ãœberspringe das Herunterladen von Updates"
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
-msgstr " -d --data : Datenverzeichnis, aus dem das Spiel geladen werden soll"
+msgstr ""
+" -d --data : Datenverzeichnis, aus dem das Spiel geladen werden "
+"soll"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
" -S --home-dir : Verzeichnis, das als Heimatverzeichnis benutzt werden soll"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : zu benutzende Konfigurationsdatei"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
" -S --home-dir : Verzeichnis, das als Heimatverzeichnis benutzt werden soll"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
-msgstr " -O --no-opengl : OpenGL-Erweiterungen deaktivieren"
+msgstr " -O --no-opengl : OpenGL-Erweiterungen deaktivieren"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "Ach ja: Du bist Tot."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
"Es tut uns Leid, Euch mitteilen zu müssen, dass Ihr im Kampfe gefallen seid."
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "Du bist nicht länger lebendig."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
-msgstr "Die kalten Hände des Sensemanns greifen nach Deiner Seele."
+msgstr "Die kalten Hände des Sensenmanns greifen nach Deiner Seele."
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "Game Over!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
@@ -2633,7 +2559,7 @@ msgstr ""
"Nein, Kinder. Euer Charakter ist nicht tot. Er... ähm... ist zu einem "
"besserem Ort gegangen."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
@@ -2641,174 +2567,175 @@ msgstr ""
"Dein Plan, die Waffe deines Feindes mit Deinem Hals zu zerstören, war leider "
"nicht ganz so genial, wie Du dachtest..."
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "Ich glaube, das war nicht so gut."
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "Möchtest du eine Auflistung Deiner Verletzungen?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "Leider wurde niemals eine Spur von Dir gefunden..."
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "Vernichtet."
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr "Sieht aus, als würde Dein Kopf Dich anschauen."
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-"Du hast schon wieder versagt. Spül Deine Überreste hinunter und hol Dir ein "
-"paar Neue."
+"Du hast schon wieder versagt. Spül Deine Überreste hinunter und hol Dir "
+"einen paar Neue."
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr "Drücke \"OK\" um neu anzufangen."
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr "Du bist tot."
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr "nicht angemeldet"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr "Kein freier Slot."
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr "Ungültiger Name."
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr "Benutzername bereits vorhanden"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr "Ungültiger Haarstil."
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr "Ungültige Haarfarbe."
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr "Ungültiges Geschlecht."
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr "Spielfigurattribute sind zu groß."
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr "Spielfigurattribute sind zu klein"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
-msgstr "Ein Statuspunkt ist Null."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
+msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
msgid "Unknown error."
msgstr "Unbekannter Fehler"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "Info"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr "Spieler gelöscht"
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Wähle aus, wie viele Gegenstände Du tauschen möchtest."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Unbekannter Fehler"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "Kein Server verfügbar"
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "Thema: %s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr "Spieler im Kanal:"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr "Fehler beim Betreten des Kanals."
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr "Liste Kanäle"
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr "Ende der Channel-Liste."
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr "%s ist dem Kanal beigetreten."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr "%s hat den Channel verlassen."
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr "%s hat den Modus %s auf den Spieler %s gesetzt."
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr "%s hat %s gekickt."
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Unbekannter Befehl."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "Gilde erstellt."
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "Fehler beim Erstellen der Gilde."
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "Einladung gesendet."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
-msgstr "Mitglied wurde erfolgreich Befördert."
+msgstr "Mitglied wurde erfolgreich befördert."
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "Beförderung des Mitglieds gescheitert."
@@ -2890,11 +2817,11 @@ msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
"Du hast für das Captcha zu lange gebraucht oder deine Eingabe war inkorrekt."
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "Der Party beigetreten."
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s ist der Party beigetreten."
@@ -2904,190 +2831,138 @@ msgstr "%s ist der Party beigetreten."
msgid "%s rejected your invite."
msgstr "%s hat Deine Einladung zurückgewiesen."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Stärke"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "Stärke %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Beweglichkeit"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "Beweglichkeit %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Ausdauer"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "Ausdauer %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "Gesundheit"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "Gesundheit %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Intelligenz"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "Intelligenz %+d"
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr "Willenskraft:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "Willensstärke %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "Akzeptiere eingehende Handelsanfragen."
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "Ignoriere eingehende Handelsanfragen."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "Erbitte einen Handel"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
-msgstr "%s möchte mit dir handeln, stimmst du zu?"
+msgstr "%s möchte mit dir handeln, stimmst Du zu?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "Handele mit %s"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "Handel abgebrochen."
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "Handel abgeschlossen."
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "Spieler konnte nicht aus dem Kanal geworfen werden!"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "Spieler aus dem Kanal geworfen!"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Du hast nichts zu verkaufen."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Vielen Dank für den Einkauf."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "Kauf fehlgeschlagen."
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Vielen Dank für den Verkauf."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "Verkauf fehlgeschlagen."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr "Zugriff verweigert. Wahrscheinlich zu viele Spieler auf dem Server."
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr "Kann diese ID nicht benutzen"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Unbekannter Fehler"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
"Charakter konnte nicht erstellt werden. Wahrscheinlich ist der Name bereits "
"vergeben."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Spieler gelöscht."
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Spieler konnte nicht gelöscht werden."
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Stärke:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Agilität:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Vitalität:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Intelligenz:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Geschicklichkeit:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Glück:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "Nachricht konnte nicht gesendet werden, Spieler ist offline."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
"Nachricht konnte nicht gesendet werden, sie wurde vom Spieler ignoriert."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr "Spieler"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "Kanäle werden nicht unterstützt!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr "Benutzer online: %d"
@@ -3101,70 +2976,115 @@ msgstr "Spiel"
msgid "Request to quit denied!"
msgstr "Erbitte einen Handel"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "Stärke %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "Beweglichkeit %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "Gesundheit %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "Intelligenz %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "Ausdauer %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "Glück %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
-msgstr "Authentifizierung verweigert"
+msgstr "Authentifizierung fehlgeschlagen"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr "Keine Server verfügbar"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr "Jemand anderes versucht diesen Account zu benutzen"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr "Dieser Account ist bereits angemeldet"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr "Geschwindigkeitsproblem festgestellt"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr "Mehrfache Anmeldung"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr "Unbekannter Verbindungsfehler"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "Verbindung zum Server unterbrochen!"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Stärke"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Beweglichkeit"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "Gesundheit"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Intelligenz"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Ausdauer"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Glück"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
msgid "Defense"
msgstr "Verteidigung:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr "M.Angriff:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr "M.Verteidigung:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr "% Accuracy"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr "% Evade"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr "% Critical"
@@ -3215,30 +3135,30 @@ msgstr "Dieser Befehl lässt Dich die Party verlassen"
msgid "Guild name is missing."
msgstr "Name der Party fehlt."
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr "Konnte User nicht in Gilde einladen."
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
#, fuzzy
msgid "User rejected guild invite."
msgstr "%s hat Deine Einladung zurückgewiesen."
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s ist nun Mitglied Deiner Party."
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr "Deine Gilde ist voll."
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "Unbekannte Reaktion auf die Einladung von %s."
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr "Gildenerstellung wird nocht nicht unterstützt."
@@ -3328,15 +3248,15 @@ msgstr ""
"Dieser Befehl zeigt an, ob das Teilen von Erfahrungspunkten in der Party "
"aktiviert ist."
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "Teilen von Gegenständen aktiviert."
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "Teilen von Gegenständen deaktiviert."
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "Teilen von Gegenständen nicht möglich."
@@ -3345,15 +3265,15 @@ msgstr "Teilen von Gegenständen nicht möglich."
msgid "Item sharing unknown."
msgstr "Teilen von Gegenständen aktiviert."
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "Teilen der Erfahrungspunkte aktiviert."
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "Teilen der Erfahrungspunkte deaktiviert."
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "Teilen der Erfahrungspunkte nicht möglich."
@@ -3362,15 +3282,15 @@ msgstr "Teilen der Erfahrungspunkte nicht möglich."
msgid "Experience sharing unknown."
msgstr "Teilen der Erfahrungspunkte aktiviert."
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "Gegenstand konnte nicht benutzt werden."
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
-msgstr "Kann Gegenstand nicht Ausrüsten."
+msgstr "Kann Gegenstand nicht ausrüsten."
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "Kann Gegenstand nicht ablegen."
@@ -3402,7 +3322,7 @@ msgstr "Vom Server zurückgewiesen"
msgid ""
"You have been permanently banned from the game. Please contact the GM team."
msgstr ""
-"Du wurdest permanent vom Spiel ausgeschlossen. Bitte wende Dich an das GM "
+"Du wurdest permanent vom Spiel ausgeschlossen. Bitte wende Dich an das GM-"
"Team."
#: src/net/tmwa/loginhandler.cpp:172
@@ -3412,7 +3332,7 @@ msgid ""
"Please contact the GM team via the forums."
msgstr ""
"Du wurdest zeitweise, bis %s vom Spiel ausgeschlossen.\n"
-"Bitte wende dich mittels des Forums an das GM Team."
+"Bitte wende dich mittels des Forums an das GM-Team."
#: src/net/tmwa/loginhandler.cpp:179
msgid "This user name is already taken."
@@ -3430,7 +3350,7 @@ msgstr "Nicht möglich den host \" aufzulösen"
msgid "Connection to server terminated. "
msgstr "Verbindung mit Server abgebrochen. "
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "Konnte Party nicht erstellen."
@@ -3438,106 +3358,101 @@ msgstr "Konnte Party nicht erstellen."
msgid "Party successfully created."
msgstr "Party erfolgreich erstellt."
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s ist bereits Mitglied einer Party."
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s hat Deine Einladung zurückgewiesen."
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s ist nun Mitglied Deiner Party."
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "Unbekannte Reaktion auf die Einladung von %s."
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "Du hast die Party verlassen."
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s hat Deine Party verlassen."
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "Ein unbekanntes Mitglied hat versucht, \"%s\" zu sagen."
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "Spieler %s einladen"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr "Einladung fehlgeschlagen, da du den Spieler %s nicht sehen kannst."
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr "Du kannst nur einladen wenn du in einer Partie bist."
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s ist nicht in Deiner Party!"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Gib eine Münze ein um weiter zuspielen."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "Du bist nicht tot. Du erholst Dich bloß."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "Du bist nicht mehr."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "Du hast Dich entschieden, dem Irdischen zu entsagen."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "Deine Zeit ist abgelaufen. Zeit, deinem Schöpfer gegenüberzutreten."
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "Du bist ein wenig steif."
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "Des Lebens beraubt ruhst Du in Frieden."
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
"Wenn Du nicht so lebendig wärst, könntest Du die Gänseblümchen von unten "
"sehen."
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "Deine Körperfunktionen sind nun Geschichte."
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr "Du kriegst nichts mehr mit."
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "Jetzt passt Du in 'nen Eimer."
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
@@ -3545,141 +3460,141 @@ msgstr ""
"Du hast Deine sterbliche Hülle abgelegt, der Schleier legt sich über Dich "
"und Du trittst dem Chor der blutenden Unsichtbaren bei."
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "Du warst einmal ein Spieler."
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr "Du schmachtest nach den Fjorden."
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Nachricht"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
"Du trägst mehr als die Hälfte Deiner Tragkraft. Du kannst Dich nicht mehr "
"heilen."
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr "Du hast %s aufgehoben "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr "Kann Skill nicht erhöhen!"
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "Rüste dich zuerst mit Pfeilen aus."
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Handel fehlgeschlagen!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
-msgstr "Emote fehlgeschlagen!"
+msgstr "Gefühl fehlgeschlagen!"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Sitzen fehlgeschlagen!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Chat-Erstellung fehlgeschlagen!"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Kann der Gruppe nicht beitreten!"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "Kann nicht rufen!"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "Dein Level ist noch nicht hoch genug!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "Nicht genug HP!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "Nicht genug SP!"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "Keine Memos vorhanden!"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Du kannst dies momentan nicht tun!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Es scheint, als bräuchtest Du mehr Geld... ;-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Du kannst diese Fähigkeit nicht mit dieser Waffenart benutzen!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "Du brauchst noch einen roten Edelstein!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "Du brauchst noch einen blauen Edelstein!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
-msgstr "Du schleppst zu viel herum um das zu machen!"
+msgstr "Du schleppst zu viel herum, um das zu machen!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
-msgstr "Eha? Was ist das?"
+msgstr "Huch? Was ist das?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "Warp fehlgeschlagen..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "Konnte nichts stehlen..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Das Gift hatte keine Wirkung..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Handel nicht möglich. Handelspartner ist zu weit weg."
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Handel nicht möglich. Spieler existiert nicht."
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "Handel aus unbekanntem Grund abgebrochen"
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "Handel: Du und %s"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "Handel mit %s abgebrochen."
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "Ãœbergangenes Handelsabbruchspaket."
@@ -3698,15 +3613,15 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr "Gegenstand konnte nicht hinzugefügt werden. Unbekannter Fehler."
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr "@@ignore|Ignoriere %s komplett@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr "Drucke '..'"
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr "Blinkender Name"
@@ -3723,30 +3638,53 @@ msgstr "Schwebende Blase"
msgid "Attack %+d"
msgstr "Angriff %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Verteidigung %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Unbekannter Gegenstand"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "unbenannt"
+#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Exp:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Geld: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Job:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Stufe: %d"
+
#~ msgid "Access denied."
#~ msgstr "Zugang verweigert"
@@ -3759,6 +3697,12 @@ msgstr "unbenannt"
#~ msgid "Willpower:"
#~ msgstr "Willenskraft:"
+#~ msgid "Willpower %+d"
+#~ msgstr "Willensstärke %+d"
+
+#~ msgid "Willpower"
+#~ msgstr "Willenskraft:"
+
#~ msgid "Server is full."
#~ msgstr "Server ist voll"
@@ -3816,6 +3760,24 @@ msgstr "unbenannt"
#~ msgid "Hyperlink"
#~ msgstr "Verknüpfung"
+#~ msgid "Being"
+#~ msgstr "Aktionen"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Namen anderer Spieler"
+
+#~ msgid "Own Name"
+#~ msgstr "Eigener Name"
+
+#~ msgid "GM Names"
+#~ msgstr "Namen von GM"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCs"
+
+#~ msgid "Monsters"
+#~ msgstr "Monster"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Unbekannter Gegenstand"
@@ -3858,17 +3820,38 @@ msgstr "unbenannt"
#~ msgid "Ammo"
#~ msgstr "Munition"
+#~ msgid "Particle Effects"
+#~ msgstr "Partikeleffekte"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "aufgehobene Gegenstände"
+
+#~ msgid "Exp Notification"
+#~ msgstr "Anzeige der Erfahrungspunkte"
+
+#~ msgid "Player Hits Monster"
+#~ msgstr "Spieler trifft Monster"
+
+#~ msgid "Monster Hits Player"
+#~ msgstr "Monster trifft Spieler"
+
+#~ msgid "Critical Hit"
+#~ msgstr "Kritischer Treffer"
+
+#~ msgid "Misses"
+#~ msgstr "Verfehlt"
+
#~ msgid "HP Bar"
-#~ msgstr "HP Leiste"
+#~ msgstr "HP-Leiste"
#~ msgid "3/4 HP Bar"
-#~ msgstr "3/4 HP Leiste"
+#~ msgstr "3/4 HP-Leiste"
#~ msgid "1/2 HP Bar"
-#~ msgstr "1/2 HP Leiste"
+#~ msgstr "1/2 HP-Leiste"
#~ msgid "1/4 HP Bar"
-#~ msgstr "1/4 HP Leiste"
+#~ msgstr "1/4 HP-Leiste"
#~ msgid "help"
#~ msgstr "Hilfe"
@@ -4919,7 +4902,7 @@ msgstr "unbenannt"
#~ msgstr "Freundesliste"
#~ msgid "Job Level: %d"
-#~ msgstr "Beruf Stufe: %d"
+#~ msgstr "Berufsstufe: %d"
#~ msgid "Ok"
#~ msgstr "Ok"
@@ -4937,7 +4920,7 @@ msgstr "unbenannt"
#~ msgstr "zweihändige Waffen"
#~ msgid "Failed to switch to "
-#~ msgstr "Konnte Auflösung nicht ändern in "
+#~ msgstr "Konnte Auflösung nicht ändern zu "
#~ msgid "Mystery Skill"
#~ msgstr "Unbekannter Skill"
@@ -4970,7 +4953,7 @@ msgstr "unbenannt"
#~ msgstr "Max Level"
#~ msgid "curl error "
-#~ msgstr "curl fehler "
+#~ msgstr "curl-Fehler "
#~ msgid "Buddys"
#~ msgstr "Freunde"
@@ -4999,6 +4982,9 @@ msgstr "unbenannt"
#~ msgid "Scroll laziness"
#~ msgstr "Scroll-Trägheit"
+#~ msgid "Save player list"
+#~ msgstr "Spielerliste sichern"
+
#~ msgid "Unable to load selection.png"
#~ msgstr "Konnte selection.png nicht laden"
diff --git a/po/en_GB.po b/po/en_GB.po
index 67abdfa2..b43b85da 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2010-03-04 21:01+0000\n"
"Last-Translator: issyl0 <isabell121@gmail.com>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
@@ -19,342 +19,319 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Setup"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Connecting to map server..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Login"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Select Character"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "Connecting to map server..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Server"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Error"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Password:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Change"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "Member was promoted successfully."
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Unregister"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "Invalid update host: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "Error creating updates directory!"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Unknown command."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Help --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Display this help"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Display map name"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Display number of online users"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Tell something about yourself"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Clears this window"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Send a private message to a user"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Alias of msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Alias of msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > Makes a tab for private messages with another user"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > Alias of query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Display all public channels"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Join or create a channel"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > Create a new party"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > Invite a user to party"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > Start recording the chat to an external file"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > Determine whether <return> toggles the chat log"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr "/present > Get list of players present (sent to chat log, if logging)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Global announcement (GM only)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "For more information, type /help <command>."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Command: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "This command displays a list of all commands available."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Command: /help <command>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "This command displays help on <command>."
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Command: /announce <msg>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** only available to a GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "This command sends the message <msg> to all players currently online."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Command: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "This command clears the chat log of previous chat."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Command: /item <policy>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "This command displays the number of players currently online."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Command: /join <channel>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "This command makes you enter <channel>."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "If <channel> doesn't exist, it's created."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Command: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "This command shows a list of all channels."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Command: /me <message>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "This command tell others you are (doing) <msg>."
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Command: /msg <nick> <message>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Command: /whisper <nick> <message>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Command: /w <nick> <message>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "This command sends the text <message> to <nick>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr "If the <nick> has spaces in it, enclose it in double quotes (\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Command: /query <nick>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Command: /q <nick>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr "This command tries to make a tab for whispers between you and <nick>."
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Command: /w <nick> <message>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Command: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "This command sets the topic to <message>."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Command: /create <party-name>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "These commands create a new party called <party-name>."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Command: /party <nick>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "This command invites <nick> to party with you."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Command: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -362,27 +339,27 @@ msgstr ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Command: /record <filename>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr "This command starts recording the chat log to the file <filename>."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Command: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "This command finishes a recording session."
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Command: /toggle <state>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
@@ -390,7 +367,7 @@ msgstr ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -398,48 +375,48 @@ msgstr ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Command: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "This command displays the return toggle status."
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Command: /item <policy>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Command: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "This command displays the name of the current map."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Command: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "This command displays the number of players currently online."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Type /help for a list of commands."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "Cannot send empty whispers!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -448,67 +425,67 @@ msgstr ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "Requesting to join channel %s."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "Party name is missing."
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "Return toggles chat."
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "Message closes chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "Return now toggles chat."
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Message now closes chat."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "Party successfully created."
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "Whisper could not be sent, ignored by user."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "Whisper could not be sent, ignored by user."
@@ -518,42 +495,42 @@ msgstr "Whisper could not be sent, ignored by user."
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "General"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Screenshot saved to ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Saving screenshot failed!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "The connection to the server was lost, the program will now quit."
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Network Error"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Ignoring incoming trade requests"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Accepting incoming trade requests"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Could not load map"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Error while loading %s"
@@ -567,34 +544,34 @@ msgstr "Party (%s)"
msgid "Buy"
msgstr "Buy"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Price: %s / Total: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Exit"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Max"
@@ -608,11 +585,11 @@ msgstr "Sell"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Cancel"
@@ -688,14 +665,14 @@ msgstr "Create Character"
msgid "Name:"
msgstr "Name:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -712,8 +689,8 @@ msgstr "Hair Colour:"
msgid "Hair style:"
msgstr "Hair Style:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Create"
@@ -769,8 +746,8 @@ msgstr "Unregister"
msgid "Change Email"
msgstr "Change Email Address"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Delete"
@@ -779,24 +756,24 @@ msgstr "Delete"
msgid "Choose"
msgstr "Close"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Chat"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d players are present."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "Attendance written to record log."
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Whispering to %s: %s"
@@ -862,8 +839,8 @@ msgstr "Ambient FX"
msgid "Equipment"
msgstr "Equipment"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Unequip"
@@ -871,7 +848,7 @@ msgstr "Unequip"
msgid "Help"
msgstr "Help"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Close"
@@ -883,81 +860,84 @@ msgstr "Inventory"
msgid "Storage"
msgstr "Storage"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "Slots:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Equip"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Use"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Drop"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Split"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Weight:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Store"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Retrieve"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Drop"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "OK"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "All"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Select amount of items to trade."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Select amount of items to drop."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "Select amount of items to store."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "Select amount of items to retrieve."
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Select amount of items to split."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Weight: "
@@ -989,40 +969,40 @@ msgstr "Item sharing disabled."
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Map"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Waiting for server"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Next"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Submit"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Reset"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1037,7 +1017,7 @@ msgstr "To:"
msgid "Send"
msgstr "Send"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "Failed to send as sender or letter invalid."
@@ -1127,7 +1107,7 @@ msgstr "@@name|Add name to chat@@"
msgid "Pick up %s"
msgstr "Pick up"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|Add to chat@@"
@@ -1200,61 +1180,61 @@ msgstr "The password needs to be less than %d characters long."
msgid "Passwords do not match."
msgstr "Passwords do not match."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Choose your server"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Connecting..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Custom cursor"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Please type both the address and the port of a server."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Waiting for server"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1292,54 +1272,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "This is what the colour looks like"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Colours"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Type: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Static"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Pulse"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Rainbow"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Spectrum"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Delay: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Red: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Green: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Blue: "
@@ -1425,28 +1405,33 @@ msgstr "Ignored"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Allow trading"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Allow whispers"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "Put all whispers in tabs"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Show name"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "Unable to sell."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Players"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "When ignoring:"
@@ -1502,515 +1487,482 @@ msgstr "medium"
msgid "max"
msgstr "max"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Full screen"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Custom cursor"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Visible names"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Particle effects"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Show name"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "Show pickup notification"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "in chat"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "as particle"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPS Limit:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Video"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Show name"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "Overhead text"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Gui opacity"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Ambient FX"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Particle Detail"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Font size"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "No"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "mode and restoration of old mode also failed!"
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "mode and restoration of old mode also failed!"
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Switching to full screen"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Restart needed for changes to take effect."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Changing OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Applying change to OpenGL requires restart."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "Experience sharing disabled."
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Screen resolution changed"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Restart your client for the change to take effect."
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Particle effect settings changed."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "Changes will take effect on map change."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Skills"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Up"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Skill points: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Skill points: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Skills"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Level: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Level: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "Guild created."
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Create Guild"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Are you sure you want to quit?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > Invite a user to party"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > Invite a user to party"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Are you sure you want to quit?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Create Guild"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Create Character"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Invite User"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Large"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Accepted invite from %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Rejected invite from %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Accepted invite from %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Rejected invite from %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "Error creating guild."
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Guild"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Choose your server"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "Received party request, but one already exists."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s has invited you to join the %s party."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Accept Party Invite"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Received party request, but one already exists."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s has invited you to join their party."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s has invited you to join the %s party."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s has invited you to join their party."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s has invited you to join the %s party."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Accept Party Invite"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Party"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Choose your server"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Level: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Money: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "Job: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "Job:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "MP:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Exp:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Money: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Job:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Character stats OK"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Skill points: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Level: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Propose trade"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Confirmed. Waiting..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Agree trade"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Agreed. Waiting..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "Trade: You"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Trade"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Add"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "You get %s."
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "You give:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Change"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"Failed adding item. You can not overlap one kind of item on the window."
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "You don't have enough money."
@@ -2050,84 +2002,6 @@ msgstr "##1 you try again later"
msgid "Completed"
msgstr "Completed"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "Being"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Other Players' Names"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "Own Name"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "GM Names"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPCs"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Monsters"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Party"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Guild"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Particle Effects"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "Pickup Notification"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "Exp Notification"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Player hits Monster"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "Monster hits Player"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Critical Hit"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "Player hits Monster"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Critical Hit"
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Misses"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > Lists the users in the current channel"
@@ -2204,55 +2078,55 @@ msgstr "Need a user to op!"
msgid "Need a user to kick!"
msgstr "Need a user to kick!"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Global announcement:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Global announcement from %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s whispers: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Cannot send empty chat!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Close the whisper tab"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Command: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "This command closes the current whisper tab."
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Command: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "This command displays the number of players currently online."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr "This command starts recording the chat log to the file <filename>."
@@ -2280,321 +2154,334 @@ msgstr "Change"
msgid "Choose World"
msgstr "Choose your server"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Move Up"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Move Down"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Move Left"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Move Right"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Attack"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Target & Attack"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "Smiley"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Talk"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Stop Attack"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Target Closest"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "Target NPC"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Target Player"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "Pick up"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Hide Windows"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Sit"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Screenshot"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Allow/Disallow Trading"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "Find Path to Mouse"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "Item Shortcut %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Help Window"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Status Window"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Inventory Window"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Equipment Window"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Skill Window"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Minimap Window"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Chat Window"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Item Shortcut Window"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Setup Window"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Debug Window"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Skill Window"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "Emote Shortcut Window"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Status Window"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "Emote Shortcut %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "Toggle Chat"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Scroll Chat Up"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Scroll Chat Down"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "Previous Chat Tab"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Next Chat Tab"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "Select OK"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "Ignore input 1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "Ignore input 2"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "Resolve them, or gameplay may result in strange behaviour."
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "Unable to pick up item."
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "You picked up %s [@@%d|%s@@]."
msgstr[1] "You picked up %s [@@%d|%s@@]."
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Options:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : Display the version"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : Display this help"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : Configuration file to use"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username : Login with this username"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : Login with this password"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character : Login with this character"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server : Login server name or IP"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -p --port : Login server port"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host : Use this update host"
-#: src/main.cpp:53
+#: src/main.cpp:57
#, fuzzy
msgid " -D --default : Choose default character server and character"
msgstr " -D --default : Choose default character server and character"
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : Skip the update downloads"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data : Directory to load game data from"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : Directory to use as home directory"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : Configuration file to use"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : Directory to use as home directory"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : Disable OpenGL for this session"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "You are dead."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr "We regret to inform you that your character was killed in battle."
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "You are not that alive anymore."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr "The cold hands of the grim reaper are grasping for your soul."
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "Game Over!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
@@ -2602,7 +2489,7 @@ msgstr ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
@@ -2610,88 +2497,89 @@ msgstr ""
"Your plan of breaking your enemy's weapon by bashing it with your throat "
"failed."
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "I guess this did not run too well."
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "Do you want your possessions identified?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "Sadly, no trace of you was ever found..."
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "Annihilated."
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr "Looks like you got your head handed to you."
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
"You screwed up again, dump your body down the tubes and get yourself another "
"one."
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
#, fuzzy
msgid "Press OK to respawn."
msgstr " Press OK to respawn"
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "You died"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "Already logged in"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "Username already exists"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Character stats OK"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Character stats OK"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2699,96 +2587,96 @@ msgstr ""
msgid "Unknown error."
msgstr "Unknown error"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "Info"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "Character deleted."
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Select amount of items to trade."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Unknown error"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "No gameservers are available."
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "Topic: %s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "Player hits Monster"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Command: /join <channel>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "Requesting to join channel %s."
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s joined the party."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Unknown command."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "Guild created."
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "Error creating guild."
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "Invite sent."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr "Member was promoted successfully."
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "Failed to promote member."
@@ -2879,11 +2767,11 @@ msgstr "Email address already exists"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "Joined party."
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s joined the party."
@@ -2893,190 +2781,137 @@ msgstr "%s joined the party."
msgid "%s rejected your invite."
msgstr "%s refused your invitation."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Strength"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "Strength %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Agility"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "Agility %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Dexterity"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "Dexterity %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "Vitality"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "Vitality %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Intelligence"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "Intelligence %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Willpower:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "Willpower %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "Accepting incoming trade requests."
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "Ignoring incoming trade requests."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "Request for Trade"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s wants to trade with you, do you accept?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "Trading with %s"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "Trade canceled."
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "Trade completed."
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "Kick failed!"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "Kick succeeded!"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Nothing to sell."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Thanks for buying."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "Unable to buy."
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Thanks for selling."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "Unable to sell."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "Cannot use this ID"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Unknown error"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Failed to create character. Most likely the name is already taken."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Character deleted."
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Failed to delete character."
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Strength:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Agility:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Vitality:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Intelligence:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Dexterity:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Luck:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "Whisper could not be sent, user is offline."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "Whisper could not be sent, ignored by user."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Player"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "Channels are not supported!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3091,80 +2926,125 @@ msgstr "Name"
msgid "Request to quit denied!"
msgstr "Request for Trade"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "Strength %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "Agility %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "Vitality %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "Intelligence %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "Dexterity %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "Luck %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Authentication failed"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "No servers available"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "Someone else is trying to use this account"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "This account is already logged in"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "Speed hack detected"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "Duplicated login"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "Unknown connection error"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "Disconnected from server!"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Strength"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Agility"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "Vitality"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Intelligence"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Dexterity"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Luck"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Defense:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "M.Attack:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "M.Defense:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Accuracy:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% Evade:"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "Critical Hit"
@@ -3215,29 +3095,29 @@ msgstr "This command causes the player to leave the party."
msgid "Guild name is missing."
msgstr "Party name is missing."
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s is now a member of your party."
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "Unknown invite response for %s."
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3317,15 +3197,15 @@ msgstr "Command: /exp"
msgid "This command displays the party's current experience sharing policy."
msgstr "This command displays the party's current experience sharing policy."
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "Item sharing enabled."
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "Item sharing disabled."
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "Item sharing not possible."
@@ -3334,15 +3214,15 @@ msgstr "Item sharing not possible."
msgid "Item sharing unknown."
msgstr "Item sharing enabled."
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "Experience sharing enabled."
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "Experience sharing disabled."
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "Experience sharing not possible."
@@ -3351,15 +3231,15 @@ msgstr "Experience sharing not possible."
msgid "Experience sharing unknown."
msgstr "Experience sharing enabled."
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "Failed to use item."
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "Unable to equip."
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "Unable to unequip."
@@ -3427,7 +3307,7 @@ msgstr "Unable to sell."
msgid "Connection to server terminated. "
msgstr "Connecting to map server..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "Could not create party."
@@ -3435,104 +3315,99 @@ msgstr "Could not create party."
msgid "Party successfully created."
msgstr "Party successfully created."
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s is already a member of a party."
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s refused your invitation."
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s is now a member of your party."
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "Unknown invite response for %s."
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "You have left the party."
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s has left your party."
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "An unknown member tried to say: %s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > Invite a user to party"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s is not in your party!"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Insert coin to continue."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "You're not dead yet. You're just resting."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "You are no more."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "You have ceased to be."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "You've expired and gone to meet your maker."
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "You're a stiff."
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "Bereft of life, you rest in peace."
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr "If you weren't so animated, you'd be pushing up the daisies."
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "Your metabolic processes are now history."
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr "You're off the twig."
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "You've kicked the bucket."
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
@@ -3540,141 +3415,141 @@ msgstr ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "You are an ex-player."
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr "You're pining for the fjords."
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Message"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
"You are carrying more than half your maximum load. You are unable to "
"automatically regain health."
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "You picked up "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "Equip arrows first."
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Trade failed!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "Emote failed!"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Sit failed!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Failed to create channel!"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Could not join party!"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "Can not shout!"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "You have not yet reached a high enough level!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "Insufficient HP!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "Insufficient SP!"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "You have no memos!"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "You can not do that right now!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Seems you need more money... ;-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "You cannot use this skill with that kind of weapon!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "You need another red gem!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "You need another blue gem!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "You're carrying to much to do this!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "Huh? What's that?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "Warp failed..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "Could not steal anything..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Poison had no effect..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Trading isn't possible. Trade partner is too far away."
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Trading isn't possible. Character doesn't exist."
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "Trade cancelled due to an unknown reason."
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "Trade: You and %s"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "Trade with %s cancelled."
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "Unhandled trade cancel packet."
@@ -3690,57 +3565,72 @@ msgstr "Failed to add item. Trade partner has no free slot."
msgid "Failed adding item for unknown reason."
msgstr "Failed to add item for unknown reason."
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|Completely ignore %s@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Attack %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Defense %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Unknown item"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "unnamed"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Exp:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Money: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Job:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Level: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "Access denied"
@@ -3754,6 +3644,13 @@ msgstr "unnamed"
#~ msgid "Willpower:"
#~ msgstr "Willpower:"
+#~ msgid "Willpower %+d"
+#~ msgstr "Willpower %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Willpower:"
+
#, fuzzy
#~ msgid "Server is full."
#~ msgstr "Server is full"
@@ -3805,6 +3702,24 @@ msgstr "unnamed"
#~ msgid "Hyperlink"
#~ msgstr "Hyperlink"
+#~ msgid "Being"
+#~ msgstr "Being"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Other Players' Names"
+
+#~ msgid "Own Name"
+#~ msgstr "Own Name"
+
+#~ msgid "GM Names"
+#~ msgstr "GM Names"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCs"
+
+#~ msgid "Monsters"
+#~ msgstr "Monsters"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Unknown Item Type"
@@ -3846,6 +3761,29 @@ msgstr "unnamed"
#~ msgid "Ammo"
#~ msgstr "Ammunition"
+#~ msgid "Particle Effects"
+#~ msgstr "Particle Effects"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "Pickup Notification"
+
+#~ msgid "Exp Notification"
+#~ msgstr "Exp Notification"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "Player hits Monster"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "Monster hits Player"
+
+#~ msgid "Critical Hit"
+#~ msgstr "Critical Hit"
+
+#~ msgid "Misses"
+#~ msgstr "Misses"
+
#~ msgid "HP Bar"
#~ msgstr "HP Bar"
diff --git a/po/eo.po b/po/eo.po
index 9e0c1c0b..881cd6e3 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-09-10 13:30+0000\n"
"Last-Translator: Yamiharu <yamiharu84@gmail.com>\n"
"Language-Team: Esperanto <eo@li.org>\n"
@@ -19,468 +19,448 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr ""
-#: src/client.cpp:643
+#: src/client.cpp:679
msgid "Connecting to server"
msgstr ""
-#: src/client.cpp:670
+#: src/client.cpp:706
msgid "Logging in"
msgstr ""
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
msgid "Changing game servers"
msgstr ""
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr ""
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
msgid "Password Change"
msgstr ""
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr ""
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "--Helpo--"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr ""
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr ""
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr ""
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Tiu komando monstras la liston de uzeblaj komandoj"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -489,40 +469,40 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "La mapo ne sxa"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -536,34 +516,34 @@ msgstr ""
msgid "Buy"
msgstr ""
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr ""
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -577,11 +557,11 @@ msgstr ""
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr ""
@@ -654,14 +634,14 @@ msgstr ""
msgid "Name:"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -676,8 +656,8 @@ msgstr ""
msgid "Hair style:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr ""
@@ -732,8 +712,8 @@ msgstr ""
msgid "Change Email"
msgstr ""
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr ""
@@ -741,24 +721,24 @@ msgstr ""
msgid "Choose"
msgstr ""
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -824,8 +804,8 @@ msgstr ""
msgid "Equipment"
msgstr ""
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -833,7 +813,7 @@ msgstr ""
msgid "Help"
msgstr ""
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -845,80 +825,83 @@ msgstr ""
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr ""
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr ""
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr ""
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, c-format
msgid "Weight: %s"
msgstr ""
@@ -947,40 +930,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr ""
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
msgid ""
"\n"
"> Next\n"
@@ -994,7 +977,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1080,7 +1063,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1152,56 +1135,56 @@ msgstr ""
msgid "Passwords do not match."
msgstr ""
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr ""
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr ""
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
msgid "Server type:"
msgstr ""
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
msgid "Connect"
msgstr ""
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
msgid "Custom Server"
msgstr ""
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1238,50 +1221,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1365,27 +1348,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1441,484 +1428,457 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
msgid "None"
msgstr ""
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr ""
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, c-format
msgid "Skill %d"
msgstr ""
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, c-format
msgid "Lvl: %d (%+d)"
msgstr ""
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, c-format
msgid "Lvl: %d"
msgstr ""
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Ĉu vi vere volas fini la programon?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Ĉu vi vere volas fini la programon?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
msgid "Create Party"
msgstr ""
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-msgid "Money"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-msgid "Level"
-msgstr ""
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1957,78 +1917,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2105,53 +1993,53 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2175,478 +2063,491 @@ msgstr ""
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
msgid " -h --help : Display this help"
msgstr ""
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
msgid "Unknown error."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, c-format
msgid "Unknown error (%d)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
msgid "Unknown channel event."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2723,11 +2624,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2737,186 +2638,134 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
msgid "Unknown char-server failure."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2929,70 +2778,115 @@ msgstr ""
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
msgid "Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3037,27 +2931,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3133,15 +3027,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3149,15 +3043,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3165,15 +3059,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3229,7 +3123,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3237,242 +3131,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3488,52 +3377,43 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "sennoma"
diff --git a/po/et.po b/po/et.po
index 9e9c60bb..319fbb2a 100644
--- a/po/et.po
+++ b/po/et.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2010-01-26 08:47+0000\n"
"Last-Translator: Kerdo <Unknown>\n"
"Language-Team: Estonian <et@li.org>\n"
@@ -19,468 +19,448 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr ""
-#: src/client.cpp:643
+#: src/client.cpp:679
msgid "Connecting to server"
msgstr ""
-#: src/client.cpp:670
+#: src/client.cpp:706
msgid "Logging in"
msgstr ""
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
msgid "Changing game servers"
msgstr ""
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Viga"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
msgid "Password Change"
msgstr ""
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr ""
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr ""
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr ""
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr ""
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr ""
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -489,39 +469,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -535,34 +515,34 @@ msgstr ""
msgid "Buy"
msgstr ""
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr ""
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -576,11 +556,11 @@ msgstr ""
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr ""
@@ -653,14 +633,14 @@ msgstr ""
msgid "Name:"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -675,8 +655,8 @@ msgstr ""
msgid "Hair style:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr ""
@@ -731,8 +711,8 @@ msgstr ""
msgid "Change Email"
msgstr ""
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Kustuta"
@@ -741,24 +721,24 @@ msgstr "Kustuta"
msgid "Choose"
msgstr "Sulge"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Vestlus"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -824,8 +804,8 @@ msgstr ""
msgid "Equipment"
msgstr ""
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -833,7 +813,7 @@ msgstr ""
msgid "Help"
msgstr "Abi"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Sulge"
@@ -845,80 +825,83 @@ msgstr ""
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr ""
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr ""
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr ""
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, c-format
msgid "Weight: %s"
msgstr ""
@@ -947,40 +930,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Järgmine"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -995,7 +978,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1081,7 +1064,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1153,56 +1136,56 @@ msgstr ""
msgid "Passwords do not match."
msgstr ""
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr ""
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr ""
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
msgid "Server type:"
msgstr ""
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
msgid "Connect"
msgstr ""
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
msgid "Custom Server"
msgstr ""
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1239,50 +1222,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1366,27 +1349,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1442,486 +1429,458 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Ei"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr ""
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, c-format
msgid "Skill %d"
msgstr ""
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, c-format
msgid "Lvl: %d (%+d)"
msgstr ""
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, c-format
msgid "Lvl: %d"
msgstr ""
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, c-format
msgid "Are you sure you want to leave party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
msgid "Create Party"
msgstr ""
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Raha: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Raha: %d"
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-msgid "Level"
-msgstr ""
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1960,78 +1919,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2108,53 +1995,53 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2178,478 +2065,491 @@ msgstr ""
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
msgid " -h --help : Display this help"
msgstr ""
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
msgid "Unknown error."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, c-format
msgid "Unknown error (%d)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
msgid "Unknown channel event."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2726,11 +2626,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2740,186 +2640,134 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
msgid "Unknown char-server failure."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2932,71 +2780,116 @@ msgstr ""
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Kustuta"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3041,27 +2934,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3137,15 +3030,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3153,15 +3046,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3169,15 +3062,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3233,7 +3126,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3241,242 +3134,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3492,55 +3380,50 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Raha: %d"
+
#~ msgid "Previous"
#~ msgstr "Eelmine"
diff --git a/po/fa.po b/po/fa.po
index 6e404730..f8d7f741 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-07-24 18:21+0000\n"
"Last-Translator: kasra5004 <kasra5004@yahoo.com>\n"
"Language-Team: Persian <fa@li.org>\n"
@@ -19,474 +19,454 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr ""
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "در حال اتصال..."
-#: src/client.cpp:670
+#: src/client.cpp:706
msgid "Logging in"
msgstr ""
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "در حال اتصال..."
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "خطا"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "گذرواژه:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "ثبت نام نشده"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "چنین دستور وجود ندارد"
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "رهنما"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "صÙحه ÛŒ راهنما را نشان Ù…ÛŒ دهد"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "نام نقشه ی حاضر را نشان می دهد"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "تعداد اÙراد آنلاین را نشان Ù…ÛŒ دهد"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "با این Ùرمان Ù…ÛŒ توانید به سایرین چیزی در مورد خودتان بگویید"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "صÙحه را پاک Ù…ÛŒ کند"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "Ù…ÛŒ توانید با این Ùرمان پیغام خصوصی بÙرستید"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
"با این دستور می توانید یک شاخه برای پیغام های خصوصی کاربری دیگر ، درست کنید"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "تمامی کانال های عمومی را نشان می دهد"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "با این دستور می توانید به یک کانال بپیوندید یا یکی درست کنید"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "می توانید با این دستور کاربری دیگر را به گروه خود دعوت کنید"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "می توانید با این دستور کاربری دیگر را به گروه خود دعوت کنید"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "می توانید به وسیله ی آن از چت خود، یک کپی خروجی بگیرید"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "اعلام سراسری( تنها مسئولان بازی Ù…ÛŒ توانند از آن استÙاده کنند.)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "برای اطلاعات بیشتر ، <دستور مورد نظر> help/ را تایپ کنید"
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -495,39 +475,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "کلی"
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "خطای شبکه"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -541,34 +521,34 @@ msgstr ""
msgid "Buy"
msgstr ""
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "خروج"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "حداکثر"
@@ -582,11 +562,11 @@ msgstr ""
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "انصراÙ"
@@ -659,14 +639,14 @@ msgstr ""
msgid "Name:"
msgstr "نام"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -683,8 +663,8 @@ msgstr "رنگ مو"
msgid "Hair style:"
msgstr "مدل مو"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "بساز"
@@ -739,8 +719,8 @@ msgstr "ثبت نام نشده"
msgid "Change Email"
msgstr ""
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "حذÙ"
@@ -748,24 +728,24 @@ msgstr "حذÙ"
msgid "Choose"
msgstr ""
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "چت"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -831,8 +811,8 @@ msgstr ""
msgid "Equipment"
msgstr "تجهیزات"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -840,7 +820,7 @@ msgstr ""
msgid "Help"
msgstr ""
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -852,80 +832,83 @@ msgstr ""
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr ""
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr ""
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "تایید"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, c-format
msgid "Weight: %s"
msgstr ""
@@ -954,40 +937,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "بعدی"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1002,7 +985,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1088,7 +1071,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1160,57 +1143,57 @@ msgstr ""
msgid "Passwords do not match."
msgstr ""
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr ""
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr ""
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
msgid "Server type:"
msgstr ""
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "در حال اتصال..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
msgid "Custom Server"
msgstr ""
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1247,50 +1230,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1374,27 +1357,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1450,486 +1437,459 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
msgid "None"
msgstr ""
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr ""
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, c-format
msgid "Skill %d"
msgstr ""
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, c-format
msgid "Lvl: %d (%+d)"
msgstr ""
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, c-format
msgid "Lvl: %d"
msgstr ""
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "آیا مطمئن هستید که می‌خواهید خارج شوید؟"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "می توانید با این دستور کاربری دیگر را به گروه خود دعوت کنید"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "می توانید با این دستور کاربری دیگر را به گروه خود دعوت کنید"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "آیا مطمئن هستید که می‌خواهید خارج شوید؟"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "بساز"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-msgid "Money"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-msgid "Level"
-msgstr ""
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1968,78 +1928,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2116,53 +2004,53 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2186,389 +2074,402 @@ msgstr ""
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr "صÙحه ÛŒ راهنما را نشان Ù…ÛŒ دهد"
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2576,91 +2477,91 @@ msgstr ""
msgid "Unknown error."
msgstr "چنین دستور وجود ندارد"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "چنین دستور وجود ندارد"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "چنین دستور وجود ندارد"
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2737,11 +2638,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2751,187 +2652,135 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "چنین دستور وجود ندارد"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2945,71 +2794,116 @@ msgstr "نام"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "حذÙ"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3055,27 +2949,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3151,15 +3045,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3167,15 +3061,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3183,15 +3077,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3249,7 +3143,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3257,242 +3151,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "می توانید با این دستور کاربری دیگر را به گروه خود دعوت کنید"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3508,52 +3397,43 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
diff --git a/po/fi.po b/po/fi.po
index 0a27d640..7cb15b8e 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-07-25 15:42+0000\n"
"Last-Translator: gemis <vienamo@mbnet.fi>\n"
"Language-Team: Finnish <fi@li.org>\n"
@@ -19,479 +19,458 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Asetukset"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Yhdistetään kartta palvelimelle"
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Kirjaudu sisään"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Valitse hahmo"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "Yhdistetään kartta palvelimelle"
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Palvelin:"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Virhe"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Salasana:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Muuta"
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Poista palvelimelta"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Tuntematon komento."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "--Apua--"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Näyttää tämän apu tekstin"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Näytä kartan nimi"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Näytä paikalla olevien pelaajien määrä"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Kerro jotain itsestäsi"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Tyhjennä ikkuna"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Lähetä yksityis viesti käyttäjälle"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > Tekee välilehden toisen käyttäjän yksityisviestejä varten."
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Näytä kaikki julkiset kanavat"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Liity tai luo kanava"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > Aloita keskustelun nauhoitus ulkoiseen tiedostoon"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Tämä komento näyttää listan kaikista komennoista."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Tämä komento näyttää paikalla olevien pelaajien määrän."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Jos kanavaa <cannel> ei ole, se luodaan."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Tämä komento näyttää listan kaikista kanavista"
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Tämä komento lähettää tekstin <message> käyttäjälle <nick>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Tällä komennolla poistut kanvalta."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Tällä komennolla poistut kanvalta."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr "Tämä komento aloittaa keskustelun nauhoituksen tiedostoon <filename>."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Tämä komento näyttää nykyisen kartan nimen"
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Tämä komento näyttää paikalla olevien pelaajien määrän."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Kirjoita /help jotta näkisit listan komennoista."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -500,42 +479,42 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Yleiset"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Ruutukaappaus tallennettu ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Ruutukaappauksen tallentaminen epäonnistui!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "Yhteys palvelimeen katkesi, ohjelma sulkeutuu nyt"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Verkkovirhe"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Hyväksy kauppa pyyntö"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Karttaa ei voi ladata"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Ongelma ladatessa %s"
@@ -549,34 +528,34 @@ msgstr ""
msgid "Buy"
msgstr "Osta"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Sulje"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Max"
@@ -590,11 +569,11 @@ msgstr "Myy"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Peru"
@@ -669,14 +648,14 @@ msgstr "Luo hahmo"
msgid "Name:"
msgstr "Nimi:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -693,8 +672,8 @@ msgstr "Hiusten väri:"
msgid "Hair style:"
msgstr "Hiustyyli:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Luo"
@@ -750,8 +729,8 @@ msgstr "Poista palvelimelta"
msgid "Change Email"
msgstr "Vaihda sähköpostiosoite"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Poista"
@@ -760,24 +739,24 @@ msgstr "Poista"
msgid "Choose"
msgstr "Sulje"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Keskustelu"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -843,8 +822,8 @@ msgstr "Taustaäänet"
msgid "Equipment"
msgstr "Varusteet"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Poista varuste käytöstä"
@@ -852,7 +831,7 @@ msgstr "Poista varuste käytöstä"
msgid "Help"
msgstr "Apua"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Sulje"
@@ -864,81 +843,84 @@ msgstr "Varusteluettelo"
msgid "Storage"
msgstr "Varasto"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Ota käyttöön"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Käytä"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Pudota"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Jaa"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Paino:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Talleta"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Pudota"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "Ok"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Kaikki"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Anna vaihdettavien tavaroiden määrä."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Anna pudotettavien tavaroiden määrä."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Anna eri pinoon jaettavien tavaroiden määrä."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Paino: "
@@ -969,40 +951,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Kartta"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Odotetaan palvelinta"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Seuraava"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Lähetä"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "Epäpelattava hahmo"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Nollaa"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1017,7 +999,7 @@ msgstr ""
msgid "Send"
msgstr "Lähetä"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1105,7 +1087,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1177,61 +1159,61 @@ msgstr "Salasanan tulee olla alle %d merkkiä pitkä."
msgid "Passwords do not match."
msgstr "Salasanat eivät täsmää."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Valitse palvelin"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Palvelin:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Portti:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Palvelin:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Yhdistetään..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Tyylitelty hiiren osoitin"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Kirjoita kenttiin sekä palvelimen osoite että portti"
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Odotetaan palvelinta"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1269,50 +1251,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Värit"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Sateenkaari"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1396,28 +1378,32 @@ msgstr "ohitettu"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Salli kaupakäynti"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Näytä nimi"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Pelaajat"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1473,501 +1459,472 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Kokoruututila"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Tyylitelty hiiren osoitin"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Näytä nimet"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Hiukkas tehosteet"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Näytä nimi"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "Piirtonopeusrajoitin (kuvaa / sekunti)"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Kuva"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Näytä nimi"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Käyttöliittymän läpinäkyvyys"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Taustaäänet"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Hiukkas tehosteet"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Kirjasimen koko"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Ei"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Kokoruututilaan siirtyminen"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Ohjelma pitää käynnistää uudelleen, jotta muutokset astuvat voimaan."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Vaihdetaan OpenGL -toimintatilaan"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "OpenGL -asetusten muutokset vaativat ohjelman uudelleenkäynnistyksen"
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Näytön resoluutio vaihdettu"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Hiukkas tehoste asetukset vaihdettu."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Taidot"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Ylös"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Taidot"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Taso: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Taso: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Haluatko varmasti lopettaa?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Haluatko varmasti lopettaa?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Luo hahmo"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Kutsu käyttäjä"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Suuri"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "T"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Valitse palvelin"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Valitse palvelin"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Taso: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Rahatilanne: %d"
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Hahmon pistejako OK"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Taso: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Ehdota vaihtokauppaa"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Varmistettu. Odotetaan..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Hyväksy kauppa"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Hyväksytty. Odotetaan..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Lisää"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Annat:"
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Annat:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Muuta"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Sinulla ei ole tarpeeksi rahaa."
@@ -2007,80 +1964,6 @@ msgstr "##1 yrität myöhemmin uudelleen"
msgid "Completed"
msgstr "Valmis"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Muiden pelaajien nimet"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "Oma nimi"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "T"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPCt"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Hirviöt"
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "T"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Muiden pelaajien nimet"
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2159,54 +2042,54 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Globaali ilmoitus:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Tämä komento näyttää paikalla olevien pelaajien määrän."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr "Tämä komento aloittaa keskustelun nauhoituksen tiedostoon <filename>."
@@ -2234,307 +2117,319 @@ msgstr "Muuta"
msgid "Choose World"
msgstr "Valitse palvelin"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Ylöspäin"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Alaspäin"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Vasemmalle"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Oikealle"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Hirviöt"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Piilota ikkunat"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Istu"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Kuvankaappaus"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Inventaario Ikkuna"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Varuste ikkuna"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Asetus ikkuna"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Piilota ikkunat"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Varuste ikkuna"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "Edellinen keskustelu välilehti"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Seuraava keskustelu välilehti"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Asetukset:"
-#: src/main.cpp:44
+#: src/main.cpp:48
msgid " -v --version : Display the version"
msgstr ""
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr "/help > Näyttää tämän apu tekstin"
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "Sinä olet kuollut."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "Et ole enää elossa."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "Peli Loppu!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
@@ -2542,7 +2437,7 @@ msgstr ""
"Ei, lapset. Teidän hahmonne ei oikeasti kuollut. Se... öhm... meni parempaan "
"paikkaan."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
@@ -2550,84 +2445,85 @@ msgstr ""
"Suunnitelmasi rikkoa vastustajiesi aseet iskemällä ne omaan kurkkuusi "
"epäonnistui."
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Annat:"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "Hahmo poistettu"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Hahmon pistejako OK"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Hahmon pistejako OK"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2635,93 +2531,93 @@ msgstr ""
msgid "Unknown error."
msgstr "Tuntematon virhe"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "Hahmo poistettu"
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Anna vaihdettavien tavaroiden määrä."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Tuntematon virhe"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Tuntematon komento."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2807,11 +2703,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2821,189 +2717,136 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Tahdonvoima:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s haluaa käydäkauppaa kanssasi, hyväksytkö pyynnön?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Ei mitään myytävää"
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Tuntematon virhe"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
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ä."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Hahmo poistettu"
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Hahmon poisto epäonnistui"
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Voima:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Ketteryys:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Elinvoima:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Älykkyys:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Näppäryys:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Pelaaja"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "Kanavia ei tueta!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3017,78 +2860,123 @@ msgstr "Nimi"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Tunnistus epäonnistui"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "Palvelimia ei saatavilla"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "Joku muu yrittää käyttää tätä tunnusta"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "Tällä tunnuksella on jo kirjauduttu"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "Tuntematon yhteys ongelma"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Puolustus %+d"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "Hyökkäys %+d"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "Puolustus %+d"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Tarkkuus:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3136,27 +3024,27 @@ msgstr "Tämä komento lähettää tekstin <message> käyttäjälle <nick>."
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3232,15 +3120,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3248,15 +3136,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3264,15 +3152,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "Esineen käyttö epä-onnistui"
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3338,7 +3226,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr "Yhdistetään kartta palvelimelle"
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3346,242 +3234,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Syötä kolikko jatkaaksesi."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "Sinä et ole kuollut vielä. olet vain lepäämässä."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "Sinä et ole enään."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Viesti"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr "Painat yli puolet painostasi. Et voi saavuttaa terveyttä enää."
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Kauppa epäonnistui!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Istuminen epäonnistui!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Et voi tehdä sitä juuri nyt!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Näyttää siltä että tarvitset lisää rahaa."
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Et voi käyttää tätä taitoa tuollaisen aseen kanssa."
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "Tarvitset toisen punaisen helmen."
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "Tarvitset toisen sinisen helmen."
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Myrkyllä ei ollut vaikutusta..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Kaupankäynti ei ole mahdollista. kauppa kumppani on liian kaukana."
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Kaupankäynti ei ole mahdollista. Hahmoa ei ole."
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "Kauppa keskeytyi tuntemattomasta syystä."
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3597,53 +3480,44 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "Valmis"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Hyökkäys %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Puolustus %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "Iskupisteet %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "Taikapisteet %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
@@ -3669,6 +3543,21 @@ msgstr ""
#~ msgid "Hyperlink"
#~ msgstr "Hyperlinkki"
+#~ msgid "Other Players' Names"
+#~ msgstr "Muiden pelaajien nimet"
+
+#~ msgid "Own Name"
+#~ msgstr "Oma nimi"
+
+#~ msgid "GM Names"
+#~ msgstr "T"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCt"
+
+#~ msgid "Monsters"
+#~ msgstr "Hirviöt"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Tuntematon esine tyyppi"
@@ -3697,6 +3586,14 @@ msgstr ""
#~ msgstr "Panokset"
#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Rahatilanne: %d"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Taso: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "Pääsy evätty"
@@ -3707,6 +3604,10 @@ msgstr ""
#~ msgid "Willpower:"
#~ msgstr "Tahdonvoima:"
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Tahdonvoima:"
+
#~ msgid "no"
#~ msgstr "ei"
diff --git a/po/he.po b/po/he.po
index f3a08efa..c4d183d8 100644
--- a/po/he.po
+++ b/po/he.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
-"PO-Revision-Date: 2010-12-06 19:34+0100\n"
-"Last-Translator: Yohann Ferreira <yohann ferreira orange fr>\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
+"PO-Revision-Date: 2010-01-09 11:27+0000\n"
+"Last-Translator: hewhohasalongname <Unknown>\n"
"Language-Team: Hebrew <he@li.org>\n"
"Language: he\n"
"MIME-Version: 1.0\n"
@@ -19,342 +19,321 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "הגדרות"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "מתחבר לשרת המפה..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "התחברות"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "בחר שחקן"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "מתחבר לשרת המפה..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "שרת"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "שגי××”"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "סיסמה:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "שנה"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "החבר ×§×•×“× ×‘×”×¦×œ×—×”."
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "בטל רישו×"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "שרת עדכון פגו×: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "שגי××” ביצירת ספריית העדכוני×!"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "פקודה ×œ× ×ž×•×›×¨×ª."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- עזרה --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "הצג תפריט עזרה זה <help/"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "הצג ×ת ×©× ×”×ž×¤×” <where/"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "הצג ×ת כמות ×”×ž×©×ª×ž×©×™× ×”×ž×—×•×‘×¨×™× <who/"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "ספר על עצמך <me/"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "נקה ×ת החלון <clear/"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "שלח הודעה פרטית למשתמש < msg/"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "נמען ההודעה < whisper/"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "נמען ההודעה <w/"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > יוצר לשונית עבור הודעות פרטיות ×¢× ×ž×©×ª×ž×© ×חר"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > ×©× × ×•×¡×£ ל-query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > הצג ×ת כל ×”×—×“×¨×™× ×”×¦×™×‘×•×¨×™×™×"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > צור ×ו הצטרף לחדר"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > צור חבורה חדשה"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > הזמן משתמש לחבורה"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > התחל להקליט ×ת השיחה לקובץ חיצוני"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > קובע ×× <×נטר> סוגר ×ת תיבת הטקסט של הצ'×ט"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr "/present > קבל ×ת רשימת הנמצ××™× (ישלח לרישו×, ×× ×¤×¢×™×œ)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > הודעה גלוב×לית (GM בלבד)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "למידע נוסף, הקלד /help <command>."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "פקודה: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "פקודה זו מציגה רשימה של כל הפקודות ×”×פשריות."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "פקודה: /help <command>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "פקודה זו מציגה עזרה על <command>."
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "פקודה: /announce <msg>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** זמין ל-GM בלבד ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
-msgstr "פקודה זו שולחת ×ת ההודעה <msg> לכל ×”×©×—×§× ×™× ×”×ž×—×•×‘×¨×™×."
+msgstr ""
+"This command sends the message <msg> to all players currently online.\r\n"
+"פקודה זו שולחת ×ת ההודעה <msg> לכל ×”×©×—×§× ×™× ×”×ž×—×•×‘×¨×™×."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "פקודה: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "פקודה זו מנקה ×ת ×¨×™×©×•× ×”×©×™×—×” הקודמת."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "פקודה: /item <policy>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "פקודה זו מציגה ×ת מספר ×”×©×—×§× ×™× ×”×ž×—×•×‘×¨×™× ×›×¨×’×¢."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "פקודה: /join <channel>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "פקודה זו מכניסה ×ותך ×ל <channel>."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "×× <channel> ×ינו קיי×, ×”×•× × ×•×¦×¨."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "פקודה: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "פקודה זו מציגה ×ת רשימת כל החדרי×."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "פקודה: /me <message>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "פקודה זו ת×מר ל××—×¨×™× ×©×תה (עושה) <msg>."
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "פקודה: /msg <nick> <message>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "פקודה: /whisper <nick> <message>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "פקודה: /w <nick> <message>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "פקודה זו שולחת ×ת הטקסט <message> ×ל <nick>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr "×× <nick> מכיל ×¨×•×•×—×™× ×‘×ª×•×›×•, ×ª×—×•× ×ותו במרכ×ות כפולות (\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "פקודה: /query <nick>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "פקודה: /q <nick>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr "הפקודה מנסה ליצור לשונית עבור ×ž×¡×¨×™× ×‘×™× ×š לבין <nick>."
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "פקודה: /w <nick> <message>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "פקודה: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "פקודה זו מציבה ×ת <message> ככותרת × ×•×©× ×”×—×“×¨."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "פקודה: /create <party-name>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "פקודות ×לה יוצרות חבורה ×‘×©× <party-name>."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "פקודה: /party <nick>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "פקודה זו מזמינה ×ת <nick> להיות בחבורתך."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "פקודה: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -362,27 +341,27 @@ msgstr ""
"פקודה זו מקבלת ×ת רשימת ×”×ž×©×ª×ž×©×™× ×”×ž×•×¤×™×¢×™× ×¢×œ המסך, ושולח ×ותה לרישו×, ×× "
"הינך מקליט רישו×, ×ו ×ל השיחה."
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "פקודה: /record <filename>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr "פקודה זו מתחילה להקליט ×¨×™×©×•× ×©×™×—×” לקובץ <filename>."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "פקודה: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "פקודה זו מסיימת תהליך הקלטה."
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "פקודה: /toggle <state>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
@@ -390,7 +369,7 @@ msgstr ""
"הפקודה קובעת ×× ×ž×§×© ×”×נטר יסגור ×ת תיבת הטקסט של הצ'×ט ×ו ×©×”×•× ×™×™×¡×’×¨ ב×ופן "
"×וטומטי."
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -398,48 +377,48 @@ msgstr ""
"<state> יכול להיות ×חד משני משני מצבי×. \"1\", \"yes\", \"ture\" כדי לשנות "
"למצב פעיל, ×ו \"0\", no\", falst\" כדי לשנות למצב כבוי."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "פקודה: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "הפקודה מציגה ×ת מצב סגירת הטקסט ×”×וטומטית."
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "פקודה: /item <policy>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "פקודה: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "פקודה זו מציגה ×ת ×©× ×”×ž×¤×” הנוכחית."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "פקודה: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "פקודה זו מציגה ×ת מספר ×”×©×—×§× ×™× ×”×ž×—×•×‘×¨×™× ×›×¨×’×¢."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "הקלד /help לרשימת הפקודות."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "×œ× × ×™×ª×Ÿ לשלוח לחישות ריקות!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -448,67 +427,67 @@ msgstr ""
"×œ× × ×™×ª×Ÿ ליצור לשונית לחישות עבור הכינוי \"%s\"! הלשונית כבר קיימת ×ו שמדובר "
"בך."
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "מבקש להצטרף לחדר %s."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "×©× ×—×‘×•×¨×” חסר."
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "סגירת תיבת הטקסט ×”×וטומטית."
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "ההודעה סוגרת ×ת תיבת הטקסט."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "מקש ×”×נטר כעת סוגר ×ת תיבת הטקסט."
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "ההודעה כעת סוגרת ×ת תיבת הטקסט."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "חבורה נוצרה בהצלחה."
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "הלחישה ×œ× ×™×›×œ×” להשלח, מהמשתמש מתעל×."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "הלחישה ×œ× ×™×›×œ×” להשלח, מהמשתמש מתעל×."
@@ -519,42 +498,42 @@ msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
"×”×פשרויות עבור /%s ×”×™× × \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "כללי"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "תמונת־מסך נשמרה ×‘×ž×™×§×•× ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "שמירת תמונת־מסך נכשלה"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "החיבור לשרת נכשל, התוכנה תסגר כעת"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "שגי×ת רשת"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "×ž×ª×¢×œ× ×ž×”×¦×¢×•×ª סחר נכנסות"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "מ×שר הצעות סחר נכנסות"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "×œ× × ×™×ª×Ÿ לטעון ×ת המפה"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "שגי××” בעת טעינת %s"
@@ -568,34 +547,34 @@ msgstr "חבורה (%s)"
msgid "Buy"
msgstr "קנה"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "מחיר: %s / סה\"כ: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "יצי××”"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "מקסימו×"
@@ -609,11 +588,11 @@ msgstr "מכר"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "בטל"
@@ -689,14 +668,14 @@ msgstr "צור שחקן"
msgid "Name:"
msgstr "ש×:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -713,8 +692,8 @@ msgstr "צבע שיער:"
msgid "Hair style:"
msgstr "תיספורת:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "צור"
@@ -770,8 +749,8 @@ msgstr "בטל רישו×"
msgid "Change Email"
msgstr "שנה כתובת דו×ר ×לקטרוני"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "מחק"
@@ -780,24 +759,24 @@ msgstr "מחק"
msgid "Choose"
msgstr "סגור"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "שיחה"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d ×ž×©×ª×ž×©×™× × ×•×›×—×™×."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "מקליט שמות × ×•×›×—×™× ×œ×¨×™×©×•×."
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "לוחש ×ל %s: %s"
@@ -863,8 +842,8 @@ msgstr "×ופף FX"
msgid "Equipment"
msgstr "לבוש"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "הורד"
@@ -872,7 +851,7 @@ msgstr "הורד"
msgid "Help"
msgstr "עזרה"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "סגור"
@@ -884,81 +863,84 @@ msgstr "ציוד"
msgid "Storage"
msgstr "×יחסון"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "בשימוש:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "השתמש"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "השתמש"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "השלך"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "פצל"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "משקל:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "×חסן"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "החזר"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "השלך"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "×ישור"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "הכל"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "בחר כמות ×—×¤×¦×™× ×œ×¡×—×•×¨."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "בחר כמות ×—×¤×¦×™× ×œ×”×©×œ×™×š."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "בחר כמות ×—×¤×¦×™× ×œ×חסן."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "בחר כמות ×—×¤×¦×™× ×œ×”×—×–×™×¨."
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "בחר כמות ×—×¤×¦×™× ×œ×¤×¦×œ."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "משקל: "
@@ -990,40 +972,40 @@ msgstr "שיתוף ×—×¤×¦×™× ×ž×‘×•×˜×œ."
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "מפה"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "ממתין לשרת"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "הב×"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "שלח"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "×פס"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1038,7 +1020,7 @@ msgstr "×ל:"
msgid "Send"
msgstr "שלח"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "נכשלה השליחה מכיוון והשולח ×ו המכתב בעלי שגי××”."
@@ -1128,7 +1110,7 @@ msgstr "@@name|הוסף ×©× ×œ×©×™×—×”@@"
msgid "Pick up %s"
msgstr "הר×"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|הוסף לשיחה@@"
@@ -1201,61 +1183,61 @@ msgstr "הסיסמה חייבת להכיל פחות מ-%d תוי×."
msgid "Passwords do not match."
msgstr "הסיסמ×ות ×ינן תו×מות."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "בחר ×ת השרת שלך"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "שרת:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "פורט:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "שרת:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "מתחבר..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "סמן-עכבר מות××"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "×× × ×”×›× ×¡ ×’× ×ת כתובת ×•×’× ×ת פורט השרת."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "ממתין לשרת"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1293,54 +1275,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "כך הצבע נר××”"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "צבעי×"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "סוג: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "סטטי"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "פעימה"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "קשת בענן"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "מינסרה"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "עיכוב: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "×דו×: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "ירוק: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "כחול: "
@@ -1426,28 +1408,33 @@ msgstr "מתעל×"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "×פשר מסחר"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "×פשר לחישות"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "הכנס ×ת כל הלחישות ללשוניות"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "הצג ש×"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "×œ× × ×™×ª×Ÿ למכור."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "שחקני×"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "×›×שר מתעל×:"
@@ -1503,514 +1490,481 @@ msgstr "בינוני"
msgid "max"
msgstr "מקסימלי"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "מסך מל×"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "â€OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "סמן-עכבר מות××"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "שמות גלויי×"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "××¤×§×˜×™× ×—×œ×§×™×™×"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "הצג ש×"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "הצג התרעת לקיחה"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "בשיחה"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "ב×ופן חלקי"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "הגבלת FPS:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "ויד×ו"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "הצג ש×"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "טקסט מעל הר×ש"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "×טימות Gui"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "×ופף FX"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "מידע חלקי"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "גודל הגופן"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "ל×"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "מצב ושיחזור מצב ישן נכשלו!"
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "מצב ושיחזור מצב ישן נכשלו!"
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "מחליף למסך מל×"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "נדרש ×יתחול כדי ×©×”×©×™× ×•×™×™× ×™×”×™×• ברי-תוקף."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "משנה OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "×ישור ×©×™× ×•×™×™× ×¢×‘×•×¨ OpenGL דורש ×יתחול."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "שיתוף נסיון מבוטל."
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "רזולוצית המסך השתנתה"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "טען מחדש כדי שהשינוי יחול."
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "הגדרות השינוי החלקי השתנו."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "×”×©×™× ×•×™×™× ×™×—×•×œ×• על שינוי המפה."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "כישורי×"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "למעלה"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "נקודות כישורי×: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "נקודות כישורי×: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "כישורי×"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "רמה: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "רמה: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "גילדה נוצרה."
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "צור גילדה"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "×”×× ×תה בטוח שברצונך לצ×ת?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > הזמן משתמש לחבורה"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > הזמן משתמש לחבורה"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "×”×× ×תה בטוח שברצונך לצ×ת?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "צור גילדה"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "צור שחקן"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "הזמן משתמש"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "גדול"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "×שר ×ת ההזמנה של %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "דחה ×ת ההזמנה של %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "×שר ×ת ההזמנה של %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "דחה ×ת ההזמנה של %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "שגי××” ביצירת גילדה."
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "גילדה"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "בחר ×ת השרת שלך"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "התקבלה הזמנה לחבורה, ×ך הזמנה ×–×”×” כבר קיימת."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s הזמין ×ותך להצטרף לחבורת %s."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "×שר ×ת הזמנת חבורה"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "התקבלה הזמנה לחבורה, ×ך הזמנה ×–×”×” כבר קיימת."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s הזמין ×ותך לחבורה שלה×."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s הזמין ×ותך להצטרף לחבורת %s."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s הזמין ×ותך לחבורה שלה×."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s הזמין ×ותך להצטרף לחבורת %s."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "×שר ×ת הזמנת חבורה"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "חבורה"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "בחר ×ת השרת שלך"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "רמה: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "כסף: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "×—×™×™×:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "נסיון:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "קס×:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "עבודה: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "עבודה:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "×—×™×™×:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "קס×:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "נסיון:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "זהב: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "עבודה:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "נתוני שחקן - ×ישור"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "נקודות כישורי×: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "רמה: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "מציע לחור"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "×ושר. ממתין..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "×”×¡×›× ×œ×ž×¡×—×¨"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "מוסכ×. ממתין..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "סחור: ×תה"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "סחרר"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "הוסף"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "×תה מקבל %s."
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "×תה נותן:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "שנה"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr "הוספת הפריט נכשלה. ×œ× × ×™×ª×Ÿ להכניס מעל חפץ ×חד לחלון."
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "×ין לך מספיק כסף."
@@ -2050,84 +2004,6 @@ msgstr "-"
msgid "Completed"
msgstr "הסתיי×"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "× ×”×™×”"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "שמות ×”×ž×©×ª×ž×©×™× ×”×חרי×"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "×”×©× ×©×œ×š"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "שמות המנהלי×"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "דמויות"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "מפלצות"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "חבורה"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "גילדה"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "××¤×§×˜×™× ×—×œ×§×™×™×"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "הודעה על לקיחה"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "הודעה על נק' נסיון"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "משתמש מכה מפלצת"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "משתמש מכה משתמש"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "מכה קריטית"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "משתמש מכה מפלצת"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "מכה קריטית"
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "פספוס"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > רשימת ×”×ž×©×ª×ž×©×™× ×‘×—×“×¨ הנוכחי"
@@ -2204,55 +2080,55 @@ msgstr "צריך משתמש שינהל!"
msgid "Need a user to kick!"
msgstr "צריך משתמש שיעיף!"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "הודעה גלוב×לית:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "הודעה גלוב×לית מ×ת %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s: לוחש: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "×œ× × ×™×ª×Ÿ לשלוח הודעה ריקה!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > סוגר ×ת לשונית הלחישות"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "פקודה: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "הפקודה סוגרת ×ת לשונית הלחישות הנוכחית."
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "פקודה: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "פקודה זו מציגה ×ת מספר ×”×©×—×§× ×™× ×”×ž×—×•×‘×¨×™× ×›×¨×’×¢."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr "פקודה זו מתחילה להקליט ×¨×™×©×•× ×©×™×—×” לקובץ <filename>."
@@ -2280,412 +2156,426 @@ msgstr "שנה"
msgid "Choose World"
msgstr "בחר ×ת השרת שלך"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "הזז למעלה"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "הזז למטה"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "×”×–×– שמ×לה"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "הזז ימינה"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "תקוף"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "כוון ותקוף"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "חייך"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "דבר"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "הפסק לתקוף"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "כוון לקרוב ביותר"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "כוון לדמות"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "כוון לשחקן"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "הר×"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "הסתר חלונות"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "שב"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "תמונת־מסך"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "×פשר/בטל מסחר"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "×ž×¦× × ×ª×™×‘ לעכבר"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "קיצור־דרך לחפץ %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "חלון עזרה"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "חלון מצב"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "חלון ציוד"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "חלון לבוש"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "חלון כישורי×"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "חלון מיני מפה"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "חלון שיחה"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "חלון קיצור־דרך לחפץ"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "חלון הגדרות"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "חלון ניפוי"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "חלון כישורי×"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "חלון קיצור־דרך לרגישון"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "חלון מצב"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "קיצור־דרך לריגשון %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "סגירת הצ'×ט"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "גלול שיחה למעלה"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "גלול שיחה למטה"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "לשונית השיחה הקודמת"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "לשונית השיחה הב××”"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "בחר ×ישור"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "קלט התעלמות 1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "קלט התעלמות 2"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "פתור ×ות×, ×חרת המשחק עלול להתנהג ב×ופן מוזר."
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "×œ× × ×™×ª×Ÿ ×œ×”×¨×™× ×ת החפץ."
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "הרמת %s [@@%d|%s@@]."
msgstr[1] "הרמת %s [@@%d|%s@@]."
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "×פשרויות:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : Display the version"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : Display this help"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : Configuration file to use"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username : Login with this username"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : Login with this password"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character : Login with this character"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server : Login server name or IP"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -p --port : Login server port"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host : Use this update host"
-#: src/main.cpp:53
+#: src/main.cpp:57
#, fuzzy
msgid " -D --default : Choose default character server and character"
msgstr " -D --default : Choose default character server and character"
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : Skip the update downloads"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data : Directory to load game data from"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : Directory to use as home directory"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : Configuration file to use"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : Directory to use as home directory"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : Disable OpenGL for this session"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "×תה מת."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr "צר לנו לבשר ×œ×›× ×›×™ ×©×—×§× ×›× × ×”×¨×’ בקרב."
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "×ינך ×—×™ כל־כך כרגע."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr "קור ידיו של המוות הקודר ××•×—×–×™× ×‘× ×©×ž×ª×š."
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "המשחק נגמר!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr "ל×, ילדי×. השחקן ×©×œ×›× ×œ× ×‘×מת מת. הו×... ××”... הלך ×œ×ž×§×•× ×˜×•×‘ יותר."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr "תוכניתך לשבור ×ת נשק ×”×ויב ב×מצות צוו×רך נכשלה."
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "×× ×™ מניח ×©×œ× ×”×œ×š לך כל־כך טוב."
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "×”×× ×‘×¨×¦×•× ×š שי×תרו ×ת חלקי גופתך?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "ב×ופן מצער, ×ž×¢×•×œ× ×œ× × ×ž×¦× ×–×›×¨ ממך..."
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "הושמדתך."
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr "נר××” ×›×ילו ר×שך נמסר ×ליך."
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr "פישלת שוב, גופתך תיזרק לצינוק ותקבל ×חת חדשה."
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
#, fuzzy
msgid "Press OK to respawn."
msgstr " לחץ ×ישור כדי להשיב"
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "נהרגת"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "כבר מחובר"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "×©× ×”×ž×©×ª×ž×© כבר בשימוש"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "נתוני שחקן - ×ישור"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "נתוני שחקן - ×ישור"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2693,96 +2583,96 @@ msgstr ""
msgid "Unknown error."
msgstr "שגי××” ×œ× ×™×“×•×¢×”"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "מידע"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "השחקן נמחק."
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "בחר כמות ×—×¤×¦×™× ×œ×¡×—×•×¨."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "שגי××” ×œ× ×™×“×•×¢×”"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "×ין שרתי משחק זמיני×."
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "כותרת: %s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "משתמש מכה מפלצת"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "פקודה: /join <channel>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "מבקש להצטרף לחדר %s."
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s הצטרף לחבורה."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "פקודה ×œ× ×ž×•×›×¨×ª."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "גילדה נוצרה."
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "שגי××” ביצירת גילדה."
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "הזמנה נשלחה."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr "החבר ×§×•×“× ×‘×”×¦×œ×—×”."
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "נכשל ×‘×§×™×“×•× ×”×—×‘×¨."
@@ -2873,11 +2763,11 @@ msgstr "כתובת הדו×\"ל כבר בשימוש"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "הצטרפת לחבורה."
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s הצטרף לחבורה."
@@ -2887,190 +2777,137 @@ msgstr "%s הצטרף לחבורה."
msgid "%s rejected your invite."
msgstr "%s דחה ×ת הזמנתך."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "עוצמה"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "עוצמה %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "זריזות"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "זריזות %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "מיומנות"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "מיומנות %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "חיוניות"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "חיוניות %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "תבונה"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "תבונה %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "כח רצון:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "כח רצון %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "מקבל בקשות מסחר נכנסות."
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "×ž×ª×¢×œ× ×ž×‘×§×©×•×ª סחר נכנסות."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "בקשה למסחר"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s מעוניין לסחור עימך, ×”×× ×תה מסכי×?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "סוחר ×¢×%s"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "המסחר בוטל."
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "המסחר הושל×."
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "העפה נכשלה!"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "העפה הצליחה!"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "×ין מה למכור."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "תודה על הקנייה."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "×œ× × ×™×ª×Ÿ לקנות."
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "תודה על המכירה."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "×œ× × ×™×ª×Ÿ למכור."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "×œ× × ×™×ª×Ÿ להשתמש ב-ID ×–×”."
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "שגי××” ×œ× ×™×“×•×¢×”"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "נכשל ביצירת השחקן. ייתכן ×›×™ ×©× ×–×” כבר תפוס."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "השחקן נמחק."
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "נכשל במחיקת השחקן."
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "עוצמה:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "זריזות:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "חיוניות:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "תבונה:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "מיומנות:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "מזל:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "הלחישה ×œ× ×™×›×œ×” להשלח, המשתמש ×ינו מחובר."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "הלחישה ×œ× ×™×›×œ×” להשלח, מהמשתמש מתעל×."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "שחקן"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "×—×“×¨×™× ××™× × × ×ª×ž×›×™×!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3085,80 +2922,125 @@ msgstr "ש×"
msgid "Request to quit denied!"
msgstr "בקשה למסחר"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "עוצמה %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "זריזות %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "חיוניות %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "תבונה %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "מיומנות %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "מזל %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "×”×ימות נכשל"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "×ין ×©×¨×ª×™× ×–×ž×™× ×™×"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "××“× ×חר מנסה להשתמש בחשבון ×–×”"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "חשבון זה כבר מחובר"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "פריצת מהירות זוהתה"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "התחברות כפולה"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "שגי×ת חיבור ×œ× ×™×“×•×¢×”"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "נותקת מהשרת!"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "עוצמה"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "זריזות"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "חיוניות"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "תבונה"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "מיומנות"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "מזל"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "×”×’× ×”:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "התקפת קס×:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "הגנת קס×:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% דיוק:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% התחמקות:"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "מכה קריטית"
@@ -3209,29 +3091,29 @@ msgstr "פקודה זו גורמת לשחקן לעזוב ×ת החבורה."
msgid "Guild name is missing."
msgstr "×©× ×—×‘×•×¨×” חסר."
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s הצטרף לחבורה."
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "תגובה ×œ× ×™×“×•×¢×” להזמנה עבור %s."
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3311,15 +3193,15 @@ msgstr "פקודה: /exp"
msgid "This command displays the party's current experience sharing policy."
msgstr "פקודה זו מציגה ×ת מדיניות שיתוף הנסיון הנוכחית בחבורה."
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "שיתוף ×—×¤×¦×™× ×ž×ופשר."
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "שיתוף ×—×¤×¦×™× ×ž×‘×•×˜×œ."
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "שיתוף ×—×¤×¦×™× ×œ× ×פשרי."
@@ -3328,15 +3210,15 @@ msgstr "שיתוף ×—×¤×¦×™× ×œ× ×פשרי."
msgid "Item sharing unknown."
msgstr "שיתוף ×—×¤×¦×™× ×ž×ופשר."
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "שיתוף נסיון מ×ופשר."
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "שיתוף נסיון מבוטל."
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "שיתוף נסיון ×œ× ×פשרי."
@@ -3345,15 +3227,15 @@ msgstr "שיתוף נסיון ×œ× ×פשרי."
msgid "Experience sharing unknown."
msgstr "שיתוף נסיון מ×ופשר."
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "נכשל בשימוש בחפץ."
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "×œ× × ×™×ª×Ÿ ללבוש."
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "×œ× × ×™×ª×Ÿ להסיר."
@@ -3420,7 +3302,7 @@ msgstr "×œ× × ×™×ª×Ÿ למכור."
msgid "Connection to server terminated. "
msgstr "מתחבר לשרת המפה..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "×œ× ×”×™×” ניתן ליצור חבורה."
@@ -3428,242 +3310,237 @@ msgstr "×œ× ×”×™×” ניתן ליצור חבורה."
msgid "Party successfully created."
msgstr "חבורה נוצרה בהצלחה."
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s כבר חבר בחבורה."
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s דחה ×ת הזמנתך."
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s הצטרף לחבורה."
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "תגובה ×œ× ×™×“×•×¢×” להזמנה עבור %s."
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "עזבת ×ת החבורה."
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s עזב ×ת החבורה שלך."
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "משתמש ×œ× ×™×“×•×¢ ניסה לומר: %s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > הזמן משתמש לחבורה"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s ×ינו × ×ž×¦× ×‘×—×‘×•×¨×ª×š!"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "הכנס מטבע כדי להמשיך."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "×ינך מת עדיין. ×תה רק × ×—."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "×ינך יותר."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "חדלת מלהתקיי×."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "התפוגגת ועברת לפגוש ×ת הבור×."
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "×ינך מת עדיין. ×תה רק × ×—."
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "נטול ×—×™×™×, ×ת × ×— על משכבך."
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr "×תה ×œ× ×ž×ª עדיין! ××”.. טוב, עכשיו כן."
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "חילוף ×”×—×•×ž×¨×™× ×©×œ×š הפך להיסטוריה."
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr "×תה מכה כמו גופה."
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "חדלת מלהתקיי×."
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr "התפוגגת ועברת לפגוש ×ת הבור×."
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "הינך שחקן לשעבר."
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr "×תה מת. טוב שיש חברת ביטוח..."
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "הודעה"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr "×תה סוחב יותר מחצי ממשקלך. ×ינך יכול ל×חות ×ת ×”×—×™×™×."
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "הרמת "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "הצטייד ×‘×—×¦×™× ×ª×—×™×œ×”."
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "המסחר נכשל!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "הבעה נכשלה!"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "הישיבה נכשלה!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "יצירת שיחה נכשלה!"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "×œ× ×”×™×” ניתן להצטרף לחגיגה!"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "×œ× × ×™×ª×Ÿ לצעוק!"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "×œ× ×”×’×¢×ª לרמה גבוהה מספיק!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "×œ× × ×•×ª×¨×• נק' ×—×™×™×!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "×œ× × ×•×ª×¨×• נק' קס×!"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "×ין תזכירי×!"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "×ינך יכול לעשות ×–×ת כרגע!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "נר××” ש×תה צריך עוד כסף... ;-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "×ינך יכול להשתמש בכישור ×¢× × ×©×§ ×–×”!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "×תה צריך עוד ×בן ×דומה!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "×תה צריך עוד ×בן כחולה!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "×תה סוחב יותר מדי בכדי לעשות ×–×ת!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "×”×? מה ×–×”?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "הפיתול נכשל...."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "×œ× ×”×™×” ניתן לגנוב דבר..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "לרעל ×œ× ×”×™×™×ª×” כל השפעה..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "מסחר ×ינו ×פשרי. השותף למסחר רחוק מדי."
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "מסחר ×ינו ×פשרי. השחקן ×ינו קיי×."
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "המסחר בוטל מסיבה ×œ× ×™×“×•×¢×”."
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "מסחר: ×תה ו-%s"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "המסחר ×¢× %s בוטל."
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "המסחר נכשל"
@@ -3679,53 +3556,44 @@ msgstr "נכשל בהוספת חפץ. לשותף למסחר ×ין מקומות
msgid "Failed adding item for unknown reason."
msgstr "נכשל בהוספת חפץ מסיבה ×œ× ×™×“×•×¢×”."
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|×”×ª×¢×œ× ×œ×—×œ×•×˜×™×Ÿ %s@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "התקפה %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "×”×’× ×” %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "×—×™×™× %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "חפץ ×œ× ×™×“×•×¢"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "×œ×œ× ×©×"
@@ -3776,6 +3644,24 @@ msgstr "×œ×œ× ×©×"
#~ msgid "Hyperlink"
#~ msgstr "קישור"
+#~ msgid "Being"
+#~ msgstr "× ×”×™×”"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "שמות ×”×ž×©×ª×ž×©×™× ×”×חרי×"
+
+#~ msgid "Own Name"
+#~ msgstr "×”×©× ×©×œ×š"
+
+#~ msgid "GM Names"
+#~ msgstr "שמות המנהלי×"
+
+#~ msgid "NPCs"
+#~ msgstr "דמויות"
+
+#~ msgid "Monsters"
+#~ msgstr "מפלצות"
+
#~ msgid "Unknown Item Type"
#~ msgstr "סוג חפץ ×œ× ×™×“×•×¢"
@@ -3820,6 +3706,29 @@ msgstr "×œ×œ× ×©×"
#~ msgid "Ammo"
#~ msgstr "תחמושת"
+#~ msgid "Particle Effects"
+#~ msgstr "××¤×§×˜×™× ×—×œ×§×™×™×"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "הודעה על לקיחה"
+
+#~ msgid "Exp Notification"
+#~ msgstr "הודעה על נק' נסיון"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "משתמש מכה מפלצת"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "משתמש מכה משתמש"
+
+#~ msgid "Critical Hit"
+#~ msgstr "מכה קריטית"
+
+#~ msgid "Misses"
+#~ msgstr "פספוס"
+
#~ msgid "HP Bar"
#~ msgstr "סרגל ×—×™×™×"
@@ -3833,6 +3742,30 @@ msgstr "×œ×œ× ×©×"
#~ msgstr "1/4 סרגל ×—×™×™×"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "×—×™×™×:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "קס×:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "נסיון:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "זהב: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "עבודה:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "רמה: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "הגישה נדחתה"
@@ -3846,6 +3779,13 @@ msgstr "×œ×œ× ×©×"
#~ msgid "Willpower:"
#~ msgstr "כח רצון:"
+#~ msgid "Willpower %+d"
+#~ msgstr "כח רצון %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "כח רצון:"
+
#, fuzzy
#~ msgid "Server is full."
#~ msgstr "השרת מל×"
diff --git a/po/hr.po b/po/hr.po
index 5713d60e..2baccbe9 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-12-13 09:30+0000\n"
"Last-Translator: nafterburner <nafterburner@gmail.com>\n"
"Language-Team: Croatian <hr@li.org>\n"
@@ -20,423 +20,400 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Podešavanje"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Spajanje na poslužitelja karti..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "KorisniÄko ime"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Odaberi lika"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "Spajanje na poslužitelja karti..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Server"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Greška"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Lozinka"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Izmijeni"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "Član je uspješno unaprijeđen."
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Odjavi"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Nepoznata naredba."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Pomoć --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Prikaži ovu pomoć"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Prikaži ime karte"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Prikaži broj trenutno prijavljenih korisnika"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Recite nešto o sebi"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > OÄisti ovaj prozor"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Pošaljite privatnu poruku korisniku"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Alias za msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Alias za msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > ÄŒini karticu za privatne poruke s drugim korisnikom"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > Alias od query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Prikaži sve javne kanale"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Pridruži se ili napravi kanal"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > Napravi novu partiju"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > Pozovite korisnike na partiju"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > ZapoÄni snimanje chat-a u eksternoj datoteci"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Globalna obavijest (samo GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Za više informacija, utipkajte /pomoć <naredba>."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Naredba: /pomoć"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Ova naredba prikazuje listu svih raspoloživih naredbi."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Naredba: /pomoć <naredba>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Ova naredba prikazuje pomoć pri <naredba>."
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Command: /announce <msg>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** dostupno samo za GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "Ova naredba Å¡alje poruku <msg> svim igraÄima trenutno online."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Naredba: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Ova naredba briše chat log prethodnog chata."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Naredba: /item <policy>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Ova naredba prikazuje broj igraÄa trenutno online."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Naredba: /join <channel>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Ova naredba vas unaša u <channel>."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Ako <channel> ne postoji, onda je napravljen."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Naredba: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Ova naredba prikazuje listu svih kanala."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Naredba: /me <message>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Ova naredba govori drugima da vi (radite) <msg>."
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Naredba: /msg <nick> <message>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Naredba: /whisper <nick> <message>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Naredba: /w <nick> <message>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Ova naredba Å¡alje tekst <message> za <nick>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
"Ako <nick> ima razmake u sebi, zatvoriti ga u dvostrukim navodnicima (\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Naredba: /query <nick>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Naredba: /q <nick>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Ova naredba pokušava napraviti karticu za šaptanje između vas i <nick>."
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Naredba: /w <nick> <message>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Naredba: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Ova naredba postavlja temu za <message>."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Naredba: /create <ime-partije>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Ove naredbe kreira novu partiju zvanu <party-name>."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Naredba: /party <nick>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Ova naredba poziva <nick> na partiju sa vama."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Naredba: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Naredba: /record <filename>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr "Ova naredba zapoÄinje snimanje chat log-a u datoteku <filename>."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Naredba: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Ova naredba završava sesiju snimanja."
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Naredba: /toggle <state>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Naredba: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Naredba: /item <policy>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Naredba: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Ova naredba prikazuje naziv trenutne karte."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Naredba: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Ova naredba prikazuje broj igraÄa trenutno online."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Upišite /help za listu svih naredbi."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "Ne mogu poslati prazan Å¡apate!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -445,67 +422,67 @@ msgstr ""
"Ne mogu stvoriti šapat karticu za nadimak \"%s\"! To već postoji ili ste to "
"vi."
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "Zahtjev za pridruživanje kanalu %s."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "Ime partije nedostaje."
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "Poruka zatvara chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Poruka sada zatvara chat."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "Partija je uspješno kreirana."
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "Å apat nije mogao biti poslan, ignorirani ste od strane korisnika."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "Å apat nije mogao biti poslan, ignorirani ste od strane korisnika."
@@ -515,42 +492,42 @@ msgstr "Å apat nije mogao biti poslan, ignorirani ste od strane korisnika."
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr "Opcije za /%s su \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Općenito"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Screenshot spremljen u ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Spremanje screenshot-a nije uspjelo!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "Veza s poslužiteljem je bila izgubljena, program će se sada zatvoriti"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Mreža Greška"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Ignoriranje dolaznih zahtjeva za trgovanje"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Prihvaćanje dolaznih zahtjeva za trgovanje"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Ne mogu uÄitati karte"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "GreÅ¡ka prilikom uÄitavanja %s"
@@ -564,34 +541,34 @@ msgstr "Partija (%s)"
msgid "Buy"
msgstr "Kupi"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Cijena: %s / Ukupno: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Izlaz"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Max"
@@ -605,11 +582,11 @@ msgstr "Prodaj"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Poništi"
@@ -685,14 +662,14 @@ msgstr "Stvori Lika"
msgid "Name:"
msgstr "Ime:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -709,8 +686,8 @@ msgstr "Boja kose:"
msgid "Hair style:"
msgstr "Frizura:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Stvori"
@@ -766,8 +743,8 @@ msgstr "Odjavi"
msgid "Change Email"
msgstr "Promijeni Email Adresu"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Obriši"
@@ -776,24 +753,24 @@ msgstr "Obriši"
msgid "Choose"
msgstr "Zatvori"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Chat"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d igraÄa je prisutno."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "Prisutnost zapisana u evidentni dnevnik."
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Å aptaj prema %s: %s"
@@ -859,8 +836,8 @@ msgstr "Efekti okruženja"
msgid "Equipment"
msgstr "Oprema"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Skini opremu"
@@ -868,7 +845,7 @@ msgstr "Skini opremu"
msgid "Help"
msgstr "Pomoć"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Zatvori"
@@ -880,81 +857,84 @@ msgstr "Zalihe"
msgid "Storage"
msgstr "Pohrana"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "Mjesta:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Opremi"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Upotrijebi"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Ispusti"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Razdvoji"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Težina:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Pohrani"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Preuzmi"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Ispusti"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "U redu"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Sve"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Odaberi koliÄinu predmeta za razmjenu."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Odaberi koliÄinu predmeta za ispuÅ¡tanje."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "Odaberite koliÄinu predmeta za spremanje."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "Odaberite iznos predmeta za preuzimanje."
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Odaberi koliÄinu predmeta za razdvajanje."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Težina: "
@@ -986,40 +966,40 @@ msgstr "Dijeljenje predmeta je onemogućeno."
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Karta"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "ÄŒekanje servera"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Slijedeći"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Dostavi"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Poništi"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1034,7 +1014,7 @@ msgstr "Za:"
msgid "Send"
msgstr "Pošalji"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "Neuspjelo slanje kao pošiljatelj ili nevažeće pismo."
@@ -1124,7 +1104,7 @@ msgstr "@@name|Dodaj ime u chat@@"
msgid "Pick up %s"
msgstr "Pokupi"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|Dudaj u chat@@"
@@ -1197,61 +1177,61 @@ msgstr "Lozinka mora biti kraća od %d znakova."
msgid "Passwords do not match."
msgstr "Lozinke se ne podudaraju."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Izaberite vaš server"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Poslužitelj:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Poslužitelj:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Spajanje..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Vlastiti kursor"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Molimo upišite adresu poslužitelja i port poslužitelja."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "ÄŒekanje servera"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1289,54 +1269,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "Ovako izgleda boja"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Boje"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Tip: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "StatiÄno"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Pulsiranje"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Duga"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Spektar"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Odgoda: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Crvena: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Zelena: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Plava: "
@@ -1422,28 +1402,33 @@ msgstr "Ignorirano"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Dozvoli trgovanje"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Dozvoli Å¡apate"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "Stavi sve Å¡apate u kartice"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Prikaži ime"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "Nije moguće prodati."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "IgraÄi"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "Kad ignorira:"
@@ -1499,512 +1484,479 @@ msgstr "srednje"
msgid "max"
msgstr "max"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Pregled na Äitavom ekranu"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Vlastiti kursor"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Vidljiva imena"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Efekt Äestica"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Prikaži ime"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "Prikaži obavijesti o prikupljanju."
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "u chat-u"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "kao Äestica"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "OgraniÄenje sliÄica u sekundi"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Slika"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Prikaži ime"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "Tekst iznad glave"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Prozirnost suÄelja"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Efekti okruženja"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Detalji ÄŒestica"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "VeliÄina fonta"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Ne"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Prebacivanje u pregled na Äitavom ekranu"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Potrebno je ponovno pokrenuti klijent za izvršavanje promjena."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Promjena OpenGL-a"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Izmjene OpenGL-a zahtjevaju ponovno pokretanje klijenta."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "Dijeljenje predmeta je onemogućeno."
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Rezolucija Ekrana promijenjena"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Ponovo pokrenite klijent da bi promjene bile efektne."
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Postavke efekta Äestica su promijenjene."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "Promjene će stupiti na snagu na promjeni karte."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Vještine"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Gore"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Bodovi vještine: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Bodovi vještine: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Vještine"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Nivo: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Nivo: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "Ceh, ustanovljen."
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Formiraj Ceh"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Jeste li sigurni da želite odustati?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > Pozovite korisnike na partiju"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > Pozovite korisnike na partiju"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Jeste li sigurni da želite odustati?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Formiraj Ceh"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Stvori Lika"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Pozovi Korisnika"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Veliko"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Prihvaćen poziv od %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Odbijen poziv od %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Prihvaćen poziv od %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Odbijen poziv od %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "Pogreška pri ustanovljavanju ceha."
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Ceh"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Izaberite vaš server"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "Primljen zahtjev za partiju, ali ona već postoji."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s vas je pozvao/la da se pridružite %s partiji."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Prihvati Pozivnicu za Partiju"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Primljen zahtjev za partiju, ali ona već postoji."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s vas je pozvao/la da se pridružite njihovoj partiji."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s vas je pozvao/la da se pridružite %s partiji."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s vas je pozvao/la da se pridružite njihovoj partiji."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s vas je pozvao/la da se pridružite %s partiji."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Prihvati Pozivnicu za Partiju"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Partija"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Izaberite vaš server"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Nivo: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Novac: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "Zadatak: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "Zadatak:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "MP:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Exp:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Novac: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Zadatak:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Podaci lika su u redu"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Bodovi vještine: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Nivo: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Predloži razmjenu"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Potvrđeno. Čekanje..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Složi se za trgovanje"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Dogovoreno. ÄŒekanje..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "Trgovanje: Vi"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Trgovanje"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Dodaj"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Vi dobijete %s."
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Daješ:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Izmijeni"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Nemate dovoljno novca."
@@ -2044,84 +1996,6 @@ msgstr "##1 pokušate ponovno kasnije"
msgid "Completed"
msgstr "Dovršeno"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "Biće"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Imena Drugih IgraÄa"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "Vlastito Ime"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "GM Imena"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPCs"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Čudovišta"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Partija"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Ceh"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Efekti ÄŒestica"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "Obavijest Sakupljanja"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "Exp Obavijest"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "IgraÄ pogaÄ‘a ÄŒudoviÅ¡te"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "ÄŒudoviÅ¡te pogaÄ‘a IgraÄa"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "KritiÄni Udarac"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "IgraÄ pogaÄ‘a ÄŒudoviÅ¡te"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "KritiÄni Udarac"
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Promašaji"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > Lista korisnika u trenutnom kanalu"
@@ -2198,55 +2072,55 @@ msgstr "Trebate korisnika za op!"
msgid "Need a user to kick!"
msgstr "Trebate korisnika za kick!"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Javna obavijest:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Javna obavijest od %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s Å¡aptanje: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Ne mogu poslati prazan chat!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Zatvara karticu za Å¡aptaje"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Naredba: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Ova naredba zatvara trenutnu karticu za Å¡aptaje."
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Naredba: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Ova naredba prikazuje broj igraÄa trenutno online."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr "Ova naredba zapoÄinje snimanje chat log-a u datoteku <filename>."
@@ -2274,412 +2148,426 @@ msgstr "Izmijeni"
msgid "Choose World"
msgstr "Izaberite vaš server"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Pomakni Gore"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Pomakni Dolje"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Pomakni Ulijevo"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Pomakni Udesno"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Napad"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Meta i Napad"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "Smajlić"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Govori"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Prekini Napad"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Ciljaj Najbližeg"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "Ciljaj NPC"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Ciljaj IgraÄa"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "Pokupi"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Skrij Prozore"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Sjedni"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Snimak zaslona"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Omogući/Onemogući Trgovanje"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "Pronađi Put do Miša"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "PreÄac do Predmeta %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Prozor za Pomoć"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Prozor Statusa"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Prozor Inventara"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Prozor Opreme"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Prozor Vještine"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Prozor Minikarte"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Chat Prozor"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Prozor za PreÄice do Predmeta"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Prozor za Postavke"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Debug Prozor"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Prozor Vještine"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "Prozor PreÄica za Ispoljavanje emocija"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Prozor Statusa"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "PreÄica za Ispoljavanje emocija %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Pomakni Chat Gore"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Pomakni Chat Dolje"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "Prethodna Chat Kartica"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Sljedeća Chat Kartica"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "Odaberite OK"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Pokupili ste %s [@@%d|%s@@]."
msgstr[1] "Pokupili ste %s [@@%d|%s@@]."
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Opcije:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : Prikaži verziju"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : Prikaži ovu pomoć"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : Konfiguracijska datoteka za korištenje"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username : Prijava s ovim korisniÄkim imenom"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : Prijava s ovom lozinkom"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character : Ulaz s tim likom"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -U --username : Prijava s ovim korisniÄkim imenom"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -P --password : Prijava s ovom lozinkom"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -u --skip-update : PreskoÄi preuzimanje ažuriranja"
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : PreskoÄi preuzimanje ažuriranja"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data : Direktorij iz kojeg se uÄitavaju podaci igre"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : Direktorij koristiti kao home direktorij"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : Konfiguracijska datoteka za korištenje"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : Direktorij koristiti kao home direktorij"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : Onemogući OpenGL za ovu sesiju"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "Vi ste mrtvi."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr "Žao nam je obavijestiti vas da je vaš lik je bio ubijen u borbi."
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "Niste više tako živi."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "Kraj Igre!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
"Ne, djeco. Vaš lik zapravo nije umro. On... err... je otišao na bolje mjesto."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "Predpostavljam da ovo nije išlo previše dobro."
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "Želite li svoju imovinu identificirati?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "Nažalost, ni traga od vas nije nikada pronađeno ..."
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "Uništen."
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr "Izgleda da su vam predali vašu glavu."
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
"Uprskali ste opet, odbacite svoje tijelo u kanalizaciju i nabavite novo."
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Umrli ste"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "Već prijavljeni"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "KorisniÄko ime već postoji"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Podaci lika su u redu"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Podaci lika su u redu"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2687,96 +2575,96 @@ msgstr ""
msgid "Unknown error."
msgstr "Nepoznata greška"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "Info"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "Lik izbrisan."
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Odaberi koliÄinu predmeta za razmjenu."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Nepoznata greška"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "Nijedan od servera igre nije dostupan."
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "Tema: %s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "IgraÄ pogaÄ‘a ÄŒudoviÅ¡te"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Naredba: /join <channel>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "Zahtjev za pridruživanje kanalu %s."
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s se pridružio partiji."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Nepoznata naredba."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "Ceh, ustanovljen."
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "Pogreška pri ustanovljavanju ceha."
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "Pozivnica je poslana."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr "Član je uspješno unaprijeđen."
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "NeuspjeÅ¡no promicanje Älana."
@@ -2867,11 +2755,11 @@ msgstr "Email adresa već postoji"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "Pridružen pertiji."
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s se pridružio partiji."
@@ -2881,190 +2769,137 @@ msgstr "%s se pridružio partiji."
msgid "%s rejected your invite."
msgstr "%s je odbio vašu pozivnicu."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Snaga"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "Snaga %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Okretnost"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "Okretnost %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Spretnost"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "Spretnost %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "Vitalnost"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "Vitalnost %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Inteligencija"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "Inteligencija %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Snaga volje:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "Snaga Volje %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "Prihvaćanje dolaznih zahtjeva za trgovanje."
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "Ignoriranje nadolazećih zahtjeva za trgovanje."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "Zahtjev za Trgovanje"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s želi trgovati s vama, prihvaćate li?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "Trgovanje s %s"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "Otkazano trgovanje."
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "Trgovanje je završeno."
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "Å ut nije uspio!"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "Å ut uspio!"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Ništa za prodati."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Hvala za kupnju."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "Ne može se kupiti"
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Hvala za prodaju."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "Nije moguće prodati."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "Ne mogu koristiti ovaj ID"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Nepoznata greška"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Ne mogu stvoriti lik. Najvjerojatnije je ime već zauzeto."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Lik izbrisan."
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Neuspješno brisanje znaka."
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Snaga:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Okretnost:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Vitalnost:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Inteligencija:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Spretnost:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Sreća:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "Å apat nije mogao biti poslan, korisnik je offline."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "Å apat nije mogao biti poslan, ignorirani ste od strane korisnika."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "IgraÄ"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "Kanali nisu podržani!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3079,80 +2914,125 @@ msgstr "Ime"
msgid "Request to quit denied!"
msgstr "Zahtjev za Trgovanje"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "Snaga %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "Okretnost %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "Vitalnost %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "Inteligencija %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "Spretnost %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "Sreća %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Autentikacija nije uspjela"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "Nema dostupnih poslužitelji"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "Netko drugi pokuÅ¡ava koriÅ¡titi ovaj raÄun"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "Ovaj korisniÄki raÄun je već prijavljen"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "Otkrit brzi hack"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "Dvostruka prijava"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "Nepoznata pogreška veze"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Snaga"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Okretnost"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "Vitalnost"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Inteligencija"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Spretnost"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Sreća"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Obrana:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "M.Napad:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "M.Obrana:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Preciznost:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% Izbjegavanje:"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "KritiÄni Udarac"
@@ -3203,28 +3083,28 @@ msgstr "Ova naredba postavlja temu za <message>."
msgid "Guild name is missing."
msgstr "Ime partije nedostaje."
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s je sada Älan vaÅ¡e partije."
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3301,15 +3181,15 @@ msgstr "Naredba: /exp"
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "Dijeljenje predmeta je omogućeno.moguće."
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "Dijeljenje predmeta je onemogućeno."
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "Dijeljenje predmeta nije moguće."
@@ -3318,15 +3198,15 @@ msgstr "Dijeljenje predmeta nije moguće."
msgid "Item sharing unknown."
msgstr "Dijeljenje predmeta je omogućeno.moguće."
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3334,15 +3214,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "Neuspješno korištenje predmeta."
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "Nije moguće opremiti."
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3406,7 +3286,7 @@ msgstr "Nije moguće prodati."
msgid "Connection to server terminated. "
msgstr "Spajanje na poslužitelja karti..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "Nije se mogla napraviti partija."
@@ -3414,244 +3294,239 @@ msgstr "Nije se mogla napraviti partija."
msgid "Party successfully created."
msgstr "Partija je uspješno kreirana."
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s je već Älan partije."
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s je odbio vašu pozivnicu."
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s je sada Älan vaÅ¡e partije."
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "Napustili ste partiju."
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s je napustio/la vašu partiju."
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "Nepoznati Älan pokuÅ¡ava reći: %s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > Pozovite korisnike na partiju"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s nije u vašoj partiji!"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Ubacite žeton za nastavak."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "Niste još mrtvi. Samo se odmarate."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "Nema vas više."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "Prestali ste postojati."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "Istekao vam je rok i otišli ste upoznati svog stvoritelja."
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "UkoÄili ste se."
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "LiÅ¡eni života, poÄivate u miru."
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr "Da niste bili toliko animirani sad bi podizali tratinÄice."
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "VaÅ¡i metaboliÄki procesi su sad povijest."
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr "Pali ste s granÄice."
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "Vi ste šutirali sić."
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "Vi ste bivÅ¡i igraÄ."
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Poruka"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
"Nosite više od pola svoje težine. Niste u mogućnosti kako bi povratili "
"zdravlje."
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "Pokupili ste "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "Prvo se opremite strijelama."
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Neuspjela razmjena!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "Neuspjelo korištenje emotea!"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Neuspjelo sjedanje!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Neuspjelo stvaranje lika!"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Neuspjelo prikljuÄivanje družini!"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "Neuspjelo vikanje!"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "Još nisi dosegao/la dovoljno visok nivo!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "Nedovoljno zdravlja!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "Nedovoljno SP-a!"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "Nemaš podsjetnika!"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Ne možeÅ¡ to uÄiniti sad!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Čini se da trebate više novca... ;-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Ne možeš koristiti tu vještinu s tim oružjem!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "Trebaš još jedan crveni dragulj!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "Trebaš još jedan plavi dragulj!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "NosiÅ¡ previÅ¡e predmeta da bi uÄinio to!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "Ha? Å to je to?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "Skok nije uspio..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "Krađa nije uspjela..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Otrov nije uspio..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Trgovanje nije moguće. TrgovaÄki partner je predaleko."
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Trgovanje nije moguće. Lik ne postoji."
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "Trgovanje otkazano zbog nepoznatih razloga."
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "Trgujte: Vi i %s"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "Trgovanje s %s otkazano."
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3668,57 +3543,72 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr "Neuspješno dodavanje predmeta, iz nepoznatog razloga."
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|Potpuno ignoriraj %s@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Napad %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Obrana %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "Zdravlje %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "Mana %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Nepoznati predmet"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "neimenovano"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Exp:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Novac: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Zadatak:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Nivo: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "Pristup odbijen"
@@ -3729,6 +3619,13 @@ msgstr "neimenovano"
#~ msgid "Willpower:"
#~ msgstr "Snaga volje:"
+#~ msgid "Willpower %+d"
+#~ msgstr "Snaga Volje %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Snaga volje:"
+
#, fuzzy
#~ msgid "Server is full."
#~ msgstr "Server je pun"
@@ -3777,6 +3674,24 @@ msgstr "neimenovano"
#~ msgid "Hyperlink"
#~ msgstr "Hiperveza"
+#~ msgid "Being"
+#~ msgstr "Biće"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Imena Drugih IgraÄa"
+
+#~ msgid "Own Name"
+#~ msgstr "Vlastito Ime"
+
+#~ msgid "GM Names"
+#~ msgstr "GM Imena"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCs"
+
+#~ msgid "Monsters"
+#~ msgstr "Čudovišta"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Nepoznat Tip Predmeta"
@@ -3818,6 +3733,29 @@ msgstr "neimenovano"
#~ msgid "Ammo"
#~ msgstr "Streljivo"
+#~ msgid "Particle Effects"
+#~ msgstr "Efekti ÄŒestica"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "Obavijest Sakupljanja"
+
+#~ msgid "Exp Notification"
+#~ msgstr "Exp Obavijest"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "IgraÄ pogaÄ‘a ÄŒudoviÅ¡te"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "ÄŒudoviÅ¡te pogaÄ‘a IgraÄa"
+
+#~ msgid "Critical Hit"
+#~ msgstr "KritiÄni Udarac"
+
+#~ msgid "Misses"
+#~ msgstr "Promašaji"
+
#~ msgid "HP Bar"
#~ msgstr "HP Bar"
diff --git a/po/hu.po b/po/hu.po
index 0f54719d..c17e89a4 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-07-07 19:52+0000\n"
"Last-Translator: Tatsukichi <artit91@gmail.com>\n"
"Language-Team: Hungarian <hu@li.org>\n"
@@ -19,352 +19,329 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Beállítások"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Csatlakozás a térkép szerverhez...."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Belépés"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Kapcsolódási kérelem a %s nevű csatornába."
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "Csatlakozás a térkép szerverhez...."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Szerver"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Hiba"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Jelszó:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Változtatás"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "A tag előléptetése sikeres."
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Regisztráció megszüntetése"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "Helytelen frissítési kiszolgáló: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "Hiba a frissítési könyvtár létrehozása közben!"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Ismeretlen parancs."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Segítség --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Megmutatja ezt a segítséget"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Megmutatja a térkép nevét"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Megmutatja az online felhasználókat"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Mondasz valamit magadról"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Letörli ezt az ablakot"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Privát üzenetet küld egy felhasználónak"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > msg megfelelője"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > msg megfelelője"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > Fület hoz létre privát beszélgetéshez"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > query megfelelője"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Publikus csatornák listázása"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Csatornához kapcsolódás/csatornát létrehoz"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > Új csapat létrehozása"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > Felhasználó csapatba hívása"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > Beszélgetés rögzítése külső fájlba"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
"/toggle > Választható, hogy üres <enter> kell e az input panel bezárásához"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr "/present > \"Hallható\" játékosok kilistázása"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Globális üzenet (csak GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "További információhoz gépeld be a /help <parancsnév> parancsot."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Parancs: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Ez a parancs az elérhető parancsokat listázza."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Parancs: /help <parancsnév>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
"Ez a parancs segítséget nyújt a <parancsnév> alatt megadott parancshoz."
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Parancs: /announce <üzenet>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** csak GM-nek elérhető ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
"Ez a parancs az <üzenet>-en belül megadott szöveget elküldi az összes "
"elérhető játékosnak."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Parancs: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Törli a beszélgetés panel tartalmát."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Parancs: /item <szabály>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Ez a parancs megmutatja az online játékosok számát."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Parancs: /join <csatorna>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Belépsz a <csatorna> helyen megadott beszélgetési csatornába."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Ha a <csatorna> helyen megadott csatorna nem létezik, létrehozod."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Parancs: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Kilistázza az összes csatornát."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Parancs: /me <üzenet>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Ezzel a paranccsal az állapotodat jelzed. Megjelenés: Név <üzenet>"
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Parancs: /msg <név> <üzenet>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Parancs: /whisper <név> <üzenet>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Parancs: /w <név> <üzenet>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
"Ez a parancs elküldi az <üzenet> szövegét a <név> alatt megadott nevű "
"játékosnak."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
"Ha a <név> alatt megadott név szóközt tartalmaz idézőjelbe kell tenni. (\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Parancs: /query <név>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Parancs: /q <név>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Ez a parancs egy új fület nyit beszélgetéseidhez a <név> alatt megadott nevű "
"játékossal."
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Parancs: /w <név> <üzenet>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Parancs: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Ez a parancs beállítja a témát a <téma> alatt megadott szövegre."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Parancs: /create <csapatnév>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr ""
"Ezek a parancsok új csapatot hoznak létre a <csapatnév> alatt megadott néven."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Parancs: /party <név>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Ez a parancs csapatba hívja a <név> alatt megadott nevű játékost."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Parancs: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -372,35 +349,35 @@ msgstr ""
"Ez a parancs megmutatja a \"hallható\" játékosok nevét és fájlba is rögzíti, "
"ha éppen rögzítjük a beszélgetést."
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "parancs: /record <fájlnév>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
"Ez a parancs elkezdi felvenni a beszélgetést a <fájlnév> alatt megadott "
"fájlba."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Parancs: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Befejezi a beszélgetés rögzítését."
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Parancs: /toggle <állás>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr "Ez a parancs beállítja az enter billentyű használatát a játékban."
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -408,48 +385,48 @@ msgstr ""
"<állás> lehet \"1\", \"yes\", \"true\" ha ki akarod kapcsolni a chat input "
"automatikus eltűnését, \"0\", \"no\", \"false\" ha nem."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Parancs: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "A /toggle jelenlegi állását mutatja meg."
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Parancs: /item <szabály>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Parancs: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Ez a parancs megmutatja az aktuális térkép nevét."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Parancs: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Ez a parancs megmutatja az online játékosok számát."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Parancsok listája: /help"
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "Nem küldhetsz üres üzenetet!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -457,67 +434,67 @@ msgid ""
msgstr ""
"Nem tudsz fület létrehozni \"%s\" számára! Létre van hozva, vagy te vagy az."
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "Kapcsolódási kérelem a %s nevű csatornába."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "A csapatnév hiányzik."
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "Az enter megnyitja a bevitelt."
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "Az üzenet bezárja a bevitelt."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "Az enter mostantól megnyitja a bevitelt."
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Az üzenet mostantól bezárja a bevitelt."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "Csapat létrehozása sikeres."
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "A privát üzenet nem lett elküldve, mert le lettél tiltva."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "A privát üzenet nem lett elküldve, mert le lettél tiltva."
@@ -529,42 +506,42 @@ msgstr ""
"Lehetőségek a /%s parancshoz: \"yes\", \"no\", \"true\", \"false\", \"1\", "
"\"0\"."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Ãltalános"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Képernyőt mentettük a ~/ helyre"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Hiba a képernyő mentése során!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "A kapcsolat megszakadt a szerverrel, a program most kilép."
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Hálózati hiba"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Kereskedési kérelmek elutasítása"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Kereskedési kérelmek elfogadása"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Nem lehet betölteni a térképet"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Hiba %s betöltése közben"
@@ -578,34 +555,34 @@ msgstr "Csapat (%s)"
msgid "Buy"
msgstr "Vétel"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Ãr: %s / Teljes: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Kilépés"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Max."
@@ -619,11 +596,11 @@ msgstr "Eladás"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Mégse"
@@ -699,14 +676,14 @@ msgstr "Karakter létrehozása"
msgid "Name:"
msgstr "Név:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -723,8 +700,8 @@ msgstr "Haj szín:"
msgid "Hair style:"
msgstr "Haj stílus:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Létrehozás"
@@ -780,8 +757,8 @@ msgstr "Regisztráció megszüntetése"
msgid "Change Email"
msgstr "Email cím módosírása"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Törlés"
@@ -790,24 +767,24 @@ msgstr "Törlés"
msgid "Choose"
msgstr "Bezár"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Chat"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d játékos van a közeledben."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "A látogatottság rögzíve lessz."
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Üzenet %s számára: %s"
@@ -873,8 +850,8 @@ msgstr "Környezeti effektek"
msgid "Equipment"
msgstr "Felszerelés"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Nem használ"
@@ -882,7 +859,7 @@ msgstr "Nem használ"
msgid "Help"
msgstr "Súgó"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Bezár"
@@ -894,81 +871,84 @@ msgstr "Táska"
msgid "Storage"
msgstr "Raktár"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "Hely:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Használ"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Bevet"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Eldob"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Felosztás"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Súly:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Raktároz"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Magához vesz"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Eldob"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "Ok"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Mind"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Válaszd ki mennyi tárggyal akarsz üzletelni."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Válaszd ki mennyit akarsz eldobni."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "Válaszd ki a raktározandó mennyiséget."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "Válaszd ki mennyit veszel magadhoz."
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Válaszd ki az elosztandó mennyiséget."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Súly: "
@@ -1000,40 +980,40 @@ msgstr "Tárgy megosztás tiltva."
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Térkép"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Várakozás a szerverre"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Következő"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Küldés"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "Gépjátékos"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Alaphelyzet"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1048,7 +1028,7 @@ msgstr "Cél:"
msgid "Send"
msgstr "Küldés"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "A levél elküldése sikertelen. A feladó, vagy a címzett nem található."
@@ -1138,7 +1118,7 @@ msgstr "@@name|Neve hozzáadása a csevegéshez@@"
msgid "Pick up %s"
msgstr "Felvesz"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|Hozzáadás a chat-hez@@"
@@ -1211,61 +1191,61 @@ msgstr "A jelszónak legfeljebb %d karakter hosszúnak kell lennie."
msgid "Passwords do not match."
msgstr "A jelszavak nem egyeznek."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Válassz szervert"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Szerver:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Szerver:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Csatlakozás…"
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Egyéni kurzor"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Kérlek írd be a szerver címét és portját egyaránt."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Várakozás a szerverre"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1303,54 +1283,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "Ãgy fog kinézni a felirat."
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Színek"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Típus: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Statikus"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Pulzáló"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Szivárvány"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Színkép"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Várakozás "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Vörös: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Zöld: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Kék: "
@@ -1436,28 +1416,33 @@ msgstr "Tiltott"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Üzletelés engedélyezése"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Privát engedélyezése"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "Privátok fülekbe tétele"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "A név mutatása"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "Nem tudod eladni."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Játékosok"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "Ha ignorolva van:"
@@ -1513,515 +1498,482 @@ msgstr "közepes"
msgid "max"
msgstr "max."
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Teljes képernyő"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Egyéni kurzor"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Látható nevek"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Játékbéli effektek"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "A név mutatása"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "Értesítés tárgy felvételkor"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "Chat-en belül"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "Karakter felett"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPS Limit:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Videó"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "A név mutatása"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "Fej feletti szöveg"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Menük áttetszősége"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Környezeti effektek"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Effektek részletessége"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Betűméret"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Nem"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "Ez a mód és az előző mód visszaállítása sikertelen."
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "Ez a mód és az előző mód visszaállítása sikertelen."
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Ãtállás teljes képernyÅ‘re"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "A változások érvénybe lépéséhez a program újraindítása szükséges."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "OpenGL átállítása"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "A változások érvénybe lépéséhez a program újraindítása szükséges."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "Tapasztalat megosztás tiltva."
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "A képernyő felbontása megváltozott"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "A változások érvénybe lépéséhez a program újraindítása szükséges."
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Effektek beállítása megváltozott."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "A változások érvénybe lépéséhez töltsön be egy új térképet."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Képességek"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Fejleszt"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Képesség pontok: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Képesség pontok: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Képességek"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Szint: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Szint: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "Klán létrehozva."
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Klán létrehozása"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Biztos, hogy ki szeretne lépni?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > Felhasználó csapatba hívása"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > Felhasználó csapatba hívása"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Biztos, hogy ki szeretne lépni?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Klán létrehozása"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Karakter létrehozása"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Felhasználó meghívása"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Nagy"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Csapatba hívást elfogadta %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Csapatba hívást elutasította %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Csapatba hívást elfogadta %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Csapatba hívást elutasította %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "Hiba a klán létrehozása közben."
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Klán"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Válassz szervert"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "Csapatba hívtak, de neked van csapatod."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s behívott %s csapatába."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Ajánlat elfogadása"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Csapatba hívtak, de neked van csapatod."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s a csapatába hívott."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s behívott %s csapatába."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s a csapatába hívott."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s behívott %s csapatába."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Ajánlat elfogadása"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Csapat"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Válassz szervert"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Szint: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Pénz: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "Élet:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "TP:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "Varázserő:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "Munka: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "Munka:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "Élet:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "Varázserő:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "TP:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Pénz: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Munka:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Karakter statok rendben"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Képesség pontok: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Szint: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Ãœzletet javasol"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Megerősítve. Vár..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Üzlet elfogadása"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Elfogadva. Vár..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "Ãœzlet: Te"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Ãœzlet"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Hozzáad"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Kapott tárgy: %s."
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Adott tárgyak:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Változtatás"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"Hiba a tárgy hozzáadásakor. Nem tudod rárakni az egyik tárgyat a másikra."
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Nincs elég pénzed."
@@ -2061,84 +2013,6 @@ msgstr "##1 próbáld meg később"
msgid "Completed"
msgstr "Kész"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "Nevek"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Ismeretlen játékos neve"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "Saját név"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "GM név"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "Gépjátékos neve"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Szörny neve"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Csapat"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Klán"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Effektek"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "Tárgy felvételekor"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "Tapasztalat szerzésekor"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Sebzéskor"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "Sérüléskor"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Kritikális ütéskor"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "Sebzéskor"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Kritikális ütéskor"
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Ha nincs találat."
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > Kilistázza az aktuális csatorna felhasználóit"
@@ -2216,55 +2090,55 @@ msgstr "Kell egy játékos az op parancshoz."
msgid "Need a user to kick!"
msgstr "Kell egy játékos a kick parancshoz."
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Globális bejelentés:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Globális bejelentés (%s) :"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s mondja: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Nem tudsz üres üzenetet küldeni!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Bezárja a privát fület."
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Parancs: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Ez a parancs bezárja az aktuális privát fület."
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Parancs: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Ez a parancs megmutatja az online játékosok számát."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2294,321 +2168,334 @@ msgstr "Változtatás"
msgid "Choose World"
msgstr "Válassz szervert"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Mozgás felfelé"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Mozgás lefelé"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Mozgás balra"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Mozgás jobbra"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Támadás"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Kijelöl és Támad"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "Hangulatjel"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Csevegés"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Támadás Megszüntetése"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Legközelebbit Kijelöl"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "Gépjátékost Kijelöl"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Játékost Kijelöl"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "Felvesz"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Ablakok Elrejtése"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Ülés"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Képernyőkép"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Üzletelés Engedélyezése/Tiltása"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "Útvonal Keresése a Kurzorig"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "Gyorsmenü %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Súgó Ablak"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Sztátusz Ablak"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Táska Ablak"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Felszerelés Ablak"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Képességek Ablak"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Minitérkép Ablak"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Chat Ablak"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Gyorsmenü Ablak"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Beállítások Ablak"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Hibakereső Ablak"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Képességek Ablak"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "Hangulatjel Gyorsmenü Ablak"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Sztátusz Ablak"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "Hangulatjel Gyorsmenü %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "Chat Ki/Be Kapcsolása"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Csevej Felfele Görgetése"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Csevej Lefele Görgetése"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "Előző Chat Fül"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Következő Chat Fül"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "Ok Kiválasztása"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "Ignore input 1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "Ignore input 2"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "Ãllítsd át, vagy a játék érdekesen fog viselkedni."
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "Nem tudod felvenni a tárgyat."
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Zsákmányod%s [@@%d|%s@@]."
msgstr[1] "Zsákmányod%s [@@%d|%s@@]."
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Opciók:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : Megmutatja a verziót"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : Megmutatja ezt a súgót"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : Konfigurációs fájl használata"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username : Bejelentkezés ezzel a felhasználónévvel"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : Bejelentkezés ezzel a jelszóval"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character : Bejelentkezés ezzel a karakterrel"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server : Szerver neve vagy IP címe"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -p --port : Bejelentkezési port"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host : A frissítési szerver kijelölésére használjuk"
-#: src/main.cpp:53
+#: src/main.cpp:57
#, fuzzy
msgid " -D --default : Choose default character server and character"
msgstr " -D --default : Válaszd ki az alapértelmezett szervert és karaktert"
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : Frissítés átugrása"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data : Könyvtár ahonnan betöltöd a játékot"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : Könyvtár használata gyökérkönyvtárként"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : Konfigurációs fájl használata"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : Könyvtár használata gyökérkönyvtárként"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : OpenGL kikapcsolása erre az időszakra"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "Meghaltál."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr "A karaktered elvérzett a csatában."
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "Nem vagy már az élők sorában."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr "A kaszás eljött érted, hogy elvigye a lelked."
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "Vége a játéknak!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
@@ -2616,7 +2503,7 @@ msgstr ""
"Nem, gyerekek. A karakter nem meghalt, ..ööö... hanem egy szebb világba "
"került."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
@@ -2624,86 +2511,87 @@ msgstr ""
"A tervet, amiben a torkoddal támadsz az ellenség kardjába sikertelennek "
"bizonyult."
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "Úgy látszik nem futottál túl gyorsan."
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "Meg akarod bánni a bűneid?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "Kövesd a fényt az alagút végén."
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "Megöltek."
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr "Kezedbe adták a fejed."
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr "Sikolyok közepette kerültél a másvilágra."
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
#, fuzzy
msgid "Press OK to respawn."
msgstr " Nyomj Ok-t a feléledéshez"
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Meghaltál."
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "Már be van jelentkezve"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "A felhasználónév foglalt"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Karakter statok rendben"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Karakter statok rendben"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2711,96 +2599,96 @@ msgstr ""
msgid "Unknown error."
msgstr "Ismeretlen hiba"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "Infó"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "Karakter törölve."
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Válaszd ki mennyi tárggyal akarsz üzletelni."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Ismeretlen hiba"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "Nincs elérhető játékszerver."
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "Téma: %s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "Sebzéskor"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Parancs: /join <csatorna>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "Kapcsolódási kérelem a %s nevű csatornába."
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s csatlakozott a csapathoz."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Ismeretlen parancs."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "Klán létrehozva."
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "Hiba a klán létrehozása közben."
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "Meghívás elküldve."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr "A tag előléptetése sikeres."
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "A tag előléptetése sikertelen."
@@ -2891,11 +2779,11 @@ msgstr "Az email cím foglalt"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "Csatlakoztál a csapathoz."
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s csatlakozott a csapathoz."
@@ -2905,190 +2793,137 @@ msgstr "%s csatlakozott a csapathoz."
msgid "%s rejected your invite."
msgstr "%s visszautasította a csapatba hívást."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Erő"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "Erő %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Mozgékonyság"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "Mozgékonyság %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Ügyesség"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "Ügyesség %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "Egészség"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "Egészség %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Intelligencia"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "Intelligencia %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Akaraterő:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "Akaraterő: %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "Elfogadod a bejövő üzleti ajánlatokat."
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "Elutasítod a bejövő üzleti ajánlatokat."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "Üzleti ajánlat"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s üzletelni akar veled. Te akarsz vele?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "Üzlet Te és %s között"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "Az üzlet megszakadt."
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "Sikeres üzlet."
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "Kirúgás sikertelen!"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "Kirúgás sikeres!"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Nincs mit eladni."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Öröm volt veled üzletet kötni!"
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "Nem tudod megvenni."
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Öröm volt veled üzletet kötni!"
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "Nem tudod eladni."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "Nem használhatod ez a nevet."
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Ismeretlen hiba"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Nem tudod létrehozni a karaktert. Valószínű a neve használatban van."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Karakter törölve."
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Karakter törlése sikertelen."
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Erő:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Mozgékonyság:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Egészség:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Intelligencia:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Ügyesség:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Szerencse:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "A privát üzenet nem lett elküldve, mert a játékos nem elérhető."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "A privát üzenet nem lett elküldve, mert le lettél tiltva."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Játékos"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "A csatornák le vannak tiltva!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3103,80 +2938,125 @@ msgstr "Név"
msgid "Request to quit denied!"
msgstr "Üzleti ajánlat"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "Erő %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "Mozgékonyság %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "Egészség %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "Intelligencia %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "Ügyesség %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "Szerencse %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Azonosítás sikertelen"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "Nincs elérhető szerver"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "Valaki más megprobál belépni erre a fiókra"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "Ez a fiók már be van lépve"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "Speed hack észlelve"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "Duplikált bejelentkezés"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "Ismeretlen kapcsolati hiba"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "Lekapcsolódtál a szerverről!"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Erő"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Mozgékonyság"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "Egészség"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Intelligencia"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Ügyesség"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Szerencse"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Fizikális védelem:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "Mágikus támadás:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "Mágikus védelem:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "Találati esély (%):"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "Kitérés (%):"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "Kritikális ütéskor"
@@ -3227,29 +3107,29 @@ msgstr "Ezzel a paranccsal a játékos elhagyja a csapatát."
msgid "Guild name is missing."
msgstr "A csapatnév hiányzik."
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s mostantól a csapatod tagja."
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "%s részéről ismeretlen válasz a meghívásra."
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3330,15 +3210,15 @@ msgid "This command displays the party's current experience sharing policy."
msgstr ""
"Ez a parancs megmutatja a csapat jelenlegi tapasztalatmegosztási-szabályát."
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "Tárgy megosztás engedélyezve."
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "Tárgy megosztás tiltva."
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "A tárgy megosztás nem lehetséges."
@@ -3347,15 +3227,15 @@ msgstr "A tárgy megosztás nem lehetséges."
msgid "Item sharing unknown."
msgstr "Tárgy megosztás engedélyezve."
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "Tapasztalat megosztás engedélyezve."
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "Tapasztalat megosztás tiltva."
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "A tapasztalat megosztás nem lehetséges."
@@ -3364,15 +3244,15 @@ msgstr "A tapasztalat megosztás nem lehetséges."
msgid "Experience sharing unknown."
msgstr "Tapasztalat megosztás engedélyezve."
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "Nem tudod bevetni a tárgyat."
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "Nem tudod használni."
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "Nem tudod eltenni."
@@ -3441,7 +3321,7 @@ msgstr "Nem tudod eladni."
msgid "Connection to server terminated. "
msgstr "Csatlakozás a térkép szerverhez...."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "Nem tudtad a csapatot létrehozni."
@@ -3449,242 +3329,237 @@ msgstr "Nem tudtad a csapatot létrehozni."
msgid "Party successfully created."
msgstr "Csapat létrehozása sikeres."
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s eleve tagja a csapatnak."
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s visszautasította a csapatba hívást."
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s mostantól a csapatod tagja."
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "%s részéről ismeretlen válasz a meghívásra."
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "Kiléptél a csapatból."
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s elhagyta a csapatot."
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "Egy ismeretlen csapattárs mondja: %s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > Felhasználó csapatba hívása"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s nincs a csapatodban!"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Dobj be egy érmét a folytatáshoz."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "Nem haltál meg...csak alszol..."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "Nem létezel többé."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "Megszüntél létezni."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "Véged és elindultál találkozni a készítőddel."
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "Hulla vagy."
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "Megfosztottak az életedtől. Nyugodj békében."
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr "Szép vagy mikor alszol..."
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "Történelem vagy."
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr "Elég gallyul nézel ki."
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "Feldobtad a talpad."
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr "Megfulladtál a saját véredben."
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "Ex-játékos lettél."
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr "Az örök búzamezőkön kaszálgatsz."
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Ãœzenet"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr "Több tárgy van nálad mint a súlyod fele. Nem töltődik az életed."
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "Zsákmányod "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "Előbb tegyél be nyílvesszőt."
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Ãœzlet sikertelen!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "Hangulatjel küldése sikertelen!"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Ülés sikertelen!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Beszélgetés létrehozása sikertelen."
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Nem tudsz csatlakozni a csapatba."
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "Nem tudsz ordítani!"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "Nem érted még el a megfelelő szintet!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "Kevés az életed!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "Kimerültél."
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "Nincs feljegyzésed."
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Most nem csinálhatod!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Úgy néz ki több pénzre van szükséged... ;)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Ezzel a fegyverrel nem tudod ezt a képességet használni!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "Egy másik piros kőre van szükséged!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "Egy másik kék kőre van szükséged!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "Túl sok dolgot cipelsz, hogy ezt csináld!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "Huh? Mi volt ez?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "Teleport sikertelen..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "Nem tudsz semmit ellopni..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "A méregnek nem volt hatása..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Az üzlet nem lehetséges. A partner túl messze van."
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Az üzlet nem lehetséges. A partner nem létezik."
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "Az üzlet ismeretlen okból megszakadt."
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "Üzlet: Te és %s"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "Te és %s üzlete megszakadt."
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "Lekezeletlen üzlet elutasító csomag."
@@ -3700,57 +3575,72 @@ msgstr "Tárgy hozzáadása sikertelen. Az üzleti partnernek nincs elég helye.
msgid "Failed adding item for unknown reason."
msgstr "Ismeretlen okból a tárgy hozzáadása sikertelen."
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|Teljesen letiltod %s-t@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Támadás %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Védelem %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "Élet: %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "Varázserő %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Ismeretlen tárgy"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "Névtelen"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "Élet:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "Varázserő:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "TP:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Pénz: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Munka:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Szint: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "Hozzáférés megtagadva"
@@ -3764,6 +3654,13 @@ msgstr "Névtelen"
#~ msgid "Willpower:"
#~ msgstr "Akaraterő:"
+#~ msgid "Willpower %+d"
+#~ msgstr "Akaraterő: %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Akaraterő:"
+
#, fuzzy
#~ msgid "Server is full."
#~ msgstr "A szerver tele van"
@@ -3815,6 +3712,24 @@ msgstr "Névtelen"
#~ msgid "Hyperlink"
#~ msgstr "Hiperlink"
+#~ msgid "Being"
+#~ msgstr "Nevek"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Ismeretlen játékos neve"
+
+#~ msgid "Own Name"
+#~ msgstr "Saját név"
+
+#~ msgid "GM Names"
+#~ msgstr "GM név"
+
+#~ msgid "NPCs"
+#~ msgstr "Gépjátékos neve"
+
+#~ msgid "Monsters"
+#~ msgstr "Szörny neve"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Ismeretlen tárgy típus"
@@ -3859,6 +3774,29 @@ msgstr "Névtelen"
#~ msgid "Ammo"
#~ msgstr "Töltény"
+#~ msgid "Particle Effects"
+#~ msgstr "Effektek"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "Tárgy felvételekor"
+
+#~ msgid "Exp Notification"
+#~ msgstr "Tapasztalat szerzésekor"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "Sebzéskor"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "Sérüléskor"
+
+#~ msgid "Critical Hit"
+#~ msgstr "Kritikális ütéskor"
+
+#~ msgid "Misses"
+#~ msgstr "Ha nincs találat."
+
#~ msgid "HP Bar"
#~ msgstr "Élet csík"
diff --git a/po/id.po b/po/id.po
index 7012593b..d7b9e01e 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-11-21 12:11+0000\n"
"Last-Translator: Rainfeed <Unknown>\n"
"Language-Team: Indonesian <id@li.org>\n"
@@ -19,480 +19,458 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Atur"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Menyambung..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Login"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Pilih Karakter"
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Ubah"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Kesalahan"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Kata Sandi:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Ubah"
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Tidak terdaftar"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Perintah tidak dikenal."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr ""
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr ""
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr ""
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr ""
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Pengumuman global (khusus GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Perintah: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Perintah: /announce <pesan>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** hanya tersedia bagi GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Perintah: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Perintah: /announce <pesan>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Perintah: /clear"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Perintah: /clear"
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Perintah: /clear"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Perintah: /announce <pesan>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -501,39 +479,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -547,34 +525,34 @@ msgstr ""
msgid "Buy"
msgstr "Beli"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Keluar"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -588,11 +566,11 @@ msgstr "Jual"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Batal"
@@ -665,14 +643,14 @@ msgstr "Buat Karakter"
msgid "Name:"
msgstr "Nama:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -689,8 +667,8 @@ msgstr "Warna Rambut:"
msgid "Hair style:"
msgstr "Gaya Rambut:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Buat"
@@ -746,8 +724,8 @@ msgstr "Tidak terdaftar"
msgid "Change Email"
msgstr "Ubah"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Hapus"
@@ -755,24 +733,24 @@ msgstr "Hapus"
msgid "Choose"
msgstr ""
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -838,8 +816,8 @@ msgstr ""
msgid "Equipment"
msgstr "Perlengkapan"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -847,7 +825,7 @@ msgstr ""
msgid "Help"
msgstr ""
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -859,81 +837,84 @@ msgstr "Inventaris"
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Gunakan"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Jatuh"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Pecah"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Jatuh"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr ""
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Pilih jumlah item yang mau di perdagangkan"
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Pilih jumlah item yang mau di buang"
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Pilih jumlah item yang mau di pisahkan"
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Efek: %s"
@@ -963,40 +944,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Berikutnya"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1011,7 +992,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1097,7 +1078,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1169,59 +1150,59 @@ msgstr ""
msgid "Passwords do not match."
msgstr "Kata sandi tidak sama."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Menyambung..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Tolong tulis address dan port dari server"
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1258,50 +1239,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1385,27 +1366,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1461,491 +1446,462 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Layar penuh"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "Batas FPS"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Video"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Tidak"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Mengganti ke layar penuh"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Memulai dari awal di butuhkan untuk melihat efek"
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Mengubah OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Mendaftar perubahan ke OpenGL membutuhkan memulai dari awal"
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Keahlian"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Keahlian"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Tingkatan: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Tingkatan: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Apakah anda bersungguh-sungguh ingin menghapus karakter ini?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Apakah anda bersungguh-sungguh ingin menghapus karakter ini?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Buat Karakter"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Tingkatan: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Uang: %d"
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Stats Karakter OK"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Tingkatan: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Menawarkan tukar menukar"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Tambah"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Anda memberikan:"
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Anda memberikan:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Ubah"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1984,78 +1940,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2132,54 +2016,54 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Perintah: /help"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2204,391 +2088,404 @@ msgstr "Ubah"
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
msgid " -h --help : Display this help"
msgstr ""
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
+msgstr ""
+
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Anda memberikan:"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Stats Karakter OK"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Stats Karakter OK"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2596,92 +2493,92 @@ msgstr ""
msgid "Unknown error."
msgstr "Perintah tidak dikenal."
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Pilih jumlah item yang mau di perdagangkan"
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Perintah tidak dikenal."
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Perintah tidak dikenal."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2758,11 +2655,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2772,188 +2669,135 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Ketekunan"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Perintah tidak dikenal."
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Kekuatan"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Daya/Tenaga Hidup"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Kecerdasan"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Ketangkasan"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2967,73 +2811,118 @@ msgstr "Nama:"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Pertahanan %+d"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "Serangan %+d"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "Pertahanan %+d"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3078,27 +2967,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3174,15 +3063,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3190,15 +3079,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3206,15 +3095,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3271,7 +3160,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3279,242 +3168,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3530,58 +3414,61 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Serangan %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Pertahanan %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Uang: %d"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Tingkatan: %d"
+
#~ msgid "Willpower:"
#~ msgstr "Ketekunan"
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Ketekunan"
+
#~ msgid "Description: %s"
#~ msgstr "Deskripsi: %s"
diff --git a/po/it.po b/po/it.po
index 91a09762..4da918d8 100644
--- a/po/it.po
+++ b/po/it.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Mana World 0.1.0\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2010-02-18 14:01+0000\n"
"Last-Translator: Gabriel Rota <gabriel.rota@gmail.com>\n"
"Language-Team: Italian\n"
@@ -21,345 +21,322 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Impostazioni"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Connessione al server della mappa..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Autenticazione"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Scelta Personaggio"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "Connessione al server della mappa..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Server"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Errore"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Password:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Cambia"
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Cancella registrazione"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "Host di aggiornamento non valido: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "Errore durante la creazione della directory degli aggiornamenti"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Comando sconosciuto."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Aiuto --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Mostra questo aiuto"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Mostra il nome della mappa"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Mostra il numero di utenti in linea"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Scrivi un messaggio riguardante te"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Pulisce questa finestra"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Invia un messaggio privato ad un utente"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Equivale a \"msg\""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Equivale a \"msg\""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > Apre una scheda per i messaggi privati con un altro utente"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > Equivale a \"query\""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Mostra tutti i canali pubblici"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Partecipa o crea un canale"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > Crea un nuovo party"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > Invita un utente nel party"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record> Inizia la registrazione della chat in un file esterno"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > Determina se <invio> apre/chiude il registro della chat"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
"/present > Ottiene una lista dei giocatori presenti (inviato al registro di "
"chat, se è attivo)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Annuncio globale (solo GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Per maggiori informazioni, digitare /help <comando>."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Comando: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Questo comando mostra una lista di tutti i comandi disponibili."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Comando: /help <comando>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Questo comando mostra l'aiuto per <comando>."
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Comando: /announce <msg>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** disponibile solo ai GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "Questo comando invia un messaggio <msg> a tutti i giocatori in linea."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Comando: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Questo comando pulisce il registro della chat precedente"
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Comando: /item <politica>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Questo comando mostra il numero dei giocatori attualmente connessi."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Comando: /join <canale>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Questo comando effettua l'accesso al <canale> specificato."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Se il <canale> non esiste, viene creato."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Comando: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Questo comando mostra una lista di tutti i canali."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Comando: /me <messaggio>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Questo comando mostra agli altri ciò che stai <messaggio>."
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Comando: /msg <nick> <messaggio>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Comando: /whisper <nick> <messaggio>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Comando: /w <nick> <messaggio>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Questo comando invia il testo <messaggio> all'utente <nick>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr "Se il <nick> contiene spazi, racchiuderlo tra virgolette (\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Comando: /query <nick>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Comando: /q <nick>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Questo comando tenta di creare una scheda per i sussurri tra te e l'utente "
"<nick>."
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Comando: /w <nick> <messaggio>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Comando: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Questo comando imposta l'argomento a <messaggio>"
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Comando: /create <nome-gruppo>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Questi comandi creano un nuovo gruppo chiamato <nome-gruppo>."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Comando: /party <nick>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Questo comando invita <nick> nel tuo party."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Comando: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -367,27 +344,27 @@ msgstr ""
"Questo comando crea una lista dei giocatori che hai attorno e la invia o "
"alla registrazione della chat se attivata, o alla chat altrimenti."
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Comando: /record <nome file>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr "Questo comando attiva la registrazione della chat nel file <nome file>"
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Comando: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Questo comando termina la sessione di registrazione."
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Comando: /toggle <stato>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
@@ -395,7 +372,7 @@ msgstr ""
"Questo comando imposta la chiusura del registro della conversazione premendo "
"il tasto Invio oppure automaticamente."
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -403,48 +380,48 @@ msgstr ""
"<stato> può essere \"1\", \"yes\", \"true\" per attivarlo, oppure \"0\", \"no"
"\", \"false\" per disattivarlo."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Comando: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "Questo comando mostra se il tasto Invio è attivato o meno."
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Comando: /item <politica>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Comando: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Questo comando mostra il nome della mappa attuale."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Comando: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Questo comando mostra il numero dei giocatori attualmente connessi."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Digitare /help per una lista dei comandi."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "Impossibile inviare un sussurro vuoto!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -453,67 +430,67 @@ msgstr ""
"Impossibile creare una scheda per sussurrare a \"%s\"! Esiste già, oppure "
"sei tu."
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "Richiesta per accedere al canale %s."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "Manca il nome del party."
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "Invio attiva/disattiva la conversazione."
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "I messaggi chiudono la conversazione."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "\"Invio\" adesso attiva/disattiva la conversazione."
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "I messaggi adesso chiudono la conversazione."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "Party creato con successo."
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "Il bisbiglio non può essere inviato, ignorato dall'utente."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "Il bisbiglio non può essere inviato, ignorato dall'utente."
@@ -525,42 +502,42 @@ msgstr ""
"Le opzioni per /%s sono \"yes\" (sì), \"no\", \"true\" (vero), \"false"
"\" (falso), \"1\", \"0\"."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Generale"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Schermata salvata in ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Salvataggio della schermata fallito!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "La connessione al server è caduta. Il programma sarà ora chiuso."
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Errore di rete"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Le richieste di scambio in arrivo saranno ignorate"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Le richieste di scambio in arrivo saranno accettate"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Impossibile caricare la mappa"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Errore durante il caricamento di %s"
@@ -574,34 +551,34 @@ msgstr "Party (%s)"
msgid "Buy"
msgstr "Compra"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Prezzo: %s / Totale: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Esci"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Massimo"
@@ -615,11 +592,11 @@ msgstr "Vendi"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Annulla"
@@ -695,14 +672,14 @@ msgstr "Crea Personaggio"
msgid "Name:"
msgstr "Nome:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -719,8 +696,8 @@ msgstr "Colore Capelli:"
msgid "Hair style:"
msgstr "Stile Capelli:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Crea"
@@ -776,8 +753,8 @@ msgstr "Cancella registrazione"
msgid "Change Email"
msgstr "Cambia l'indirizzo Email"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Elimina"
@@ -786,24 +763,24 @@ msgstr "Elimina"
msgid "Choose"
msgstr "Chiudi"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Chat"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "Sono presenti %d giocatori."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "Numero dei presenti registrato."
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Sussurra a %s: %s"
@@ -869,8 +846,8 @@ msgstr "Suoni ambientali"
msgid "Equipment"
msgstr "Equipaggiamento"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Rimuovi"
@@ -878,7 +855,7 @@ msgstr "Rimuovi"
msgid "Help"
msgstr "Aiuto"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Chiudi"
@@ -890,81 +867,84 @@ msgstr "Inventario"
msgid "Storage"
msgstr "Storage"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "Slot:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Equipaggia"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Usa"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Lascia"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Dividi"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Peso:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Recupera"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Lascia"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "OK"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Tutti"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Seleziona la quantità di oggetti da scambiare."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Seleziona la quantità di oggetti da lasciare."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "Selezionare la quantità di oggetti da riporre."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "Seleziona la quantità di oggetti da ritirare"
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Seleziona la quantità di oggetti da dividere."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Peso: "
@@ -996,40 +976,40 @@ msgstr "Disabilitata la condivisione degli oggetti"
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Mappa"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "In attesa del server"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Prossimo"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Invia"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Reimposta"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1044,7 +1024,7 @@ msgstr "A:"
msgid "Send"
msgstr "Invia"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "La lettera non è valida oppure non è stato possibile inviarla."
@@ -1134,7 +1114,7 @@ msgstr "@@name|Aggiungi nome alla conversazione@@"
msgid "Pick up %s"
msgstr "Raccogli"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|Aggiungi alla chat@@"
@@ -1207,61 +1187,61 @@ msgstr "La password deve contenere meno di %d caratteri."
msgid "Passwords do not match."
msgstr "Le password non corrispondono."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Scegliere il proprio server"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Porta:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Connessione..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Cursore personalizzato"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Per favore inserisci l'indirizzo e la porta del server."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "In attesa del server"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1299,54 +1279,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "Come appaiono i colori"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Colori"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Tipo: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Statico"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Pulsazione"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Arcobaleno"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Gamma"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Ritardo: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Rosso: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Verde: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Blu: "
@@ -1432,28 +1412,33 @@ msgstr "Ignorato"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Permetti scambi"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Permetti sussurri"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "Sposta tutti i sussurri in schede"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Mostra nomi"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "Impossibile vendere."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Giocatori"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "Quando si ignora:"
@@ -1509,516 +1494,483 @@ msgstr "medio"
msgid "max"
msgstr "massimo"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Schermo intero"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Cursore personalizzato"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Nomi visibili"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Effetti particelle"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Mostra nomi"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "in chat"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "Limita FPS:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Video"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Mostra nomi"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "Testo sovrastante"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Opacità IU"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Suoni ambientali"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Dettagli particelle"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Dimensione caratteri"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "No"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "e il ripristino della precedente è fallito."
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "e il ripristino della precedente è fallito."
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Modalità a schermo intero"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Riavvio necessario affinchè i cambiamenti abbiano effetto."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Modifica OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Applicare le modifiche ad OpenGL richiede il riavvio."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "Disabilitata la condivisione dell'esperienza."
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Risoluzione schermo modificata"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Per applicare le modifiche, è necessario riavviare il client."
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Impostazione effetti particelle modificato."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "I cambi saranno effettuati al cambio della mappa."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Abilità"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Su"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Punti abilità: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Punti abilità: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Abilità"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Livello: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Livello: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "La gilda è stata creata."
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Crea una Gilda"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Sei sicuro di voler uscire?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > Invita un utente nel party"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > Invita un utente nel party"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Sei sicuro di voler uscire?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Crea una Gilda"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Crea Personaggio"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Invita un utente"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Largo"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Invito accettato da %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Invito rifiutato da %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Invito accettato da %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Invito rifiutato da %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "Errore durante la creazione della gilda."
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Gilda"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Scegliere il proprio server"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "Ricevuta richiesta di party, ma ne esiste già una."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s ti ha invitato ad unirti al party %s."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Accetta invito nel party"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Ricevuta richiesta di party, ma ne esiste già una."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s ti ha invitato ad unirti al suo party."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s ti ha invitato ad unirti al party %s."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s ti ha invitato ad unirti al suo party."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s ti ha invitato ad unirti al party %s."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Accetta invito nel party"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Party"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Scegliere il proprio server"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Livello: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Soldi: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Esperienza:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "Lavoro: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "Lavoro:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "MP:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Esperienza:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Soldi: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Lavoro:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Statistiche personaggio OK"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Punti abilità: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Livello: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Inizia uno scambio"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Confermato. In attesa..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Accetta scambio"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Accettato. In attesa..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "Commercia: Tu"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Commercia"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Aggiungi"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Hai ottenuto %s"
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Dai:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Cambia"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"Aggiunta dell'oggetto fallita. Non puoi sovrapporre un tipo di oggetto sulla "
"finestra."
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Non hai abbastanza denaro."
@@ -2058,85 +2010,6 @@ msgstr "##1 prova più tardi"
msgid "Completed"
msgstr "Completato"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "Essere"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Nomi degli altri giocatori"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "Proprio nome"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "Nomi dei GM"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPCs"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Mostri"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Party"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Gilda"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Effetti particelle"
-
-#: src/gui/userpalette.cpp:100
-#, fuzzy
-msgid "Pickup Notification"
-msgstr "Notifica Esperienza"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "Notifica Esperienza"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Il giocatore colpisce il mostro"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "Il mostro colpisce il giocatore"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Colpo critico"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "Il giocatore colpisce il mostro"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Colpo critico"
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Perde"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > Lista gli utenti nel canale corrente"
@@ -2215,55 +2088,55 @@ msgstr "Specificare un utente da rendere operatore!"
msgid "Need a user to kick!"
msgstr "Si deve specificare un utente da rimuovere!"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Annuncio generale:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Annuncio generale da %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s sospira: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Non puoi inviare un messaggio vuoto!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Chiude la scheda del sussurro"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Comando: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Questo comando chiude la scheda del sussurro attiva."
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Comando: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Questo comando mostra il numero dei giocatori attualmente connessi."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr "Questo comando attiva la registrazione della chat nel file <nome file>"
@@ -2291,194 +2164,194 @@ msgstr "Cambia"
msgid "Choose World"
msgstr "Scegliere il proprio server"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Muoviti verso l'alto"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Muoviti verso il basso"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Muoviti verso sinistra"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Muoviti verso destra"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Attacco"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Mirino e attacco"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Parla"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Ferma attacco"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Punta Più vicino"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "Punta NPC"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Punta Giocatore"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "Raccogli"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Nascondi la Finestra"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Siediti"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Screenshot"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Abilita/Disabilita Scambi"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "Trova il percorso sino al mouse"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "Scorciatoia %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Finestra di Aiuto"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Finestra degli Status"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Finestra dell'Inventario"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Finestra dell'Equipaggiamento"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Finestra delle Capacità"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Finestra Minimappa"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Finestra della Chat"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Finestra Scorciatoia Oggetti"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Finestra del Setup"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Finestra di debug"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Finestra delle Capacità"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Finestra degli Status"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "Attiva Chat"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Scorre la chat in alto"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Scorre la chat in basso"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "Scheda Chat Precedente"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Scheda Chat Successiva"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "Seleziona OK"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "Ignora input 1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "Ignora input 2"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
@@ -2486,127 +2359,140 @@ msgid ""
msgstr ""
"Se non vengono risolti, il gioco potrebbe comportarsi in modo inaspettato."
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "Impossibile raccogliere l'oggetto."
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Hai raccolto %s [@@%d|%s@@]."
msgstr[1] "Hai raccolto %s [@@%d|%s@@]."
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Opzioni"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : Mostra la versione"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : Mostra questo aiuto"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : File di configurazione da utilizzare"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username : Accedi con questo nome utente"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : Accedi con questa password"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character : Accedi con questo personaggio"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server : Nome o IP del server di login"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -s --server : Nome o IP del server di login"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host : Usa questo host per gli aggiornamenti"
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : Salta i download degli update"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data : Diectory dalla quale caricare i dati di gioco"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : Directory da usare come home directory"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : File di configurazione da utilizzare"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : Directory da usare come home directory"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : Disabilita OpenGL per questa sessione"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "Sei morto."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
"Ci dispiace informarti che il tuo personaggio è stato ucciso in battaglia."
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "Non sei più così vivo."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr "Le fredde mani della morte stanno afferrando la tua anima."
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
@@ -2614,7 +2500,7 @@ msgstr ""
"No, figliolo. Il tuo personaggio non è veramente morto. È... ehm... andato "
"in un posto migliore."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
@@ -2622,84 +2508,85 @@ msgstr ""
"Il tuo piano di spezzare le armi dei tuoi nemici colpendole con la tua gola "
"ha fallito."
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "Suppongo non sia andata troppo bene."
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "Tristemente, nessuna traccia di te è stata mai trovata..."
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "Annichilito."
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Sei morto"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "Nome utente già esistente"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Statistiche personaggio OK"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Statistiche personaggio OK"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2707,96 +2594,96 @@ msgstr ""
msgid "Unknown error."
msgstr "Errore sconosciuto"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "Informazioni"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "Personaggio cancellato."
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Seleziona la quantità di oggetti da scambiare."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Errore sconosciuto"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "Nessun gameserver è disponibile."
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "Il giocatore colpisce il mostro"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Comando: /join <canale>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "Richiesta per accedere al canale %s."
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s si è unito al party."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Comando sconosciuto."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "La gilda è stata creata."
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "Errore durante la creazione della gilda."
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "Invito spedito."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2886,11 +2773,11 @@ msgstr "Indirizzo email già esistente"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s si è unito al party."
@@ -2900,192 +2787,139 @@ msgstr "%s si è unito al party."
msgid "%s rejected your invite."
msgstr "%s ha rifiutato il tuo invito."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Forza"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "Forza %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Agilità"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "Agilità %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Destrezza"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "Destrezza %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "Vitalità"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "Vitalità %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Intelligenza"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "Intelligenza %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Volontà:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "Ignora la richiesta di commercio."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "Richiesta di commercio"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s vuole commerciare con te, accetti?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "Commerciando con %s"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "Scambio cancellato."
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "Scambio completato."
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "Espulsione fallita!"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "Kick riuscito!"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Niente da vendere."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Grazie per l'acquisto."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "Impossibile acquistare."
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Grazie per la vendita."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "Impossibile vendere."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "Impossibile usare questo ID"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Errore sconosciuto"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
"Creazione del personaggio fallita. E' molto probabile che il nome sia già "
"stato preso."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Personaggio cancellato."
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Cancellazione del personaggio fallita."
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Forza:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Agilità:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Vitalità:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Intelligenza:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Destrezza:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Fortuna:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "Il bisbiglio non può essere inviato, l'utente è offline."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "Il bisbiglio non può essere inviato, ignorato dall'utente."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Giocatore"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "I canali non sono supportati!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3100,79 +2934,124 @@ msgstr "Nome"
msgid "Request to quit denied!"
msgstr "Richiesta di commercio"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "Forza %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "Agilità %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "Vitalità %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "Intelligenza %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "Destrezza %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "Fortuna %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Autenticazione non riuscita"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "Nessun server disponibile"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "Qualcun'altro sta cercando di usare questo account"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "Questo accaunt ha già effettuato l'accesso"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "Accesso duplicato"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "Errore di connessione sconosciuto"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "Disconnesso dal server!"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Forza"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Agilità"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "Vitalità"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Intelligenza"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Destrezza"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Fortuna"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Difesa:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "Attacco Magico:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "Difesa Magica:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Accuratezza:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% Evasione:"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "Colpo critico"
@@ -3223,28 +3102,28 @@ msgstr "Questo comando fa abbandonare il gruppo ad un giocatore."
msgid "Guild name is missing."
msgstr "Manca il nome del party."
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s è ora un membro del tuo party."
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3326,15 +3205,15 @@ msgstr "Comando: /exp"
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "Abilitata la condivisione degli oggetti."
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "Disabilitata la condivisione degli oggetti"
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "Impossibile condividere gli oggetti."
@@ -3343,15 +3222,15 @@ msgstr "Impossibile condividere gli oggetti."
msgid "Item sharing unknown."
msgstr "Abilitata la condivisione degli oggetti."
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "Abilitata la condivisione dell'esperienza."
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "Disabilitata la condivisione dell'esperienza."
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "Impossibile condividere l'esperienza."
@@ -3360,15 +3239,15 @@ msgstr "Impossibile condividere l'esperienza."
msgid "Experience sharing unknown."
msgstr "Abilitata la condivisione dell'esperienza."
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "Impossibile equipaggiare."
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "Impossibile equipaggiare."
@@ -3432,7 +3311,7 @@ msgstr "Impossibile vendere."
msgid "Connection to server terminated. "
msgstr "Connessione al server della mappa..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "Non puoi creare un party."
@@ -3440,244 +3319,239 @@ msgstr "Non puoi creare un party."
msgid "Party successfully created."
msgstr "Party creato con successo."
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s è già membro di un party."
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s ha rifiutato il tuo invito."
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s è ora un membro del tuo party."
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "Hai lasciato il party."
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s ha lasciato il tuo party."
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > Invita un utente nel party"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s non è nel tuo party!"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Inserisci un gettone per continuare."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "Non sei morto. Stai riposando."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "Non sei più."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "Hai smesso di esistere."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "Sei spirato e sei andato a incontrare il tuo creatore."
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "Sei cadavere."
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "Privato della vita, riposi in pace."
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "I tuoi processi metabolici sono storia ora."
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "Hai tirato le cuoia."
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "Sei un ex-giocatore."
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Messaggio"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
"Stai trasportando più della metà del tuo peso. Non puoi recuperare le "
"energie."
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "Hai raccolto "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "Equipaggia prima le frecce"
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Scambio fallito!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Creazione della chat fallita!"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Non puoi unirti al party!"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "Non hai ancora raggiunto un livello abbastanza alto."
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "HP insufficienti!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "SP insufficienti!"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Non puoi farlo ora!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Sembra tu abbia bisogno di più denaro... ;-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Non puoi usare questa abilità con questo tipo di arma!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "Hai bisogno di un'altra gemma rossa!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "Hai bisogno di un'altra gemma blu!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "Huh? Cos'è quello?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Il veleno non ha avuto effetto..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3693,57 +3567,72 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|Ignora completamente %s@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Attacco %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Difesa %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "PF %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "PM %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Oggetto sconosciuto"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Esperienza:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Soldi: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Lavoro:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Livello: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "Accesso negato"
@@ -3755,6 +3644,10 @@ msgstr ""
#~ msgstr "Volontà:"
#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Volontà:"
+
+#, fuzzy
#~ msgid "Server is full."
#~ msgstr "Il server è pieno"
@@ -3802,6 +3695,24 @@ msgstr ""
#~ msgid "Hyperlink"
#~ msgstr "Collegamento ipertestuale"
+#~ msgid "Being"
+#~ msgstr "Essere"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Nomi degli altri giocatori"
+
+#~ msgid "Own Name"
+#~ msgstr "Proprio nome"
+
+#~ msgid "GM Names"
+#~ msgstr "Nomi dei GM"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCs"
+
+#~ msgid "Monsters"
+#~ msgstr "Mostri"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Tipo di oggetto sconosciuto"
@@ -3846,6 +3757,26 @@ msgstr ""
#~ msgid "Ammo"
#~ msgstr "Munizioni"
+#~ msgid "Particle Effects"
+#~ msgstr "Effetti particelle"
+
+#~ msgid "Exp Notification"
+#~ msgstr "Notifica Esperienza"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "Il giocatore colpisce il mostro"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "Il mostro colpisce il giocatore"
+
+#~ msgid "Critical Hit"
+#~ msgstr "Colpo critico"
+
+#~ msgid "Misses"
+#~ msgstr "Perde"
+
#~ msgid "HP Bar"
#~ msgstr "Barra HP"
diff --git a/po/ja.po b/po/ja.po
index 3bc2a0eb..225e733d 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2010-02-28 13:40+0000\n"
"Last-Translator: swimmy <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
@@ -19,294 +19,290 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "設定"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "マップサーãƒã¨æŽ¥ç¶šä¸­â€¦"
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "ログイン"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "キャラをé¸æŠž"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "マップサーãƒã¨æŽ¥ç¶šä¸­â€¦"
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "サーãƒ"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "エラー"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "パスワード:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "変更"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "本メンãƒãƒ¼ãŒç„¡äº‹ã«æ˜‡é€²ã•ã‚ŒãŸã€‚"
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "登録解除"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "無効ãªã‚¢ãƒƒãƒ—デートホスト: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "更新フォルダã®ä½œæˆã‚¨ãƒ©ãƒ¼"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "ä¸æ˜Žãªã‚³ãƒžãƒ³ãƒ‰"
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-ヘルプ-"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/helpを入力ã™ã‚‹ã¨ã€ãƒ˜ãƒ«ãƒ—メニューを表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where を入力ã™ã‚‹ã¨ã€ç¾åœ¨ã®ãƒžãƒƒãƒ—åを表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who を入力ã™ã‚‹ã¨ã€ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã§ã‚るユーザーã®æ•°ã‚’表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me を入力ã™ã‚‹ã¨ã€è‡ªåˆ†ã«é–¢ã™ã‚‹æƒ…報を教ãˆã¾ã™ã€‚"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear を入力ã™ã‚‹ã¨ã€ãƒãƒ£ãƒƒãƒˆã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’ãã‚Œã„ã«ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg を入力ã™ã‚‹ã¨ã€ä»–ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ãƒ—ライベートメッセージをé€ä¿¡ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper ã¯/msgã¨åŒã˜ã§ã™ã€‚"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w ã¯/msgã¨åŒã˜ã§ã™ã€‚"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
"/query を入力ã™ã‚‹ã¨ã€ä»–ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¨ã®ãƒ—ライベートãªãƒãƒ£ãƒƒãƒˆã‚¿ãƒ–を作æˆã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q ã¯/queryã¨åŒã˜ã§ã™ã€‚"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list を入力ã™ã‚‹ã¨ã™ã¹ã¦ã®å…¬å…±ãªãƒãƒ£ãƒ³ãƒãƒ«ã‚’表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
"/join (+ãƒãƒ£ãƒ³ãƒãƒ«å)ã‚’ã¨å…¥åŠ›ã™ã‚‹ã¨ã€æ–°ã—ã„ãƒãƒ£ãƒ³ãƒãƒ«ã‚’作æˆã™ã‚‹ã‹ã€æ—¢ã«ã‚ã‚‹"
"ãƒãƒ£ãƒ³ãƒãƒ«ã«å‚加ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/createã§æ–°ãƒ‘ーティ作æˆ"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
"/party (+ユーザーå)を入力ã™ã‚‹ã¨ã€ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ãƒ‘ーティ招待をé€ã‚Šã¾ã™ã€‚"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/recordを入力ã™ã‚‹ã¨ã€å¤–部ã®ãƒ•ã‚¡ã‚¤ãƒ«ã§ãƒãƒ£ãƒƒãƒˆã‚’記録ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
"/toggleを入力ã™ã‚‹ã¨ã€ï¼œãƒªã‚¿ãƒ¼ãƒ³ï¼žãŒãƒãƒ£ãƒƒãƒˆãƒ­ã‚°ã‚’ç•™ã‚ã¦ãŠãã‹ã©ã†ã‹ã‚’決定ã—ã¾"
"ã™ã€‚"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
"/presentを入力ã™ã‚‹ã¨ã€ç¾åœ¨ã®ãƒ—レイヤーリストを表示ã—ã¾ã™ã€‚(記録ã—ã¦ã„ã‚‹å ´åˆ"
"ã¯ã€ãƒãƒ£ãƒƒãƒˆãƒ­ã‚°ã«é€ä¿¡ã•ã‚Œã¾ã™ã€‚)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
"/announce を入力ã™ã‚‹ã¨ã€ã‚°ãƒ­ãƒ¼ãƒãƒ«ã‚¢ãƒŠã‚¦ãƒ³ã‚¹ã‚’ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚(ゲームマ"
"スターã®ã¿ï¼‰"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "ã‚‚ã£ã¨æƒ…報を得ãŸã„å ´åˆã¯ã€/help (コマンド)ã¨å…¥åŠ›ã—ã¦ãã ã•ã„。"
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "コマンド: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯æœ‰åŠ¹ãªã™ã¹ã¦ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "コマンド: /help <コマンド>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯å…¥åŠ›ã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®ãƒ˜ãƒ«ãƒ—を表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "コマンド: /announce <メッセージ>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** GMã«é™ã‚Šæœ‰åŠ¹ ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
"ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã§ã‚ã‚‹å…¨ã¦ã®ãƒ—レイヤーã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ä¿¡ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "コマンド: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€ä»¥å‰ã®ãƒãƒ£ãƒƒãƒˆã®ãƒ­ã‚°ã‚’消去ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "コマンド: /item <ãƒãƒªã‚·>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç¾åœ¨ã‚ªãƒ³ãƒ©ã‚¤ãƒ³çŠ¶æ…‹ã§ã‚るプレイヤーã®æ•°ã‚’表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "コマンド: /join <ãƒãƒ£ãƒ³ãƒãƒ«ï¼ž"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã€å…¥åŠ›ã—ãŸãƒãƒ£ãƒ³ãƒãƒ«ã«å‚加ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "ã‚‚ã—ãã®ãƒãƒ£ãƒ³ãƒãƒ«ãŒãªã„å ´åˆã¯ã€æ–°ã—ã作られã¾ã™ã€‚"
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "コマンド: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€ãƒãƒ£ãƒ³ãƒãƒ«ãƒªã‚¹ãƒˆã‚’表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "コマンド: /me <メッセージ>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€ä»–ã®äººã«å…¥åŠ›ã—ãŸçŠ¶æ…‹ã§ã‚ã‚‹ã“ã¨ã‚’æ•™ãˆã¾ã™ã€‚"
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "コマンド: /msg <ニックãƒãƒ¼ãƒ ï¼žï¼œãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ï¼ž"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "コマンド: /whisper <ニックãƒãƒ¼ãƒ ï¼ž <メッセージ>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "コマンド: /w <ニックãƒãƒ¼ãƒ > <メッセージ>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’入力ã—ãŸäººã¸é€ä¿¡ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
@@ -314,60 +310,41 @@ msgstr ""
"入力ã™ã‚‹ãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ ã«ã‚¹ãƒšãƒ¼ã‚¹ãŒå…¥ã£ã¦ã„ã‚‹å ´åˆã€ãƒ€ãƒ–ルコーテーション(\")ã§å›²"
"ã‚“ã§ãã ã•ã„。"
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "コマンド: /query <ニックãƒãƒ¼ãƒ ï¼ž"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "コマンド: /q <ニックãƒãƒ¼ãƒ ï¼ž"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€å…¥åŠ›ã—ãŸãƒ—レイヤーã¨ã®ãƒãƒ£ãƒƒãƒˆã‚¿ãƒ–を作æˆã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "コマンド: /w <ニックãƒãƒ¼ãƒ > <メッセージ>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "コマンド: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€ãƒˆãƒ”ックを設定ã—ã¾ã™ã€‚"
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "コマンド: /create <パーティå>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "本コマンドã§ã¯ã€å¼•æ•°ã®åå‰ã§æ–°ãƒ‘ーティ作æˆ"
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "コマンド: /party <ニックãƒãƒ¼ãƒ ï¼ž"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€å…¥åŠ›ã—ãŸãƒ—レイヤーを自分ã®ãƒ‘ーティーã«æ‹›å¾…ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "コマンド: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -375,27 +352,27 @@ msgstr ""
"ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯è¦‹ãˆã¦ã„る範囲内ã«ã„るプレイヤーã®ãƒªã‚¹ãƒˆã‚’å¾—ã¦ã€è¨˜éŒ²ã—ã¦ã„ã‚‹ãª"
"ら記録ログã«ã€ãã†ã§ãªã‘ã‚Œã°ãƒãƒ£ãƒƒãƒˆãƒ­ã‚°ã«é€ã‚‰ã‚Œã¾ã™ã€‚"
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "コマンド: /record <ファイルå>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€å…¥åŠ›ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã«ãƒãƒ£ãƒƒãƒˆãƒ­ã‚°ã®è¨˜éŒ²ã‚’開始ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "コマンド: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€è¨˜éŒ²ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’終了ã•ã›ã¾ã™ã€‚"
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "コマンド: /toggle <状態>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
@@ -403,7 +380,7 @@ msgstr ""
"ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ãƒªã‚¿ãƒ¼ãƒ³ã‚­ãƒ¼ãŒãƒãƒ£ãƒƒãƒˆãƒ­ã‚°ã‚’ç•™ã‚ã¦ãŠãã‹ã€ã‚‚ã—ãã¯ãƒãƒ£ãƒƒãƒˆãƒ­ã‚°"
"ãŒè‡ªå‹•çš„ã«æ¶ˆãˆã‚‹ã‹ã©ã†ã‹ã‚’設定ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -411,48 +388,48 @@ msgstr ""
"<状態>ã®éƒ¨åˆ†ã¯åˆ‡ã‚Šæ›¿ãˆã‚’オンã«ã™ã‚‹ã«ã¯\"1\",\"yes\",\"true\"ã®ã©ã‚Œã‹ä¸€ã¤ã‚’ã€"
"オフã«ã™ã‚‹ã«ã¯\"0\",\"no\",\"false\"ã®ã©ã‚Œã‹ã«ãªã‚Šã¾ã™ã€‚"
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "コマンド: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€ãƒˆã‚°ãƒ«ã®ã‚¹ã‚¤ãƒƒãƒçŠ¶æ…‹ã‚’表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "コマンド: /item <ãƒãƒªã‚·>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "コマンド: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç¾åœ¨åœ°ç‚¹ã®ãƒžãƒƒãƒ—ã®åå‰ã‚’表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "コマンド: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç¾åœ¨ã‚ªãƒ³ãƒ©ã‚¤ãƒ³çŠ¶æ…‹ã§ã‚るプレイヤーã®æ•°ã‚’表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "/help を入力ã™ã‚‹ã¨ã€å¯èƒ½ãªã‚³ãƒžãƒ³ãƒ‰ã®ãƒªã‚¹ãƒˆã‚’表示ã—ã¾ã™ã€‚"
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "空ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ä¿¡ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“ï¼"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -461,67 +438,67 @@ msgstr ""
"%sã¨è¨€ã†ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚¿ãƒ–ã®ä½œæˆãŒã§ãã¾ã›ã‚“ï¼ãã‚Œã¯ã‚‚ã†æ—¢ã«å­˜åœ¨ã—ã¦ã„ã‚‹ã‹ã€è‡ªåˆ†"
"ã§ã™ã€‚"
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "%sã¨ã„ã†ãƒãƒ£ãƒ³ãƒãƒ«ã¸ã®å‚加をè¦æ±‚ã—ã¦ã„ã¾ã™ã€‚"
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "パーティåãŒãªã„。"
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "リターンã¯ãƒãƒ£ãƒƒãƒˆã‚’ç•™ã‚ã¦ãŠãã¾ã™ã€‚"
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "メッセージã¯ãƒãƒ£ãƒƒãƒˆã‚’é–‰ã˜ã¾ã™ã€‚"
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "リターンã¯ã“ã‚Œã‹ã‚‰ãƒãƒ£ãƒƒãƒˆã‚’ç•™ã‚ã¦ãŠãã¾ã™ã€‚"
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "メッセージã¯ã“ã‚Œã‹ã‚‰ãƒãƒ£ãƒƒãƒˆã‚’é–‰ã˜ã¾ã™ã€‚"
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "パーティ作æˆæˆåŠŸ"
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "プライベートãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒé€ã‚Œãªã‹ã£ãŸã€ãƒ¦ãƒ¼ã‚¶ã«ç„¡è¦–ã•ã‚ŒãŸã€‚"
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "プライベートãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒé€ã‚Œãªã‹ã£ãŸã€ãƒ¦ãƒ¼ã‚¶ã«ç„¡è¦–ã•ã‚ŒãŸã€‚"
@@ -533,42 +510,42 @@ msgstr ""
"/%sã¸ã®å¯èƒ½ãªã‚ªãƒ—ションã¯ï¼š\"yes\", \"no\", \"true\", \"false\", \"1\", "
"\"0\"。"
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "一般"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "~/ã«ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã‚·ãƒ§ãƒƒãƒˆã‚’ä¿å­˜ã—ã¾ã—ãŸã€‚"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "スクリーンショットをä¿å­˜ã™ã‚‹ã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸï¼"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "サーãƒãŒåˆ‡æ–­ã•ã‚ŒãŸã®ã§ã€ãƒ—ログラムã¯çµ‚了ã—ã¾ã™ã€‚"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ©ãƒ¼"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "他人ã‹ã‚‰ã®ãƒˆãƒ¬ãƒ¼ãƒ‰ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’無視ã—ã¾ã™ã€‚"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "他人ã‹ã‚‰ã®ãƒˆãƒ¬ãƒ¼ãƒ‰ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘入れã¾ã™ã€‚"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "マップをロードã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "%sをロードã—ã¦ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼ãŒèµ·ãã¾ã—ãŸã€‚"
@@ -582,34 +559,34 @@ msgstr "パーティ (%s)"
msgid "Buy"
msgstr "è²·ã†"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "価格:%s /åˆè¨ˆ:%s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "終了"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "最大"
@@ -623,11 +600,11 @@ msgstr "売る"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "キャンセル"
@@ -703,14 +680,14 @@ msgstr "キャラクターを作æˆ"
msgid "Name:"
msgstr "åå‰:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -727,8 +704,8 @@ msgstr "髪ã®è‰²ï¼š"
msgid "Hair style:"
msgstr "髪型:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "作æˆ"
@@ -784,8 +761,8 @@ msgstr "登録解除"
msgid "Change Email"
msgstr "メールアドレスを変ãˆã‚‹ã€‚"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "削除"
@@ -794,24 +771,24 @@ msgstr "削除"
msgid "Choose"
msgstr "é–‰ã˜ã‚‹"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "ãƒãƒ£ãƒƒãƒˆ"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "オンラインプレイヤーã¯%d人ã§ã™ã€‚"
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "出席者ã¯è¨˜éŒ²ãƒ­ã‚°ã«æ›¸ã‹ã‚Œã¾ã—ãŸã€‚"
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "%sã«é€ä¿¡ä¸­ï¼š %s"
@@ -877,8 +854,8 @@ msgstr "環境FX"
msgid "Equipment"
msgstr "装備"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "外ã™"
@@ -886,7 +863,7 @@ msgstr "外ã™"
msgid "Help"
msgstr "ヘルプ"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "é–‰ã˜ã‚‹"
@@ -898,81 +875,84 @@ msgstr "アイテム"
msgid "Storage"
msgstr "倉庫"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "スロット"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "装備ã™ã‚‹"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "使ã†"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "è½ã¨ã™"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "分割ã™ã‚‹"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "é‡é‡"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "ä¿å­˜"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "å–り戻ã™"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "è½ã¨ã™"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "OK"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "å…¨ã¦"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "交æ›ã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã®é‡ã‚’é¸æŠžã—ã¦ãã ã•ã„。"
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "è½ã¨ã™ã‚¢ã‚¤ãƒ†ãƒ ã®é‡ã‚’é¸æŠžã—ã¦ãã ã•ã„"
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "ä¿ç®¡ã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã®é‡ã‚’é¸æŠžã—ã¦ãã ã•ã„。"
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "å–り出ã™ã‚¢ã‚¤ãƒ†ãƒ ã®é‡ã‚’é¸æŠžã—ã¦ãã ã•ã„。"
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "分割ã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã®é‡ã‚’é¸æŠžã—ã¦ãã ã•ã„。"
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "é‡é‡ï¼š "
@@ -1004,40 +984,40 @@ msgstr "アイテムシェア無効"
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "地図"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "サーãƒã‚’å¾…ã£ã¦ã„ã¾ã™â€¦"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "次ã¸"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "決定"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "リセット"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1052,7 +1032,7 @@ msgstr "宛先:"
msgid "Send"
msgstr "é€ä¿¡ã™ã‚‹"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "文字ã‹å·®å‡ºäººãŒç„¡åŠ¹ãªã®ã§é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
@@ -1142,7 +1122,7 @@ msgstr "@@name|åå‰ã‚’ãƒãƒ£ãƒƒãƒˆã«è¿½åŠ ï¼ ï¼ "
msgid "Pick up %s"
msgstr "拾ã†"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|ãƒãƒ£ãƒƒãƒˆã«è¿½åŠ @@"
@@ -1215,61 +1195,61 @@ msgstr "パスワードã¯%d文字より短ããªãã¦ã¯ã„ã‘ã¾ã›ã‚“。"
msgid "Passwords do not match."
msgstr "パスワードãŒä¸€è‡´ã—ã¦ã„ã¾ã›ã‚“。"
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "サーãƒãƒ¼ã‚’é¸ã‚“ã§ãã ã•ã„。"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "サーãƒ:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "ãƒãƒ¼ãƒˆ:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "サーãƒ:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "接続ã—ã¦ã„ã¾ã™..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "カスタムカーソル"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "サーãƒã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒãƒ¼ãƒˆç•ªå·ã‚’両方入力ã—ã¦ãã ã•ã„。"
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "サーãƒã‚’å¾…ã£ã¦ã„ã¾ã™â€¦"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1307,54 +1287,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "ã“ã‚ŒãŒãã®è‰²ãŒã©ã®ã‚ˆã†ã«è¦‹ãˆã‚‹ã‹ã§ã™ã€‚"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "色彩"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "種類 "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "ç©ã‚„ã‹"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "点滅"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "カラフル"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "スペクトル"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "é…れ: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "赤色: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "緑色: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "é’色: "
@@ -1440,28 +1420,33 @@ msgstr "無視ã™ã‚‹"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "交æ›ã‚’承èªã™ã‚‹"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "プライベートメッセージをå—ã‘å–ã‚‹ã“ã¨ã‚’承èªã™ã‚‹"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "プライベートメッセージをタブã«å‡ºã™ã€‚"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "åå‰ã‚’表示"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "売るã“ã¨ä¸å¯èƒ½"
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "プレイヤー"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "無視ã®éš›ã«ã¯ï¼š"
@@ -1517,517 +1502,485 @@ msgstr "中"
msgid "max"
msgstr "最大"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "フールスクリーン"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "カスタムカーソル"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "åå‰ã‚’表示ã™ã‚‹"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "ç²’å­åŠ¹æžœ"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "åå‰ã‚’表示"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "ピックアップ通知表示"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "ãƒãƒ£ãƒƒãƒˆä¸­"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "ç”»é¢å†…ã§"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPSé™ç•Œå€¤:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "ビデオ"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "åå‰ã‚’表示"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "ヘッダーテキスト"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "GUIä¸é€æ˜Ž"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "環境FX"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "ç²’å­ã®è©³ç´°"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "フォントサイズ"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "ã„ã„ãˆ"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "ç¾åœ¨ã®ãƒ¢ãƒ¼ãƒ‰ã§ã‚‚å‰ã®ãƒ¢ãƒ¼ãƒ‰ã®å¾©å…ƒã‚‚ã¾ãŸå¤±æ•—ã—ã¾ã—ãŸï¼"
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "ç¾åœ¨ã®ãƒ¢ãƒ¼ãƒ‰ã§ã‚‚å‰ã®ãƒ¢ãƒ¼ãƒ‰ã®å¾©å…ƒã‚‚ã¾ãŸå¤±æ•—ã—ã¾ã—ãŸï¼"
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "全画é¢ã«å¤‰æ›´"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "設定変更ã®ãŸã‚ã€å†èµ·å‹•ã‚’ã—ã¦ãã ã•ã„。"
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "OpenGLを変ãˆã‚‹"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "OpenGLã®è¨­å®šã‚’変更ã™ã‚‹ãŸã‚ã€å†èµ·å‹•ã‚’ã—ã¦ãã ã•ã„。"
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "経験シェア無効"
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "スクリーンã®è§£åƒåº¦ãŒå¤‰ã‚ã‚Šã¾ã—ãŸã€‚"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "設定変更ã®ãŸã‚ã€ã‚¢ãƒ—リケーションをå†èµ·å‹•ã—ã¦ãã ã•ã„。"
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "ç²’å­ã®åŠ¹æžœã®è¨­å®šãŒå¤‰ã‚ã‚Šã¾ã—ãŸã€‚"
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "変化ã¯ãƒžãƒƒãƒ—ãŒã‹ã‚ã£ãŸã¨ãã‹ã‚‰å½±éŸ¿ã—ã¾ã™ã€‚"
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "スキル"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "上ã’ã‚‹"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "スキルãƒã‚¤ãƒ³ãƒˆ: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "スキルãƒã‚¤ãƒ³ãƒˆ: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "スキル"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "レベル: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "レベル: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "ギルド作æˆæˆåŠŸ"
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "ギルドを作æˆã™ã‚‹"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "本当ã«çµ‚了ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr ""
+"/party (+ユーザーå)を入力ã™ã‚‹ã¨ã€ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ãƒ‘ーティ招待をé€ã‚Šã¾ã™ã€‚"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr ""
"/party (+ユーザーå)を入力ã™ã‚‹ã¨ã€ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ãƒ‘ーティ招待をé€ã‚Šã¾ã™ã€‚"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "本当ã«çµ‚了ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "ギルドを作æˆã™ã‚‹"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "キャラクターを作æˆ"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "ユーザーを招待ã™ã‚‹"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "大"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "%sã‹ã‚‰ã®æ‹›å¾…ã‚’å—ã‘入れã¾ã—ãŸã€‚"
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "%sã‹ã‚‰ã®æ‹›å¾…ã‚’æ‹’å¦ã—ã¾ã—ãŸã€‚"
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "%sã‹ã‚‰ã®æ‹›å¾…ã‚’å—ã‘入れã¾ã—ãŸã€‚"
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "%sã‹ã‚‰ã®æ‹›å¾…ã‚’æ‹’å¦ã—ã¾ã—ãŸã€‚"
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "ギルド作æˆã‚¨ãƒ©ãƒ¼"
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "ギルド"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "サーãƒãƒ¼ã‚’é¸ã‚“ã§ãã ã•ã„。"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "パーティã¸ã®æ‹›å¾…ã‚’å—ã‘å–ã‚Šã¾ã—ãŸãŒã€ã‚‚ã†æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%sã¯ã‚ãªãŸã‚’%sã¨ã„ã†ãƒ‘ーティã«æ‹›å¾…ã—ã¾ã—ãŸã€‚"
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "パーティ招待をå—ã‘入れã¾ã™ã€‚"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "パーティã¸ã®æ‹›å¾…ã‚’å—ã‘å–ã‚Šã¾ã—ãŸãŒã€ã‚‚ã†æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚"
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%sã¯ã‚ãªãŸã‚’パーティã«æ‹›å¾…ã—ã¾ã—ãŸã€‚"
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%sã¯ã‚ãªãŸã‚’%sã¨ã„ã†ãƒ‘ーティã«æ‹›å¾…ã—ã¾ã—ãŸã€‚"
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%sã¯ã‚ãªãŸã‚’パーティã«æ‹›å¾…ã—ã¾ã—ãŸã€‚"
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%sã¯ã‚ãªãŸã‚’%sã¨ã„ã†ãƒ‘ーティã«æ‹›å¾…ã—ã¾ã—ãŸã€‚"
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "パーティ招待をå—ã‘入れã¾ã™ã€‚"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "パーティー"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "サーãƒãƒ¼ã‚’é¸ã‚“ã§ãã ã•ã„。"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "レベル: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "GP:%s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "経験値:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "ジョブ: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "ジョブãƒã‚¤ãƒ³ãƒˆ:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "MP:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "経験値:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "GP: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "ジョブãƒã‚¤ãƒ³ãƒˆ:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "キャラクターã®èƒ½åŠ›ãƒã‚¤ãƒ³ãƒˆé…分é‡ã¯å•é¡Œã‚ã‚Šã¾ã›ã‚“。"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "スキルãƒã‚¤ãƒ³ãƒˆ: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "レベル: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "交æ›ã®æ案"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "確èªã—ã¾ã—ãŸã€‚å¾…ã£ã¦ã„ã¾ã™â€¦ã€‚"
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "交æ›ã‚’了承ã™ã‚‹"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "了承ã—ã¾ã—ãŸã€‚å¾…ã£ã¦ã„ã¾ã™â€¦ã€‚"
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "交æ›:ã‚ãªãŸã¨"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "交æ›"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "追加"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "%sã‚’è²°ã„ã¾ã—ãŸã€‚"
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "ã‚ã’る物:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "変更"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"アイテムを追加ã™ã‚‹ã“ã¨ã«å¤±æ•—ã—ã¾ã—ãŸã€‚アイテム一種類を一ã¤ã®ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦ä¸Šã§é‡"
"複ã—ã¦è¿½åŠ ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“ï¼"
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "ç¾é‡‘ä¸è¶³ã§ã™ã€‚"
@@ -2067,84 +2020,6 @@ msgstr "##1 ã‚‚ã†ä¸€åº¦ã‚„ã£ã¦ã¿ã¦ãã ã•ã„。"
msgid "Completed"
msgstr "完了"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "人"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "ä»–ã®ãƒ—レイヤーå"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "自分ã®åå‰"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "ゲームマスターå"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPCãŸã¡"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "モンスター"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "パーティー"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "ギルド"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "特有ã®åŠ¹æžœ"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "åŽé›†é€šçŸ¥"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "経験値通知"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "プレイヤーãŒãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’アタックã—ãŸæ™‚"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "モンスターãŒãƒ—レイヤーをアタックã—ãŸæ™‚"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "クリティカルヒット"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "プレイヤーãŒãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’アタックã—ãŸæ™‚"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "クリティカルヒット"
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "ミス"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/usersã§ç¾åœ¨ã„ã‚‹ãƒãƒ£ãƒ³ãƒãƒ«ã®ãƒ¦ãƒ¼ã‚¶ã®ãƒªã‚¹ãƒˆã‚’表示ã—ã¾ã™ã€‚"
@@ -2223,56 +2098,56 @@ msgstr "オペレーターã«ãªã‚‹äººãŒå¿…è¦ã§ã™ï¼"
msgid "Need a user to kick!"
msgstr "追ã„出ã™ã“ã¨ãŒã§ãるメンãƒãƒ¼ãŒå¿…è¦ã§ã™ï¼"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "アナウンス:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "%sã‹ã‚‰ã®ã‚¢ãƒŠã‚¦ãƒ³ã‚¹:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%sã‹ã‚‰ã®PM: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "空ã®ãƒãƒ£ãƒƒãƒˆã‚’é€ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“ï¼"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/closeã§ãƒ—ライベートメッセージã®ã‚¿ãƒ–ã‚’é–‰ã˜ã¾ã™ã€‚"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "コマンド: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
"ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€ç¾åœ¨é–‹ã„ã¦ã„るプライベートメッセージã®ã‚¿ãƒ–ã‚’é–‰ã˜ã¾ã™ã€‚"
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "コマンド: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ç¾åœ¨ã‚ªãƒ³ãƒ©ã‚¤ãƒ³çŠ¶æ…‹ã§ã‚るプレイヤーã®æ•°ã‚’表示ã—ã¾ã™ã€‚"
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr "ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã¯ã€å…¥åŠ›ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã«ãƒãƒ£ãƒƒãƒˆãƒ­ã‚°ã®è¨˜éŒ²ã‚’開始ã—ã¾ã™ã€‚"
@@ -2300,321 +2175,334 @@ msgstr "変更"
msgid "Choose World"
msgstr "サーãƒãƒ¼ã‚’é¸ã‚“ã§ãã ã•ã„。"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "上移動"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "下移動"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "左移動"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "å³ç§»å‹•"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "攻撃"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "ターゲットã¨æ”»æ’ƒ"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "スマイリー"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "話ã™"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "攻撃を止ã‚ã‚‹"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "一番近ã„物を狙ã†"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "NPCã‚’ç‹™ã†"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "プレイヤーを狙ã†"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "拾ã†"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "ウィンドウを隠ã™"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "座る"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "スクリーンショット"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "å–引をå¯èƒ½/ä¸å¯èƒ½ã«ã™ã‚‹"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "マウスã¾ã§ã®é“を表示ã™ã‚‹"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "アイテムショートカット: %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "ヘルプウィンドウ"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "ステータス・ウィンドウ"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "在庫ウィンドウ"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "装備ウィンドウ"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "スキルウィンドウ"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "å°ã•ãªãƒžãƒƒãƒ—ウィンドウ"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "ãƒãƒ£ãƒƒãƒˆã‚¦ã‚£ãƒ³ãƒ‰ã‚¦"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "アイテムショートカットウィンドウ"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "設定ウィンドウ"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "デãƒã‚°ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "スキルウィンドウ"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "表情ショートカットウィンドウ"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "ステータス・ウィンドウ"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "スマイリーショートカット: %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "トグルãƒãƒ£ãƒƒãƒˆ"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "ãƒãƒ£ãƒƒãƒˆã‚’上ã«ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ã™ã‚‹"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "ãƒãƒ£ãƒƒãƒˆã‚’下ã«ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ã™ã‚‹"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "å‰ã®ãƒãƒ£ãƒƒãƒˆã‚¿ãƒ–"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "次ã®ãƒãƒ£ãƒƒãƒˆã‚¿ãƒ–"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "OKã‚’é¸æŠžã™ã‚‹"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "インプット1無視"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "インプット2無視"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "修正ã—ãªã‘ã‚Œã°ã€ã‚²ãƒ¼ãƒ ãƒ—レイãŒå¤‰ãªãµã‚‹ã¾ã„ã«ãªã‚Šã¾ã™ã€‚"
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "アイテムを拾ã†ã“ã¨ãŒã§ããªã„。"
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "%s [@@%d|%s@@]を拾ã£ãŸã€‚"
msgstr[1] "%s [@@%d|%s@@]を拾ã£ãŸã€‚"
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "オプション:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : ãƒãƒ¼ã‚·ãƒ§ãƒ³ç•ªå·è¡¨ç¤º"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help:ヘルプ表示"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file :使用ã•ã‚Œã¦ã„る設定ファイル"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username: 本ユーザåã§ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹ã€‚"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password :ログインã«å¯¾ã™ã‚‹ãƒ‘スワード設定"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character :本キャラã§ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server : ログインサーãƒåã‚ã‚‹ã„ã¯IPアドレス"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -p --port : ログインサーãƒã®ãƒãƒ¼ãƒˆç•ªå·"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host :本ホストã¯æ›´æ–°ãƒ›ã‚¹ãƒˆã¨ã—ã¦ä½¿ç”¨"
-#: src/main.cpp:53
+#: src/main.cpp:57
#, fuzzy
msgid " -D --default : Choose default character server and character"
msgstr " -D --default: デフォールトキャラクタサーãƒã¨ã‚­ãƒ£ãƒ©ã‚¯ã‚¿é¸æŠž"
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : 更新ダウンロードをスキップã™ã‚‹ã€‚"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data :本レãƒã‚¸ãƒˆãƒªã‹ã‚‰ã‚²ãƒ¼ãƒ ãƒ‡ãƒ¼ã‚¿ã‚’ロードã™ã‚‹ã€‚"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir :ホームレãƒã‚¸ãƒˆãƒªã¨ã—ã¦ä½¿ç”¨ã—ã¦ã„るフォルダ"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file :使用ã•ã‚Œã¦ã„る設定ファイル"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir :ホームレãƒã‚¸ãƒˆãƒªã¨ã—ã¦ä½¿ç”¨ã—ã¦ã„るフォルダ"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : 本セッションã§OpenGLãŒä½¿ç”¨ä¸å¯"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "ã‚ãªãŸã¯æ­»ã«ã¾ã—ãŸã€‚"
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr "残念ãªãŠçŸ¥ã‚‰ã›ã§ã™ãŒã€ã‚ãªãŸæ§˜ã®ã‚­ãƒ£ãƒ©ã¯æˆ¦é—˜ä¸­äº¡ããªã£ã¦ã—ã¾ã„ã¾ã—ãŸã€‚"
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "今ã‹ã‚‰ç”Ÿãã¦ã„ãªã„。"
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr "死神ã®å†·ãŸã„手ã«é­‚ãŒå–られã¦ã—ã¾ã£ãŸã€‚"
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "ゲームオーãƒãƒ¼!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
@@ -2622,92 +2510,93 @@ msgstr ""
"ã†ã†ã‚“ã€æ£’ã‚„ã‚„ã¡ã€‚ã‚ãªãŸã®ã‚­ãƒ£ãƒ©ã¯æœ¬å½“ã«ã—ã‚“ã§ãªã‹ã£ãŸã€‚ã‚‚ã£ã¨ç¶ºéº—ãªã¨ã“ã‚ã«"
"å‘ã‹ã£ãŸã ã‘。"
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr "å–‰ã§çš„ã®æ­¦å™¨ã‚’æ½°ã™äºˆå®šã ã£ãŸãŒâ€¦å¤±æ•—ã—ãŸã€‚"
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "ã‚ã‚“ã¾ã‚Šä¸Šæ‰‹ãã„ã‹ãªã‹ã£ãŸãœãƒ¼"
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "æŒã¡ç‰©ã‚’確定ã—ã¦æ¬²ã—ã„?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "悲ã—ã•ã®ã‚ã¾ã‚Šã€ç—•è·¡ã§ã•ãˆè¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸã€‚"
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "全滅ã•ã‚ŒãŸã€‚"
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr "相手ã‹ã‚‰è‡ªåˆ†ã®é ­ãŒæ¸¡ã•ã‚ŒãŸã¿ãŸã„。"
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr "ã‚‚ã†ä¸€å›žå€’ã•ã‚ŒãŸã€æ°´é“管ã‹ã‚‰æ­»ä½“を這ã£ã¦ã¿ãŸå¾Œã€æ–°ä½“ã‚’å—ã‘å–ã£ã¦ã¿ã¦"
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
#, fuzzy
msgid "Press OK to respawn."
msgstr " OKを押ã™ã¨ã€å¾©æ´»ã•ã›ã‚‹ã€‚"
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "死んã˜ã‚ƒã£ãŸã€‚"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "æ—¢ã«ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã§ããŸã€‚"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "ユーザーãƒãƒ¼ãƒ ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„る。"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "キャラクターã®èƒ½åŠ›ãƒã‚¤ãƒ³ãƒˆé…分é‡ã¯å•é¡Œã‚ã‚Šã¾ã›ã‚“。"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "キャラクターã®èƒ½åŠ›ãƒã‚¤ãƒ³ãƒˆé…分é‡ã¯å•é¡Œã‚ã‚Šã¾ã›ã‚“。"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2715,96 +2604,96 @@ msgstr ""
msgid "Unknown error."
msgstr "ä¸æ˜Žã‚¨ãƒ©ãƒ¼"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "情報"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "キャラクターを削除ã—ãŸã€‚"
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "交æ›ã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã®é‡ã‚’é¸æŠžã—ã¦ãã ã•ã„。"
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "ä¸æ˜Žã‚¨ãƒ©ãƒ¼"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "全サーãƒã¯ç¾åœ¨ãƒ•ãƒ¼ãƒ«ã§ã‚る。"
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "トピック:%s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "プレイヤーãŒãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’アタックã—ãŸæ™‚"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "コマンド: /join <ãƒãƒ£ãƒ³ãƒãƒ«ï¼ž"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "%sã¨ã„ã†ãƒãƒ£ãƒ³ãƒãƒ«ã¸ã®å‚加をè¦æ±‚ã—ã¦ã„ã¾ã™ã€‚"
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%sãŒãƒ‘ーティã«å‚加ã—ãŸã€‚"
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "ä¸æ˜Žãªã‚³ãƒžãƒ³ãƒ‰"
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "ギルド作æˆæˆåŠŸ"
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "ギルド作æˆã‚¨ãƒ©ãƒ¼"
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "招待é€ä¿¡æˆåŠŸ"
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr "本メンãƒãƒ¼ãŒç„¡äº‹ã«æ˜‡é€²ã•ã‚ŒãŸã€‚"
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "メンãƒãƒ¼æ˜‡é€²å¤±æ•—"
@@ -2895,11 +2784,11 @@ msgstr "メールアドã¯æ—¢ã«å­˜åœ¨ã—ã¾ã™ã€‚"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "パーティã«å‚加ã—ãŸã€‚"
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%sãŒãƒ‘ーティã«å‚加ã—ãŸã€‚"
@@ -2909,191 +2798,138 @@ msgstr "%sãŒãƒ‘ーティã«å‚加ã—ãŸã€‚"
msgid "%s rejected your invite."
msgstr "%sã¯æ‹›å¾…ã‚’æ‹’ã‚“ã ã€‚"
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "å¼·ã•"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "å¼·ã• %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "ç´ æ—©ã•"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "ä¿Šæ•ã•%+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "器用ã•"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "正確㕠%+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "活力"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "活力 %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "知能"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "知能 %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "æ„志力"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "æ„志力 %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "å–引è¦æ±‚ã‚’å—ã‘å–り中"
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "å–引è¦æ±‚を無視ã«ã—ã¦ã„る。"
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "å–引è¦æ±‚"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%sã¯ã‚ãªãŸã¨å–引ã—ãŸã„ã¿ãŸã„ãŒã€å¿œã˜ã‚‹ï¼Ÿ"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "%sã¨å–引中"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "å–引中止"
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "å–引完了"
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "キック失敗"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "キックæˆåŠŸ"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "売り物ãŒã”ã–ã„ã¾ã›ã‚“。"
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "è²·ã£ã¦ãã ã•ã‚Šã€ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã—ãŸã€‚"
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "購買ä¸å¯èƒ½"
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "売ã£ã¦ãã ã•ã‚Šã€ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã—ãŸã€‚"
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "売るã“ã¨ä¸å¯èƒ½"
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "ID使用ä¸å¯"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "ä¸æ˜Žã‚¨ãƒ©ãƒ¼"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "キャラクター作æˆå¤±æ•—。本åã¯ã®ã†ä½¿ã‚ã‚Œã¦ã„る。"
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "キャラクターを削除ã—ãŸã€‚"
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "キャラ削除失敗"
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "筋力:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "ç´ æ—©ã•:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "体力:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "知性:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "æ•æ·:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "é‹:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
"プライベートãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒé€ã‚Œãªã‹ã£ãŸã€ç›¸æ‰‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã‚ªãƒ•ãƒ©ã‚¤ãƒ³çŠ¶æ…‹ã§ã‚る。"
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "プライベートãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒé€ã‚Œãªã‹ã£ãŸã€ãƒ¦ãƒ¼ã‚¶ã«ç„¡è¦–ã•ã‚ŒãŸã€‚"
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "プレイヤー"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "ãƒãƒ£ãƒ³ãƒãƒ«ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„。"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3108,80 +2944,125 @@ msgstr "åå‰"
msgid "Request to quit denied!"
msgstr "å–引è¦æ±‚"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "å¼·ã• %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "ä¿Šæ•ã•%+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "活力 %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "知能 %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "正確㕠%+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "é‹ %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "èªè¨¼å¤±æ•—"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "ã©ã‚“ãªã‚µãƒ¼ãƒã§ã‚‚使用ä¸å¯"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "他人ãŒæœ¬ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’使用ã—ã¦ã¿ã¦ã„る。"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "本アカウントã¯ã‚‚ã†ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ä¸­ã€‚"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "スピードãƒãƒƒã‚¯ç™ºè¦‹"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "é‡è¤‡ãƒ­ã‚°ã‚¤ãƒ³"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "ä¸æ˜ŽãªæŽ¥ç¶šã‚¨ãƒ©ãƒ¼"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "サーãƒãƒ¼ã‹ã‚‰åˆ‡æ–­ã•ã‚ŒãŸã€‚"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "å¼·ã•"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "ç´ æ—©ã•"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "活力"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "知能"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "器用ã•"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "é‹"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "防御力:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "魔法攻撃力:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "魔法防御力:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "命中率(%):"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "回é¿çŽ‡(%):"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "クリティカルヒット"
@@ -3232,29 +3113,29 @@ msgstr "本コマンドã§ã¯ãƒ‘ティã‹ã‚‰ãƒ—レイヤーを追ã„出ã•ã›ã‚‹
msgid "Guild name is missing."
msgstr "パーティåãŒãªã„。"
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%sã¯ä»Šã‹ã‚‰ãƒ‘ーティã®ãƒ¡ãƒ³ãƒãƒ¼ã«ãªã£ãŸã€‚"
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "%sã‹ã‚‰ã®æœªçŸ¥æ‹›å¾…返信"
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3334,15 +3215,15 @@ msgstr "コマンド: /exp"
msgid "This command displays the party's current experience sharing policy."
msgstr "本コマンドã§ã¯ã€ãƒ‘ーティメンãƒãƒ¼ä»¥å†…ã®çµŒé¨“分割方é‡ã‚’表示ã™ã‚‹ã€‚"
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "アイテムシェア有効"
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "アイテムシェア無効"
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "アイテムシェアä¸å¯èƒ½"
@@ -3351,15 +3232,15 @@ msgstr "アイテムシェアä¸å¯èƒ½"
msgid "Item sharing unknown."
msgstr "アイテムシェア有効"
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "経験シェア有効"
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "経験シェア無効"
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "経験シェアä¸å¯èƒ½"
@@ -3368,15 +3249,15 @@ msgstr "経験シェアä¸å¯èƒ½"
msgid "Experience sharing unknown."
msgstr "経験シェア有効"
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "アイテム使用失敗"
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "装備ä¸å¯èƒ½"
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "装備を外ã™ã®ã¯ä¸å¯èƒ½ã€‚"
@@ -3443,7 +3324,7 @@ msgstr "売るã“ã¨ä¸å¯èƒ½"
msgid "Connection to server terminated. "
msgstr "マップサーãƒã¨æŽ¥ç¶šä¸­â€¦"
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "パーティ作æˆå¤±æ•—"
@@ -3451,245 +3332,239 @@ msgstr "パーティ作æˆå¤±æ•—"
msgid "Party successfully created."
msgstr "パーティ作æˆæˆåŠŸ"
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%sã¯ã‚‚ã†ãƒ‘ーティã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã‚る。"
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%sã¯æ‹›å¾…ã‚’æ‹’ã‚“ã ã€‚"
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%sã¯ä»Šã‹ã‚‰ãƒ‘ーティã®ãƒ¡ãƒ³ãƒãƒ¼ã«ãªã£ãŸã€‚"
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "%sã‹ã‚‰ã®æœªçŸ¥æ‹›å¾…返信"
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "パーティã‹ã‚‰é›¢ã‚ŒãŸã€‚"
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%sãŒãƒ‘ーティã‹ã‚‰é›¢ã‚ŒãŸã€‚"
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "ä¸æ˜Žãªãƒ¡ãƒ³ãƒãƒ¼ãŒè¨€ãŠã†ã¨ã—ãŸäº‹: %s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr ""
-"/party (+ユーザーå)を入力ã™ã‚‹ã¨ã€ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ãƒ‘ーティ招待をé€ã‚Šã¾ã™ã€‚"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%sã¯ãƒ‘ーティã«ã¯ã„ãªã„ï¼"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "ゲームを続ã‘ã‚‹ãŸã‚ã«ã¯ã‚³ã‚¤ãƒ³ã‚’入れã¦ãã ã•ã„。"
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "ã¾ã æ­»ãªãªã‹ã£ãŸã€‚休憩中ã ã‘ã§ã‚る。"
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "ã‚ãªãŸã¯ã‚‚ã†å­˜åœ¨ã—ã¦ã„ãªã„。"
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "生ãã‚‹ã“ã¨ãªãã€ã„ãªããªã£ãŸã€‚"
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "ã‚ãªãŸã¯æ¯ã‚’引ãå–ã‚Šã€ã‚ãªãŸã‚’作ã£ãŸäººã¸é€¢ã„ã«è¡Œã£ã¦ã—ã¾ã£ãŸã€‚"
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "ã‚ãªãŸã¯æ­»ä½“ã§ã‚る。"
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "命を失ã„ã€å¤©å›½ã«å‘ã‹ã£ãŸã€‚"
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
"ã‚‚ã—ã‚ãªãŸãŒãã‚“ãªã«ã‚‚生気ã«æº€ã¡ã¦ã„ãªã‹ã£ãŸãªã‚‰ã°ã€æ­»ã‚“ã§è‘¬ã‚‰ã‚Œã¦ã„ãŸã‚“ã˜ã‚ƒ"
"ãªã„ã‹ï¼Ÿ"
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "ã‚ãªãŸã®ãŒã‚“ã°ã‚Šã¯ä»Šã‚„æ­´å²ã¨ãªã£ãŸã‚‰ã—ã„。"
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr "クタãƒãƒƒã‚¿ã¿ãŸã„ãªã€‚"
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "人間界ã‹ã‚‰è¿½ã„出ã•ã‚ŒãŸã€‚"
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr "最後ã®å‘¼å¸ã ã£ãŸã€‚死神ã«ä¼šã£ãŸå¾Œã€ç„¡ã¨çµåˆã—ã¡ã‚ƒã£ãŸã€‚"
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "旧プレイヤーã§ã‚る。"
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr "ãŠå‰ã®é­‚ã¯åŒ—極ã¾ã§é£›ã°ã‚ŒãŸã€‚"
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "メッセージ"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr "æŒã£ã¦ã„るアイテムã¯ä½“é‡ã‚ˆã‚ŠåŠåˆ†ä»¥ä¸Šãªã®ã§ã€ä½“力ãŒå›žå¾©ã§ããªã„。"
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "を拾ã£ãŸã€‚ "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "矢を先ã«è£…å‚™ã—ã¦ãã ã•ã„。"
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "å–引失敗"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "スマイリー表示失敗"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "触るã“ã¨ãŒå¤±æ•—ã—ãŸã€‚"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "ãƒãƒ£ãƒƒãƒˆä½œæˆå¤±æ•—"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "パーティã«å‚加ã§ããªã‹ã£ãŸï¼"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "å«ã¹ãªã„ï¼"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "ã‚ãªãŸã¯å分ã§é«˜ã„レベルã«ã¾ã é”ã—ã¦ãªã„よï¼"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "HPä¸è¶³ï¼"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "SPä¸è¶³ï¼"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "メモãªã—ï¼"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "今ã“ã®è¡Œå‹•ã¯ç„¡ç†ã€‚"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "金欠ã¿ãŸã„ã‚“ã˜ã‚ƒãªã„ã‹â€¦"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "本スキルãŒã“ã®æ­¦å™¨ã¨ä½¿ãˆãªã„。"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "ä»–ã®èµ¤å®çŸ³ãŒå¿…è¦ã¨ãªã£ãŸï¼"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "ä»–ã®é’å®çŸ³ãŒå¿…è¦ã¨ãªã£ãŸï¼"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "アイテムãŒæŒã¡ã™ãŽã¦ã„る状態ï¼"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "ã†ã‚“?何ãれ?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "ワープãŒå¤±æ•—ã—ãŸã€‚"
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "何も盗ã‚ãªã‹ã£ãŸâ€¦"
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "毒ã¯ä¸åŠ¹æžœ"
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "å–引ã¯ä¸å¯èƒ½ã€‚å–引ã®ç›¸æ‰‹ã¯é ã™ãŽã‚‹ã€‚"
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "å–引ã¯ä¸å¯èƒ½ã€‚本キャラãŒå­˜åœ¨ã—ã¦ã„ãªã„。"
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "ä¸æ˜Žãªç†ç”±ã§å–引ãŒä¸­æ­¢ã•ã‚ŒãŸã€‚"
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "ã‚ãªãŸã¨%sã¨ã®å–引"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "%sã¨ã®å–引ãŒä¸­æ­¢ã•ã‚ŒãŸã€‚"
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "ã§ããªã‹ã£ãŸå–引キャンセルパケット"
@@ -3705,53 +3580,44 @@ msgstr "アイテム追加失敗。相手ã®ç©ºã„ã¦ã„るスロットã¯ãªã„
msgid "Failed adding item for unknown reason."
msgstr "ä¸æ˜Žãªç†ç”±ã§ã‚¢ã‚¤ãƒ†ãƒ è¿½åŠ å¤±æ•—"
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@Ignore|%sを完璧ã«ç„¡è¦–ã™ã‚‹@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "攻撃力 %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "守備力 %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "ä¸æ˜Žãªã‚¢ã‚¤ãƒ†ãƒ "
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "åå‰ãªã—"
@@ -3802,6 +3668,24 @@ msgstr "åå‰ãªã—"
#~ msgid "Hyperlink"
#~ msgstr "ãƒã‚¤ãƒ‘ーリンク"
+#~ msgid "Being"
+#~ msgstr "人"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "ä»–ã®ãƒ—レイヤーå"
+
+#~ msgid "Own Name"
+#~ msgstr "自分ã®åå‰"
+
+#~ msgid "GM Names"
+#~ msgstr "ゲームマスターå"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCãŸã¡"
+
+#~ msgid "Monsters"
+#~ msgstr "モンスター"
+
#~ msgid "Unknown Item Type"
#~ msgstr "ä¸æ˜Žãªã‚¢ã‚¤ãƒ†ãƒ ã‚¿ã‚¤ãƒ—"
@@ -3846,6 +3730,29 @@ msgstr "åå‰ãªã—"
#~ msgid "Ammo"
#~ msgstr "矢ã€å¼¾è–¬ãªã©"
+#~ msgid "Particle Effects"
+#~ msgstr "特有ã®åŠ¹æžœ"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "åŽé›†é€šçŸ¥"
+
+#~ msgid "Exp Notification"
+#~ msgstr "経験値通知"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "プレイヤーãŒãƒ¢ãƒ³ã‚¹ã‚¿ãƒ¼ã‚’アタックã—ãŸæ™‚"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "モンスターãŒãƒ—レイヤーをアタックã—ãŸæ™‚"
+
+#~ msgid "Critical Hit"
+#~ msgstr "クリティカルヒット"
+
+#~ msgid "Misses"
+#~ msgstr "ミス"
+
#~ msgid "HP Bar"
#~ msgstr "HPãƒãƒ¼"
@@ -3859,6 +3766,30 @@ msgstr "åå‰ãªã—"
#~ msgstr "HPãŒ1/4ã®ã¨ã"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "経験値:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "GP: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "ジョブãƒã‚¤ãƒ³ãƒˆ:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "レベル: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "アクセス拒å¦"
@@ -3872,6 +3803,13 @@ msgstr "åå‰ãªã—"
#~ msgid "Willpower:"
#~ msgstr "æ„志力"
+#~ msgid "Willpower %+d"
+#~ msgstr "æ„志力 %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "æ„志力"
+
#, fuzzy
#~ msgid "Server is full."
#~ msgstr "サーãƒãƒ¼ãŒæº€å¸­ã§ã‚る。"
diff --git a/po/ka.po b/po/ka.po
index 607fbdaa..d110abc3 100644
--- a/po/ka.po
+++ b/po/ka.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-07-23 22:14+0000\n"
"Last-Translator: Mpa4Hu <ymen9@pisem.net>\n"
"Language-Team: Georgian <ka@li.org>\n"
@@ -19,470 +19,449 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr ""
-#: src/client.cpp:643
+#: src/client.cpp:679
msgid "Connecting to server"
msgstr ""
-#: src/client.cpp:670
+#: src/client.cpp:706
msgid "Logging in"
msgstr ""
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
msgid "Changing game servers"
msgstr ""
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr ""
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
msgid "Password Change"
msgstr ""
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "უცნáƒáƒ‘ი კáƒáƒ›áƒáƒœáƒ“áƒ."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- დáƒáƒ®áƒ›áƒáƒ áƒ”ბრ--"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > დáƒáƒ®áƒ›áƒáƒ áƒ”ბის გáƒáƒ›áƒáƒ¢áƒáƒœáƒ"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > რუქის სáƒáƒ®áƒ”ლის გáƒáƒ›áƒáƒ¢áƒáƒœáƒ"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > áƒáƒœáƒšáƒáƒ˜áƒœ მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლების რáƒáƒáƒ“ენáƒáƒ‘áƒ"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > მáƒáƒ§áƒ”ვით რáƒáƒ›áƒ” თქვენს შესáƒáƒ®áƒ”ბ"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > ფáƒáƒœáƒ¯áƒ áƒ˜áƒ¡ გáƒáƒ¡áƒ£áƒ¤áƒ—áƒáƒ•áƒ”ბáƒ"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > პრივáƒáƒ¢áƒ£áƒšáƒ˜ მესიჯის გáƒáƒ’ზáƒáƒ•áƒœáƒ მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლისთვის"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "áƒáƒ› კáƒáƒ›áƒáƒœáƒ“áƒáƒ¡ გáƒáƒ›áƒáƒáƒ¥ კáƒáƒœáƒ™áƒ áƒ”ტული რუქის სáƒáƒ®áƒ”ლი"
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "áƒáƒ› კáƒáƒ›áƒáƒœáƒ“áƒáƒ¡ გáƒáƒ›áƒáƒáƒ¥ კáƒáƒœáƒ™áƒ áƒ”ტული რუქის სáƒáƒ®áƒ”ლი"
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "áƒáƒ› კáƒáƒ›áƒáƒœáƒ“áƒáƒ¡ გáƒáƒ›áƒáƒáƒ¥ კáƒáƒœáƒ™áƒ áƒ”ტული რუქის სáƒáƒ®áƒ”ლი"
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -491,39 +470,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -537,34 +516,34 @@ msgstr ""
msgid "Buy"
msgstr ""
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr ""
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -578,11 +557,11 @@ msgstr ""
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr ""
@@ -655,14 +634,14 @@ msgstr ""
msgid "Name:"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -677,8 +656,8 @@ msgstr ""
msgid "Hair style:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr ""
@@ -733,8 +712,8 @@ msgstr ""
msgid "Change Email"
msgstr ""
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr ""
@@ -742,24 +721,24 @@ msgstr ""
msgid "Choose"
msgstr ""
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -825,8 +804,8 @@ msgstr ""
msgid "Equipment"
msgstr ""
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -834,7 +813,7 @@ msgstr ""
msgid "Help"
msgstr ""
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -846,80 +825,83 @@ msgstr ""
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr ""
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr ""
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr ""
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, c-format
msgid "Weight: %s"
msgstr ""
@@ -948,40 +930,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr ""
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
msgid ""
"\n"
"> Next\n"
@@ -995,7 +977,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1081,7 +1063,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1153,56 +1135,56 @@ msgstr ""
msgid "Passwords do not match."
msgstr ""
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr ""
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr ""
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
msgid "Server type:"
msgstr ""
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
msgid "Connect"
msgstr ""
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
msgid "Custom Server"
msgstr ""
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1239,50 +1221,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1366,27 +1348,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1442,484 +1428,457 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
msgid "None"
msgstr ""
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr ""
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, c-format
msgid "Skill %d"
msgstr ""
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, c-format
msgid "Lvl: %d (%+d)"
msgstr ""
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, c-format
msgid "Lvl: %d"
msgstr ""
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, c-format
msgid "Are you sure you want to leave party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
msgid "Create Party"
msgstr ""
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-msgid "Money"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-msgid "Level"
-msgstr ""
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1958,78 +1917,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2106,54 +1993,54 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "áƒáƒ› კáƒáƒ›áƒáƒœáƒ“áƒáƒ¡ გáƒáƒ›áƒáƒáƒ¥ კáƒáƒœáƒ™áƒ áƒ”ტული რუქის სáƒáƒ®áƒ”ლი"
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2177,389 +2064,402 @@ msgstr ""
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr "/help > დáƒáƒ®áƒ›áƒáƒ áƒ”ბის გáƒáƒ›áƒáƒ¢áƒáƒœáƒ"
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
+msgstr ""
+
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2567,91 +2467,91 @@ msgstr ""
msgid "Unknown error."
msgstr "უცნáƒáƒ‘ი კáƒáƒ›áƒáƒœáƒ“áƒ."
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "უცნáƒáƒ‘ი კáƒáƒ›áƒáƒœáƒ“áƒ."
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "უცნáƒáƒ‘ი კáƒáƒ›áƒáƒœáƒ“áƒ."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2728,11 +2628,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2742,187 +2642,135 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "უცნáƒáƒ‘ი კáƒáƒ›áƒáƒœáƒ“áƒ."
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2935,70 +2783,115 @@ msgstr ""
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
msgid "Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3044,27 +2937,27 @@ msgstr "áƒáƒ› კáƒáƒ›áƒáƒœáƒ“áƒáƒ¡ გáƒáƒ›áƒáƒáƒ¥ კáƒáƒœáƒ™áƒ áƒ”ტ
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3140,15 +3033,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3156,15 +3049,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3172,15 +3065,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3236,7 +3129,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3244,242 +3137,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3495,51 +3383,42 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
diff --git a/po/mana.pot b/po/mana.pot
index bac63561..d380b9fb 100644
--- a/po/mana.pot
+++ b/po/mana.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\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"
@@ -18,468 +18,448 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr ""
-#: src/client.cpp:643
+#: src/client.cpp:679
msgid "Connecting to server"
msgstr ""
-#: src/client.cpp:670
+#: src/client.cpp:706
msgid "Logging in"
msgstr ""
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
msgid "Changing game servers"
msgstr ""
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr ""
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
msgid "Password Change"
msgstr ""
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr ""
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr ""
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr ""
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr ""
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr ""
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -488,39 +468,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -534,34 +514,34 @@ msgstr ""
msgid "Buy"
msgstr ""
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr ""
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -575,11 +555,11 @@ msgstr ""
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr ""
@@ -652,14 +632,14 @@ msgstr ""
msgid "Name:"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -674,8 +654,8 @@ msgstr ""
msgid "Hair style:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr ""
@@ -730,8 +710,8 @@ msgstr ""
msgid "Change Email"
msgstr ""
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr ""
@@ -739,24 +719,24 @@ msgstr ""
msgid "Choose"
msgstr ""
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -822,8 +802,8 @@ msgstr ""
msgid "Equipment"
msgstr ""
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -831,7 +811,7 @@ msgstr ""
msgid "Help"
msgstr ""
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -843,80 +823,83 @@ msgstr ""
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr ""
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr ""
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr ""
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, c-format
msgid "Weight: %s"
msgstr ""
@@ -945,40 +928,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr ""
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
msgid ""
"\n"
"> Next\n"
@@ -992,7 +975,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1078,7 +1061,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1150,56 +1133,56 @@ msgstr ""
msgid "Passwords do not match."
msgstr ""
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr ""
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr ""
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
msgid "Server type:"
msgstr ""
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
msgid "Connect"
msgstr ""
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
msgid "Custom Server"
msgstr ""
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1236,50 +1219,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1363,27 +1346,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1439,484 +1426,457 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
msgid "None"
msgstr ""
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr ""
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, c-format
msgid "Skill %d"
msgstr ""
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, c-format
msgid "Lvl: %d (%+d)"
msgstr ""
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, c-format
msgid "Lvl: %d"
msgstr ""
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, c-format
msgid "Are you sure you want to leave party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
msgid "Create Party"
msgstr ""
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-msgid "Money"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-msgid "Level"
-msgstr ""
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1955,78 +1915,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2103,53 +1991,53 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2173,478 +2061,491 @@ msgstr ""
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
msgid " -h --help : Display this help"
msgstr ""
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
msgid "Unknown error."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, c-format
msgid "Unknown error (%d)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
msgid "Unknown channel event."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2721,11 +2622,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2735,186 +2636,134 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
msgid "Unknown char-server failure."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2927,70 +2776,115 @@ msgstr ""
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
msgid "Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3035,27 +2929,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3131,15 +3025,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3147,15 +3041,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3163,15 +3057,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3227,7 +3121,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3235,242 +3129,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3486,51 +3375,42 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
diff --git a/po/nb.po b/po/nb.po
index 345a9adc..b6132533 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-09-02 17:55+0000\n"
"Last-Translator: Øyvind Øritsland <Unknown>\n"
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
@@ -19,279 +19,275 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr ""
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Venter på server"
-#: src/client.cpp:670
+#: src/client.cpp:706
msgid "Logging in"
msgstr ""
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Server"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Feil"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Passord:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Avregistrer"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Ukjent kommando"
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Hjelp --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/hjelp > Hvis denne hjelpen"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Viser kartnavn"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Viser antall påloggede brukere"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Si noe om deg selv"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Tømmer vinduet"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Send en privat melding til en bruker"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Alternativ for msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Alternativ for msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
"/query > Åpner en fane for å sende private meldinger med en annen bruker"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > Alternativ for query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Viser alle offentlige kanaler"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/delta > Delta i eller opprett en kanal"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/party > Inviter en bruker til en gruppe"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > Inviter en bruker til en gruppe"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/innspilling > Start innspilling av chat til en ekstern fil"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "For mer informasjon, skriv /help <kommando>"
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Kommando: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Denne kommandoen viser en liste med alle tilgjengelige kommandoer."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Kommando: /help <kommando>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Kommando: /announce <msg>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** kun tilgjengelig for GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "Denne kommandoen sender meldingen <msg> til alle påloggede spillere."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Kommando: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Denne kommandoen klarer chatte-loggen."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Kommando: /join <kanal>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Denne kommandoen viser antall påloggede spillere -"
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Kommando: /join <kanal>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Denne kommandoen åpner <kanal>"
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "<kanal> blir opprettet om den ikke eksisterer."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Kommando: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Denne kommandoen viser en liste med alle kanaler."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Kommando: /me <melding>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Denne kommandoen forteller andre at du er (eller gjør) <melding>"
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Kommando: /msg <brukernavn> <melding>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Kommando: /whisper <brukernavn> <melding>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Kommando: /w <brukernavn> <melding>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Denne kommandoen sender teksten <melding> til <brukernavn>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
@@ -299,206 +295,187 @@ msgstr ""
"Hvis <brukernavn> inneholder mellomrom, skriv det mellom to anførselstegn "
"(\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Kommando: /query <brukernavn>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Kommando: /q <brukernavn>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Denne kommandoen prøver å opprette en fane for private meldinger mellom deg "
"og <brukernavn>."
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Kommando: /w <brukernavn> <melding>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Kommando: /clear"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Denne kommandoen klarer chatte-loggen."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Kommando: /party <brukernavn>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Denne kommandoen åpner <kanal>"
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Kommando: /party <brukernavn>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Denne kommandoen inviterer <brukernavn> til en gruppe med deg."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Kommando: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Kommando: /record <filnavn>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr "Denne kommandoen starter opptak av chatte-loggen til filen <filnavn>."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Kommando: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Kommando: /announce <msg>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Denne kommandoen viser antall påloggede spillere -"
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Skriv /help for en liste over kommandoer."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "Kan ikke sende tomme meldinger!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -507,42 +484,42 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Generelt"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Skjermbilde lagret til ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Lagring av skjermbilde feilet!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "Forbindelsen til serveren mistet, programmet vil nå avsluttes"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Nettverksfeil"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Kunne ikke laste inn kart."
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Feil i lastingen av %s"
@@ -556,34 +533,34 @@ msgstr "Gruppe (%s)"
msgid "Buy"
msgstr "Kjøp"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Pris: %s / Totalt: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Avslutt"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Maks"
@@ -597,11 +574,11 @@ msgstr "Selg"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Avbryt"
@@ -676,14 +653,14 @@ msgstr "Lag karakter:"
msgid "Name:"
msgstr "Navn:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -700,8 +677,8 @@ msgstr "HÃ¥rfarge:"
msgid "Hair style:"
msgstr "Frisyre:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Lag"
@@ -757,8 +734,8 @@ msgstr "Avregistrer"
msgid "Change Email"
msgstr "Endre epost-adresse"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Slett"
@@ -767,24 +744,24 @@ msgstr "Slett"
msgid "Choose"
msgstr "Lukk"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -850,8 +827,8 @@ msgstr ""
msgid "Equipment"
msgstr "Utstyr"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -859,7 +836,7 @@ msgstr ""
msgid "Help"
msgstr "Hjelp"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Lukk"
@@ -871,80 +848,83 @@ msgstr ""
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Bruk"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Del opp"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Vekt:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr ""
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "OK"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Alt"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Vekt:"
@@ -975,40 +955,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Kart"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Venter på server"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Neste"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Bekreft"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Tilbakestill"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1023,7 +1003,7 @@ msgstr "Til:"
msgid "Send"
msgstr "Send"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1110,7 +1090,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1182,61 +1162,61 @@ msgstr "Passordet må være mindre enn %d bokstaver."
msgid "Passwords do not match."
msgstr "Passordene stemmer ikke."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Velg server"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Kobler til..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Server"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Vennligst skriv inn både adresse og port til en server."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Venter på server"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1274,53 +1254,53 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "Slik ser fargen ut"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Farger"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Statisk"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Puls"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Regnbue"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Spektrum"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Forsinkelse: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Rød: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Grønn: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Blå: "
@@ -1406,28 +1386,32 @@ msgstr "Ignorert"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Tillat handel"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Vis navn"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Spillere"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1483,508 +1467,476 @@ msgstr "medium"
msgid "max"
msgstr "maks"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Fullskjerm"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Synlige navn"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Partikkeleffekter"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Vis navn"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "som partikkel"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPS-grense:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Video"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Vis navn"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "GUI-gjennomsiktighet"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Partikkeldetalje"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Skriftstørrelse"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Nei"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Bytter til fullskjerm"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Bytter OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Endringer av OpenGL krever restart."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Skjermresolusjon endret"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Partikkeleffekt-instillinger endret."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Ferdigheter"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Opp"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Ferdighetspoeng: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Ferdighetspoeng: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Ferdigheter"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Nivå: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Nivå: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Er du sikker på at du vil avslutte?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > Inviter en bruker til en gruppe"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > Inviter en bruker til en gruppe"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Er du sikker på at du vil avslutte?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Lag karakter:"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Inviter Bruker"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Stor"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Godta invitasjon fra %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Avslo invitasjon fra %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Godta invitasjon fra %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Avslo invitasjon fra %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "GM Navn"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Velg server"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s har invitert deg til sin gruppe."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Godta Gruppeinvitasjon"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s har invitert deg til sin gruppe."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s har invitert deg til sin gruppe."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s har invitert deg til sin gruppe."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Godta Gruppeinvitasjon"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Gruppe"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Velg server"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Nivå: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Penger: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "Jobb: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Exp:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Penger: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Jobb: %d"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Ferdighetspoeng: %d"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Ferdighetspoeng: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Nivå: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -2023,81 +1975,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Andre Spilleres Navn"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "Eget Navn"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "GM Navn"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPCer"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Monstre"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Gruppe"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "GM Navn"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Partikkeleffekter"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Andre Spilleres Navn"
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2174,55 +2051,55 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Kommando: /record"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Denne kommandoen viser antall påloggede spillere -"
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr "Denne kommandoen starter opptak av chatte-loggen til filen <filnavn>."
@@ -2249,390 +2126,403 @@ msgstr ""
msgid "Choose World"
msgstr "Velg server"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Monstre"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr "/hjelp > Hvis denne hjelpen"
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2640,92 +2530,92 @@ msgstr ""
msgid "Unknown error."
msgstr "Ukjent kommando"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Ukjent kommando"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Kommando: /join <kanal>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Ukjent kommando"
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2806,11 +2696,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2820,189 +2710,137 @@ msgstr ""
msgid "%s rejected your invite."
msgstr "Avslo invitasjon fra %s."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "Kan ikke sende tomme meldinger!"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Ukjent kommando"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Spiller"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3016,71 +2854,116 @@ msgstr "Navn"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Slett"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3128,27 +3011,27 @@ msgstr "Denne kommandoen sender teksten <melding> til <brukernavn>."
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3224,15 +3107,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3240,15 +3123,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3256,15 +3139,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3323,7 +3206,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3331,242 +3214,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > Inviter en bruker til en gruppe"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3582,52 +3460,43 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
@@ -3646,6 +3515,21 @@ msgstr ""
#~ msgid "Hyperlink"
#~ msgstr "Hyperlenke"
+#~ msgid "Other Players' Names"
+#~ msgstr "Andre Spilleres Navn"
+
+#~ msgid "Own Name"
+#~ msgstr "Eget Navn"
+
+#~ msgid "GM Names"
+#~ msgstr "GM Navn"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCer"
+
+#~ msgid "Monsters"
+#~ msgstr "Monstre"
+
#~ msgid "Shirts"
#~ msgstr "Skjorter"
@@ -3675,6 +3559,29 @@ msgstr ""
#~ msgid "Ammo"
#~ msgstr "Ammunisjon"
+#~ msgid "Particle Effects"
+#~ msgstr "Partikkeleffekter"
+
+#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Exp:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Penger: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Jobb: %d"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Nivå: %d"
+
#~ msgid "no"
#~ msgstr "nei"
diff --git a/po/nds.po b/po/nds.po
index a3e3c98e..7c11e2d6 100644
--- a/po/nds.po
+++ b/po/nds.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-06-08 22:07+0000\n"
"Last-Translator: Thorbjørn Lindeijer <bjorn@lindeijer.nl>\n"
"Language-Team: German, Low <nds@li.org>\n"
@@ -19,472 +19,452 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Setup"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "verbinde..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Login"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Server:"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Fehler"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Passwort:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr ""
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr ""
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr ""
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr ""
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr ""
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -493,39 +473,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -539,34 +519,34 @@ msgstr ""
msgid "Buy"
msgstr "kaufen"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Beenden"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -580,11 +560,11 @@ msgstr "Verkaufen"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Abbrechen"
@@ -657,14 +637,14 @@ msgstr "Charakter erstellen"
msgid "Name:"
msgstr "Name:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -681,8 +661,8 @@ msgstr "Haarfarbe:"
msgid "Hair style:"
msgstr "Frisur:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "erstellen"
@@ -738,8 +718,8 @@ msgstr ""
msgid "Change Email"
msgstr "Email-Adresse ändern"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Löschen"
@@ -747,24 +727,24 @@ msgstr "Löschen"
msgid "Choose"
msgstr ""
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -830,8 +810,8 @@ msgstr ""
msgid "Equipment"
msgstr "Ausrüstung"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Ablegen"
@@ -839,7 +819,7 @@ msgstr "Ablegen"
msgid "Help"
msgstr ""
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -851,81 +831,84 @@ msgstr "Inventar"
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Ausrüsten"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Benutzen"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Ablegen"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Ablegen"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr ""
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Wirkung: %s"
@@ -955,40 +938,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr ""
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
msgid ""
"\n"
"> Next\n"
@@ -1002,7 +985,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1089,7 +1072,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1161,59 +1144,59 @@ msgstr "Das Passwort muss weniger als %d Buchstaben beinhalten."
msgid "Passwords do not match."
msgstr "Die Passwörter stimmen nicht überein."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "verbinde..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1250,50 +1233,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1377,27 +1360,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1453,488 +1440,459 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Nein"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Fähigkeiten"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Fähigkeiten"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Level: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Level: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Bist du dir sicher, dass du diesen Charakter löschen möchtest?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Bist du dir sicher, dass du diesen Charakter löschen möchtest?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Charakter erstellen"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Level: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Geld: %d"
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Level: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Hinzufügen"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Du gibst:"
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Du gibst:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1973,78 +1931,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2121,53 +2007,53 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2191,479 +2077,492 @@ msgstr ""
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
msgid " -h --help : Display this help"
msgstr ""
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Du gibst:"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
msgid "Unknown error."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, c-format
msgid "Unknown error (%d)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
msgid "Unknown channel event."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2742,11 +2641,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2756,187 +2655,134 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Willenskraft"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
msgid "Unknown char-server failure."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Stärke"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Intelligenz"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2950,71 +2796,116 @@ msgstr "Name:"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Löschen"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3059,27 +2950,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3155,15 +3046,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3171,15 +3062,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3187,15 +3078,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3252,7 +3143,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3260,242 +3151,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3511,58 +3397,61 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Geld: %d"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Level: %d"
+
#~ msgid "Willpower:"
#~ msgstr "Willenskraft"
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Willenskraft"
+
#~ msgid "Description: %s"
#~ msgstr "Beschreibung: %s"
diff --git a/po/nl.po b/po/nl.po
index 1bb330a4..82c2ca42 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Mana World 0.1.0\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-07-15 12:21+0000\n"
"Last-Translator: Yentl <y.v.t@scarlet.be>\n"
"Language-Team: Dutch\n"
@@ -19,286 +19,282 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Configureren"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Verbinden met de map server..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Inloggen"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Kies Personage"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "Verbinden met de map server..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Server"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Fout"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Wachtwoord:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Veranderen"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "Lid is succesvol gepromoveerd."
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Registreren"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "Ongeldige updatahost: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "Fout bij het creëren van de update map!"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Onbekend commando."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Help --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Deze help weergeven"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Mapnaam weergeven"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Aantal online gebruikers weergeven"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Vertel iets over jezelf"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Maak dit venster leeg"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Zend een privébericht naar een gebruiker"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > zelfde functie als msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > zelfde als msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > Maakt een tabblad voor privéberichten met andere gebruikers"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > zelfde functie als query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Alle publieke kanalen weergeven"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Een kanaal creëren of bij aansluiten"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > Creëer een nieuwe groep"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > Een gebruiker uitnodigen in de groep"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > De chat beginnen opnemen naar een extern bestand"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > Bepalen of <return> de chatlog wisselt"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
"/present > Lijst weergeven met alle aanwezige spelers (opgeslagen in "
"chatlog, als logging aanstaat)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Globale aankondiging (enkel GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Voor meer informatie, typ /help <commando>."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Commando: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Dit commando geeft een lijst weer van alle mogelijke commando's"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Commando: /help <commando>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Dit commando geeft help weer van <commando>"
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Commando: /announce <msg>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** enkel mogelijk door een GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
"Dit commando stuurt het bericht <msg> naar alle spelers momenteel online."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Commando: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Dit commando maakt de chatlog van vorige chatsessies leeg"
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Commando: /item <beleid>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Dit commando geeft het aantal spelers dat momenteel online is weer."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Commando: /join <kanaal>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Dit commando voegt je toe op kanaal <kanaal>."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Als <kanaal> niet bestaat, wordt het aangemaakt."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Commando: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Dit commando geeft een lijst weer van alle kanalen."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Commando /me <bericht>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Dit commando vertelt anderen dat je <msg> bent/doet."
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Commando: /msg <nick> <bericht>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Commando: /msg <nick> <bericht>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Commando: /w <nick> <bericht>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Dit commando zendt de tekst <bericht> aan <nick>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
@@ -306,62 +302,43 @@ msgstr ""
"Als de <nick> spaties bevat, omsluit het dan met dubbele aanhalingstekens "
"(\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Commando: /query <nick>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Commando: /q <nick>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Dit commando probeert een tabblad aan te maken voor alle whispers tussen jou "
"en <nick>"
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Commando: /w <nick> <bericht>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Commando: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Dit commando zet het onderwerp naar <bericht>."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Commando: /create <groepsnaam>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Dit commando creëert een nieuwe groep genaamd <groepsnaam>"
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Commando: /party <nick>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Dit commando nodigt <nick> uit om een groep te vormen met jou."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Commando: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -369,34 +346,34 @@ msgstr ""
"Dit commando haalt een lijst op van spelers die je kunnen horen en zendt dit "
"naar ofwel het logboek als dit opgeslagen wordt, of anders naar de chatlog."
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Commando: /record <bestandsnaam>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
"Dit commando begint de chat log op te slaan naar het bestand <bestandsnaam>."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Commando: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Dit commando beëindigt het opslaan van de chatlog."
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Commando: /toggle <status>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -404,115 +381,115 @@ msgstr ""
"<status> kan \"1\", \"yes\", \"true\" zijn om het in te schakelen, of \"0\", "
"\"no\", \"false\" om het uit te schakelen."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Commando: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Commando: /item <beleid>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Commando: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Dit commando geeft de naam weer van de huidige map."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Commando: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Dit commando geeft het aantal spelers dat momenteel online is weer."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Type /help voor een lijst van commando's."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "Kan geen lege berichten sturen!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "Aanvragen om bij kanaal %s toegevoegd te worden."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "Groepsnaam ontbreekt."
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "Bericht sluit chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Bericht sluit nu chat."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "Groep succesvol aangemaakt."
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "Fluisterbericht kon niet verzonden worden, genegeerd door gebruiker."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "Fluisterbericht kon niet verzonden worden, genegeerd door gebruiker."
@@ -523,44 +500,44 @@ msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
"Opties voor /%s zijn \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Algemeen"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Screenshot opgeslagen naar ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Opslaan van screenshot mislukt!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr ""
"De verbinding met de server is verloren gegaan, het programma zal nu "
"afsluiten"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Netwerkfout"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Inkomende handelsaanvragen negeren"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Inkomende handelsaanvragen accepteren"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Kan de map niet laden"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Fout bij het laden van %s"
@@ -574,34 +551,34 @@ msgstr "Groep (%s)"
msgid "Buy"
msgstr "Kopen"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Prijs: %s / Totaal: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Afsluiten"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Maximum"
@@ -615,11 +592,11 @@ msgstr "Verkopen"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Annuleren"
@@ -695,14 +672,14 @@ msgstr "Personage Aanmaken"
msgid "Name:"
msgstr "Naam:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -719,8 +696,8 @@ msgstr "Haarkleur:"
msgid "Hair style:"
msgstr "Haarstijl:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Aanmaken"
@@ -776,8 +753,8 @@ msgstr "Registreren"
msgid "Change Email"
msgstr "Emailadres wijzigen"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Verwijderen"
@@ -786,24 +763,24 @@ msgstr "Verwijderen"
msgid "Choose"
msgstr "Sluiten"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Chat"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d spelers zijn aanwezig."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "Aanwezigheid geschreven in logbestand."
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Fluisteren naar %s: %s"
@@ -869,8 +846,8 @@ msgstr "Omgevingseffecten"
msgid "Equipment"
msgstr "Uitrusting"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Afdoen"
@@ -878,7 +855,7 @@ msgstr "Afdoen"
msgid "Help"
msgstr "Help"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Sluiten"
@@ -890,81 +867,84 @@ msgstr "Inventaris"
msgid "Storage"
msgstr "Opslag"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "Sloten:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Uitrusten"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Gebruiken"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Neerleggen"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Splitsen"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Gewicht:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Opslaan"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Afhalen"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Neerleggen"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "OK"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Alle"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Selecteer het aantal exemplaren om te verhandelen"
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Selecteer het aantal exemplaren om neer te leggen"
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "Selecteer hoeveelheid voorwerpen te bewaren."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "Selecteer hoeveelheid voorwerpen terug te nemen."
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Selecteer hoeveelheid voorwerpen om te splitsen."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Gewicht "
@@ -996,40 +976,40 @@ msgstr "Voorwerpdeling uitgeschakeld."
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Map"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Wachten op server"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Volgende"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Indienen"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Reset"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1044,7 +1024,7 @@ msgstr "Aan:"
msgid "Send"
msgstr "Verzenden"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "Kon niet zenden als zender, of de brief is ongeldig."
@@ -1133,7 +1113,7 @@ msgstr ""
msgid "Pick up %s"
msgstr "Oprapen"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1205,61 +1185,61 @@ msgstr "Het wachtwoord moet uit minder dan %d tekens bestaan."
msgid "Passwords do not match."
msgstr "Wachtwoorden komen niet overeen."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Kies jouw server"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Poort:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Verbinden..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Aangepaste cursor"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Typ aub zowel het adres van de server, als de poort."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Wachten op server"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1297,54 +1277,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "Dit is hoe de kleur eruit ziet"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Kleuren"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Type: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Statisch"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Puls"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Regenboog"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Spectrum"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Vertraging: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Rood: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Groen: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Blauw: "
@@ -1430,28 +1410,33 @@ msgstr "Genegeerd"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Handelen toestaan"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Fluisteren toestaan"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Naam tonen"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "Kan niets verkopen."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Spelers"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "Tijdens negeren:"
@@ -1507,516 +1492,483 @@ msgstr "gemiddeld"
msgid "max"
msgstr "max"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Volledig scherm"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Aangepaste cursor"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Zichtbare namen"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Deeltjes effecten"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Naam tonen"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "Notificatie bij oprapen weergeven"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "in chat"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "als deeltje"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPS limiet:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Video"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Naam tonen"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Dekking van de GUI"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Omgevingseffecten"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Deeltjes details"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Lettergrootte"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Nee"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "modus en herstel van oude modus ook gefaald!"
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "modus en herstel van oude modus ook gefaald!"
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Overgaan naar volledig scherm"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "De veranderingen worden pas actief na opnieuw opstarten"
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Veranderen van OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Het wisselen van of naar OpenGL wordt pas actief na opnieuw opstarten"
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "Ervaringsdeling uitgeschakeld."
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Schermresolutie veranderd"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Herstart de client om de wijzigingen in werking te doen treden."
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Deeltjes effecten instellingen gewijzigd."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "Wijzigingen treden in werking bij het wisselen van map."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Vaardigheden"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Omhoog"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Vaardigheidspunten: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Vaardigheidspunten: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Vaardigheden"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Level: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Level: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "Guild aangemaakt."
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Guild aanmaken"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Weet u zeker dat u wilt afsluiten?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > Een gebruiker uitnodigen in de groep"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > Een gebruiker uitnodigen in de groep"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Weet u zeker dat u wilt afsluiten?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Guild aanmaken"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Personage Aanmaken"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Gebruiker uitnodigen"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Groot"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Uitnodiging van %s aanvaard."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Uitnodiging van %s geweigerd."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Uitnodiging van %s aanvaard."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Uitnodiging van %s geweigerd."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "Fout bij het creëren van guild."
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Guild"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Kies jouw server"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "Uitnodiging tot groep ontvangen, maar er is er al één."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s heeft je uitgenodigd om je bij groep %s te voegen."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Groepsuitnodiging aanvaarden"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Uitnodiging tot groep ontvangen, maar er is er al één."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s heeft je uitgenodigd om je bij hun groep te voegen."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s heeft je uitgenodigd om je bij groep %s te voegen."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s heeft je uitgenodigd om je bij hun groep te voegen."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s heeft je uitgenodigd om je bij groep %s te voegen."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Groepsuitnodiging aanvaarden"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Groep"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Kies jouw server"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Level: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Geld: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "Leven:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Ervaring:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "Magie:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "Job: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "Job:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "Leven:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "Magie:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Ervaring:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Geld: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Job:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Attributen van personage OK"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Vaardigheidspunten: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Level: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Handelen voorstellen"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Bevestigd. Wachten..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Handel goedkeuren"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Goedgekeurd. Wachten..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "Handel: Jij"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Handel"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Toevoegen"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Jij krijgt %s."
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Je geeft:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Veranderen"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
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."
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Je hebt niet genoeg geld."
@@ -2056,84 +2008,6 @@ msgstr "##1 je later opnieuw probeert"
msgid "Completed"
msgstr "Voltooid"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "Wezen"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Namen van andere Spelers"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "Eigen Naam"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "GM Namen"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPCs"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Monsters"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Groep"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Guild"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Deeltjes effecten"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "Notificatie bij opnemen"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "Ervaring Notificatie"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Speler raakt Monster"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "Monster raakt Speler"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Kritieke aanval"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "Speler raakt Monster"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Kritieke aanval"
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Missers"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > Lijst van gebruikers in het huidig kanaal weergeven"
@@ -2214,55 +2088,55 @@ msgstr "Een gebruiker nodig om kanaalbeheerder te maken!"
msgid "Need a user to kick!"
msgstr "Een gebruiker nodig om uit het kanaal te verwijderen!"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Globale aankondiging:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Globale aankondiging van %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s fluistert: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Kan geen leeg chatbericht sturen!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Sluit de fluistertab"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Commando: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Dit commando sluit de huidige fluistertab."
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Commando: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Dit commando geeft het aantal spelers dat momenteel online is weer."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2291,323 +2165,336 @@ msgstr "Veranderen"
msgid "Choose World"
msgstr "Kies jouw server"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Omhoog"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Omlaag"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Naar links"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Naar rechts"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Aanvallen"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Viseren en Aanvallen"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "Smilie"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Spreken"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Aanval stoppen"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Dichtstbijzijnde viseren"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "NPC viseren"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Speler viseren"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "Oprapen"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Vensters verbergen"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Zitten"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Schermafdruk"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Handelen inschakelen/uitschakelen"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "Pad naar Muis vinden"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "Snelkopeling naar voorwerp %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Help venster"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Statusvenster"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Uitrustingsvenster"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Vaardigheidsvenster"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Minimapvenster"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Gespreksvenster"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Voorwerpsnelkoppelingsvenster"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Instellingenvenster"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Debugvenster"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Vaardigheidsvenster"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "Emoticonsnelkoppelingsvenster"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Statusvenster"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "Emoticon snelkoppeling %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Chat omhoogscrollen"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Chat omlaagscrollen"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "Vorige chattab"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Volgende chattab"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "OK selecteren"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "Ingave 1 negeren"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "Ingave 2 negeren"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "Los deze problemen op, of het spel kan raar gedrag vertonen."
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "Kan het voorwerp niet oprapen."
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Je raapte %s [@@%d|%s@@] op."
msgstr[1] "Je raapte %s [@@%d|%s@@] op."
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Opties:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : Versie weergeven"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : Deze help weergeven"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : Gebruikte configuratiebestand"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username : Login met deze gebruikersnaam"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : Login met dit wachtwoord"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character : Login met dit personage"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server : Loginserver naam of IP-adres"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -p --port : Loginserver poort"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host : Gebruik deze updatehost"
-#: src/main.cpp:53
+#: src/main.cpp:57
#, fuzzy
msgid " -D --default : Choose default character server and character"
msgstr " -D --default : Kies standaard personageserver en personage"
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : Sla update downloads over"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data : Map waarvan speldata geladen wordt"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : Map te gebruiken als home"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : Gebruikte configuratiebestand"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : Map te gebruiken als home"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : OpenGL uitschakelen voor deze sessie"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "Je bent dood."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
"We betreuren het om je te melden dat jouw personage is gestorven in een "
"gevecht."
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "Je bent niet langer levend."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr "De koude handen van Pietje de Dood grijpen naar jouw ziel."
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "Game Over!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
@@ -2615,7 +2502,7 @@ msgstr ""
"Neen, kinderen. Jouw personage is niet echt gestorven. Het... euhm... is "
"naar een beter plaats gegaan."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
@@ -2623,87 +2510,88 @@ msgstr ""
"Jouw plan om vijandelijke wapens te vernietignen door ermee tegen jouw keel "
"te slaan is mislukt."
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "Dit verliep niet zoals gepland."
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "Wil je dat jouw bezittingen geïdentificeerd worden?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "Spijtig genoeg, was er geen spoor van jou gevonden..."
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "Verslagen"
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
"Je hebt het weer verknald, dump jouw lichaam en ga er een nieuw halen."
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
#, fuzzy
msgid "Press OK to respawn."
msgstr " Druk op OK om te respawnen"
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Je stierf"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "Reeds aangemeld"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "Gebruikersnaam bestaat al"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Attributen van personage OK"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Attributen van personage OK"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2711,96 +2599,96 @@ msgstr ""
msgid "Unknown error."
msgstr "Onbekende foutmelding"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "Info"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "Personage verwijderd."
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Selecteer het aantal exemplaren om te verhandelen"
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Onbekende foutmelding"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "Geen gameservers beschikbaar."
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "Onderwerp: %s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "Speler raakt Monster"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Commando: /join <kanaal>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "Aanvragen om bij kanaal %s toegevoegd te worden."
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s heeft zich bij de groep gevoegd."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Onbekend commando."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "Guild aangemaakt."
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "Fout bij het creëren van guild."
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "Uitnodiging verzonden."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr "Lid is succesvol gepromoveerd."
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "Kon lid niet promoveren."
@@ -2891,11 +2779,11 @@ msgstr "emailadres bestaat al"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "Bijgevoegd bij groep."
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s heeft zich bij de groep gevoegd."
@@ -2905,190 +2793,137 @@ msgstr "%s heeft zich bij de groep gevoegd."
msgid "%s rejected your invite."
msgstr "%s wees jouw uitnodiging af."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Kracht"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "Kracht %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Behendigheid"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "Behandigheid %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Vaardigheid"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "Vaardigheid %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "Vitaliteit"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "Vitaliteit %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Intelligentie"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "Intelligentie %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Wilskracht:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "Wilskracht %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "Inkomende handelsaanvragen accepteren."
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "Inkomende handelsaanvragen negeren."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "Handel aanvragen"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s wil met jou handelen, aanvaard je dit?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "Handelen met %s"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "Handel geannuleerd."
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "Handel voltooid."
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "Kick gefaald!"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "Kick succesvol!"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Niets te verkopen."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Bedankt voor de aankopen."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "Kan niets kopen."
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Bedankt voor het verkopen."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "Kan niets verkopen."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "Kan deze ID niet gebruiken"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Onbekende foutmelding"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Kan personage niet aanmaken. Waarschijnlijk bestaat de naam al."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Personage verwijderd."
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Kon personage niet verwijderen."
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Sterkte:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Agiliteit:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Vitaliteit:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Intelligentie:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Dexteriteit:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Geluk:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "Fluisterbericht kon niet verzonden worden, gebruiker is offline."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "Fluisterbericht kon niet verzonden worden, genegeerd door gebruiker."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Speler"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "Kanalen worden niet ondersteund!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3103,80 +2938,125 @@ msgstr "Naam"
msgid "Request to quit denied!"
msgstr "Handel aanvragen"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "Kracht %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "Behandigheid %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "Vitaliteit %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "Intelligentie %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "Vaardigheid %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "Geluk %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Authenticatie mislukt"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "Geen servers beschikbaar"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "Iemand anders probeert deze account te gebruiken"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "Deze account is reeds aangemeld"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "Speedhack gedetecteerd"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "Dubbele login"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "Onbekenden connectiefout"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "De verbinding met de server werd verbroken!"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Kracht"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Behendigheid"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "Vitaliteit"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Intelligentie"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Vaardigheid"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Geluk"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Verdediging:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "Magische Aanval:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "Magische Verdediging:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Nauwkeurigheid:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% Ontwijking:"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "Kritieke aanval"
@@ -3227,29 +3107,29 @@ msgstr "Dit commando zorgt ervoor dat de speler de groep verlaat."
msgid "Guild name is missing."
msgstr "Groepsnaam ontbreekt."
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s is nu een lid van jouw groep."
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "Onbekend uitnodigingsantwoord van %s."
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3333,15 +3213,15 @@ msgid "This command displays the party's current experience sharing policy."
msgstr ""
"Dit commando geeft het huidige ervaringsdelingbeleid van de groep weer."
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "Voorwerpdeling ingeschakeld."
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "Voorwerpdeling uitgeschakeld."
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "Voorwerpdeling is niet mogelijk."
@@ -3350,15 +3230,15 @@ msgstr "Voorwerpdeling is niet mogelijk."
msgid "Item sharing unknown."
msgstr "Voorwerpdeling ingeschakeld."
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "Ervaringsdeling ingeschakeld."
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "Ervaringsdeling uitgeschakeld."
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "Ervaringsdeling is niet mogelijk."
@@ -3367,15 +3247,15 @@ msgstr "Ervaringsdeling is niet mogelijk."
msgid "Experience sharing unknown."
msgstr "Ervaringsdeling ingeschakeld."
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "Kan voorwerp niet gebruiken."
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "Kan dit niet uitrusten."
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3443,7 +3323,7 @@ msgstr "Kan niets verkopen."
msgid "Connection to server terminated. "
msgstr "Verbinden met de map server..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "Kan geen groep aanmaken."
@@ -3451,244 +3331,239 @@ msgstr "Kan geen groep aanmaken."
msgid "Party successfully created."
msgstr "Groep succesvol aangemaakt."
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s is al een lid van een groep."
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s wees jouw uitnodiging af."
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s is nu een lid van jouw groep."
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "Onbekend uitnodigingsantwoord van %s."
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "Je hebt de groep verlaten."
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s heeft jouw groep verlaten."
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "Een onbekend lid probeerde te zeggen: %s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > Een gebruiker uitnodigen in de groep"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s is niet in jouw groep!"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Werp een muntstuk in om verder te spelen."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "Je bent nog niet dood. Je bent maar aan het rusten."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "Je bent niet langer."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "Je hebt opgehouden te zijn."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "Je bent verlopen en gaat een bezoekje maken bij jouw schepper."
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "Je bent stokstijf."
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "Beroofd van het leven, rust je in vrede."
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "Jouw metabolische processen behoren nu tot het verleden."
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "Je bent een ex-speler."
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Bericht"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"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."
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "Je raapte op: "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Handel mislukte!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "Emoticon gefaald!"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Zitten niet mogelijk!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Chatcreatie mislukte!"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Kan je niet bij de groep voegen!"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "Kan niet roepen!"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "Je hebt nog geen hoog genoeg level bereikt!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "Onvoldoende leven!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "Onvoldoende Vaardigheidspunten!"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "Je hebt geen memo's!"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Je kan dat nu niet doen!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Het lijkt erop dat je meer geld nodig hebt... ;-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Je kan die vaardigheid niet gebruiken met dit type wapen!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "Je hebt een andere rode edelsteen nodig!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "Je hebt een andere blauwe edelsteen nodig!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "Je draagt teveel bij je om dit te doen!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "Huh? Wat is dat?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "Warp mislukt..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "Kon niets stelen..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Gif had geen effect..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Handelen is niet mogelijk. Partner is te ver weg."
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Handelen is niet mogelijk. Personage bestaat niet."
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "Handel onderbroken vanwege een onbekende reden."
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "Handelen: Jij en %s"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "Handel met %s geannuleerd."
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "Onbehandelde handelannulatiepakket."
@@ -3704,57 +3579,72 @@ msgstr "Kan voorwerp niet toevoegen. Handelspartner heeft geen vrij slot."
msgid "Failed adding item for unknown reason."
msgstr "Kan voorwerp niet toevoegen voor een onbekende reden."
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "Voltooid"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Aanval %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Verdediging %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "Leven %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "Magie %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Onbekend voorwerp"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "naamloos"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "Leven:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "Magie:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Ervaring:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Geld: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Job:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Level: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "Toegang geweigerd"
@@ -3768,6 +3658,13 @@ msgstr "naamloos"
#~ msgid "Willpower:"
#~ msgstr "Wilskracht:"
+#~ msgid "Willpower %+d"
+#~ msgstr "Wilskracht %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Wilskracht:"
+
#, fuzzy
#~ msgid "Server is full."
#~ msgstr "Server is volzet"
@@ -3816,6 +3713,24 @@ msgstr "naamloos"
#~ msgid "Hyperlink"
#~ msgstr "Hyperlink"
+#~ msgid "Being"
+#~ msgstr "Wezen"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Namen van andere Spelers"
+
+#~ msgid "Own Name"
+#~ msgstr "Eigen Naam"
+
+#~ msgid "GM Names"
+#~ msgstr "GM Namen"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCs"
+
+#~ msgid "Monsters"
+#~ msgstr "Monsters"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Onbekend type voorwerp"
@@ -3852,6 +3767,29 @@ msgstr "naamloos"
#~ msgid "Ammo"
#~ msgstr "Ammunitie"
+#~ msgid "Particle Effects"
+#~ msgstr "Deeltjes effecten"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "Notificatie bij opnemen"
+
+#~ msgid "Exp Notification"
+#~ msgstr "Ervaring Notificatie"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "Speler raakt Monster"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "Monster raakt Speler"
+
+#~ msgid "Critical Hit"
+#~ msgstr "Kritieke aanval"
+
+#~ msgid "Misses"
+#~ msgstr "Missers"
+
#~ msgid "HP Bar"
#~ msgstr "Levensbalk"
diff --git a/po/pl.po b/po/pl.po
index c5fb8fd2..6a2a2b4d 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: The Mana World 0.1.0\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-09-14 06:59+0000\n"
"Last-Translator: Maciej Benke <syngress_stc@vp.pl>\n"
"Language-Team: <pl@li.org>\n"
@@ -22,348 +22,325 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Konfiguracja"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "ÅÄ…czenie z serwerem map..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Użytkownik"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Wybierz postać"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "ÅÄ…czenie z serwerem map..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Serwer"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "BÅ‚Ä…d"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Hasło:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Zmień"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "Członek został pomyślnie wypromowany."
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Wyrejestruj"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "Nieprawidłowy host aktualizacji: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "BÅ‚Ä…d podczas tworzenia katalogu aktualizacji!"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Nieznane polecenie."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Pomoc --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Pokazuje tÄ™ pomoc"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Wyświetla nazwę mapy"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Wyświetla liczbę podłączonych użytkowników"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Powiedz coÅ› o sobie"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Czyści to okno"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Wysyła prywatną wiadomość do użytkownika"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Alias polecenia msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Alias polecenia msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
"/query > Tworzy zakładkę dla prywatnych wiadomości z innym użytkownikiem"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > Alias polecenia query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Pokaż wszystkie publiczne kanały"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Dołącz lub utwórz kanał"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > Utworzenie nowej grupy"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > Zaproś użytkownika do grupy"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > Rozpocznij zapisywanie czatu do zewnętrznego pliku"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > Określa czy <return> przełącza dziennik czatu"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
"/present > Pobiera listę obecnych graczy (przesyła do dzienika czatu, jeżeli "
"zapisywanie jest włączone)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Globalne ogłoszenie (tylko GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Aby uzyskać więcej informacji, wpisz /help <komenda>"
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Komenda: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Ta komenda wyświetla listę dostępnych komend."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Komenda: /help <komenda>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Ta komenda wyświetla pomoc dotyczącą <komenda>"
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Komenda: /announce <wiadomość>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** dostępne tylko dla GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
"Ta komenda wysyła wiadomość <wiadomość> to wszystkich połączonych graczy."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Komenda: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Ta komenda czyści zawartość okna."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Komenda: /item <zasada>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Ta komenda wyświetla liczbę połączonych graczy."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Komenda: /join <kanał>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Ta komenda powoduje, iż wejdziesz do <kanał>"
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Jeżeli <kanał> nie istnieje, to zostanie utworzony."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Komenda: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Ta komenda pokazuje listę wszystkich kanałów."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Komenda: /me <wiadomość>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Ta komenda mówi innym co (robisz) <wiadomość>."
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Komenda: /msg <ksywka> <wiadomość>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Komenda: /whisper <ksywka> <wiadomość>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Komenda: /w <ksywka> <wiadomość>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Ta komenda wysyła tekst <wiadomość> do <ksywka>"
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr "Jeżeli <postać> ma spację, należy ją zapisać w cudzysłowie (\")"
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Komenda: /query <ksywka>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Komenda: /q <ksywka>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Ta komeda próbuje utworzyć zakładkę dla prywatnych wiadomości pomiędzy tobą "
"i <ksywka>."
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Komenda: /w <ksywka> <wiadomość>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Komenda: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Ta komenda ustawia temat na <wiadomość>."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Komenda: /create <nazwa-grupy>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Te komendy utworzÄ… nowÄ… grupÄ™ nazwanÄ… <nazwa-grupy>."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Komenda: /party <ksywka>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Ta komenda zaprasza <ksywka> do twojej grupy."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Komenda: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -371,28 +348,28 @@ msgstr ""
"Ta komenda pobiera listę graczy w zasięgu słuchu i wysyła ją do dziennika "
"zapisu, lub dziennika czatu."
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Komenda: /record <nazwa_pliku>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
"Ta komenda rozpoczyna zapisywanie dziennika czatu to pliku <nazwa_pliku."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Komenda: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Ta komenda kończy zapisywanie sesji"
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Komenda: /toggle <stan>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
@@ -400,7 +377,7 @@ msgstr ""
"Ta komenda ustawia, czy klawisz return powinien włączać dziennik zapisu, lub "
"czy dziennik zapisu powinien się automatycznie wyłączyć."
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -408,48 +385,48 @@ msgstr ""
"<stan> może być jednym z \"1\", \"yes\", \"true\" aby uaktywnić przełącznik, "
"lub \"0\", \"no\", \"false\" by deaktywować przełącznik."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Komenda: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "Ta komenda wyświetla status przełącznika"
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Komenda: /item <zasada>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Komenda: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Ta komenda wyświetla nazwę aktualnej mapy."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Komenda: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Ta komenda wyświetla liczbę połączonych graczy."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Wpisz /help aby usyskać listę komend."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "Nie można wysłać pustych szeptów!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -458,67 +435,67 @@ msgstr ""
"Nie można utworzyć zakładki szeptu dla ksywki \"%s\"! Już istnieje, albo to "
"ty."
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "Prośba o dołączenie do kanału %s."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "Brakuje nazwy grupy."
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "Return włącza czat."
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "Wiadomość zamyka czat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "Return od teraz włącza czat."
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Wiadomość od teraz zamyka czat."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "Pomyślnie utworzono grupę."
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "Szept nie mógł zostać wysłany, jesteś ignorowany przez odbiorcę."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "Szept nie mógł zostać wysłany, jesteś ignorowany przez odbiorcę."
@@ -528,42 +505,42 @@ msgstr "Szept nie mógł zostać wysłany, jesteś ignorowany przez odbiorcę."
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr "Opcjami dla /%s sÄ… \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Ogólny"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Zrzut ekranu zapisany do ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Zapisywanie zrzutu ekranu nie powiodło się!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "Połączenie z serwerem zostało utracone, program zakończy pracę"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "BÅ‚Ä…d sieci"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Ignorowanie przychodzących próśb o handel"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Akceptowanie przychodzących próśb o handel"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Nie można załadować mapy"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "BÅ‚Ä…d podczas Å‚Ä…dowania %s"
@@ -577,34 +554,34 @@ msgstr "Grupa (%s)"
msgid "Buy"
msgstr "Kup"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Cena: %s/ Razem: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Wyjdź"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Maks."
@@ -618,11 +595,11 @@ msgstr "Sprzedaj"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Anuluj"
@@ -698,14 +675,14 @@ msgstr "Stwórz postać"
msgid "Name:"
msgstr "ImiÄ™:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -722,8 +699,8 @@ msgstr "Kolor włosów:"
msgid "Hair style:"
msgstr "Fryzura:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Utwórz"
@@ -779,8 +756,8 @@ msgstr "Wyrejestruj"
msgid "Change Email"
msgstr "Zmień adres Email"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Usuń"
@@ -789,24 +766,24 @@ msgstr "Usuń"
msgid "Choose"
msgstr "Zamknij"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Czat"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d graczy jest obecnych."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "Dozór wpisany do dziennika zapisu"
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Szepczesz do %s: %s"
@@ -872,8 +849,8 @@ msgstr "Efekty otoczenia"
msgid "Equipment"
msgstr "Ekwipunek"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Zdejmij"
@@ -881,7 +858,7 @@ msgstr "Zdejmij"
msgid "Help"
msgstr "Pomoc"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Zamknij"
@@ -893,81 +870,84 @@ msgstr "Inwentarz"
msgid "Storage"
msgstr "Magazyn"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "Miejsc:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Załóż"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Użyj"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Upuść"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Podziel"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Waga:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Przechowaj"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Pobierz"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Upuść"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "Ok"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "wszystkie"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Wybierz ilość przedmiotów do handlu."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Wybierz ilość przedmiotów do upuszczenia."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "Podaj ilość rzeczy do przechowania."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "Wybierz ilość przedmiotów do pobrania."
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Wybierz ilość przedmiotów do podziału."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Waga: "
@@ -999,40 +979,40 @@ msgstr "Podział przedmiotu wyłączony."
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Mapa"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Oczekiwanie na serwer"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Następna"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Zatwierdź"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Resetuj"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1047,7 +1027,7 @@ msgstr "Do:"
msgid "Send"
msgstr "Wyślij"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "Nie powiodła się wysyłka jako nadawca, albo list jest nieprawidłowy."
@@ -1137,7 +1117,7 @@ msgstr "@@name|Dodaj imiÄ™ do czatu@@"
msgid "Pick up %s"
msgstr "PodnieÅ›"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|Dodaj do czatu@@"
@@ -1210,61 +1190,61 @@ msgstr "Hasło nie może mieć więcej jak %d znaków."
msgid "Passwords do not match."
msgstr "Hasła nie zgadzają się."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Wybierz twój serwer"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Serwer:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Serwer:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "ÅÄ…czenie..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "WÅ‚asny kursor"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Proszę wpisać adres i port serwera"
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Oczekiwanie na serwer"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1302,54 +1282,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "Kolor będzie wyglądał w ten sposób"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Kolory"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Typ: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Statyczny"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Puls"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Tęcza"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Widmo"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Opóźnienie: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Czerwony: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Zielony: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Niebieski: "
@@ -1435,28 +1415,33 @@ msgstr "Ignorowany"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Zezwól na handel"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Zezwól na szepty"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "Umieść wszystkie szepty w zakładkach"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Pokaż imię"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "Nie można sprzedać."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Gracze"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "Gdy ignorowany:"
@@ -1512,516 +1497,483 @@ msgstr "średnie"
msgid "max"
msgstr "max"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Pełen ekran"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "WÅ‚asny kursor"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Widoczne imiona"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Efekty czÄ…steczkowe"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Pokaż imię"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "Pokaż powiadomienie o podniesieniu"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "w czacie"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "jako czÄ…steczkÄ™"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "Limit FPS:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Obraz"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Pokaż imię"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "Tekst nad głową"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Przezroczystość GUI"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Efekty otoczenia"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Detale czÄ…steczek"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Rozmiar czcionki"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Nie"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "tryb i przywrócenie starego trybu również nie powiodło się!"
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "tryb i przywrócenie starego trybu również nie powiodło się!"
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Przełączanie na pełen ekran"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Wymagane ponowne uruchomienie aby zastosować zmiany."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Zmień na OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Zastosowanie zmiany na OpenGL wymaga ponownego uruchomienia."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "Podział doświadczenia wyłączony."
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Zmieniono rozdzielczość ekranu"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Uruchom ponownie twojego klienta, aby mogły zajść zmiany."
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Zmieniono ustawienia ef. czÄ…steczek"
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "Efekty nastÄ…piÄ… po zmianie mapy."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Zdolności"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Góra"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Punkty umiejętności: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Punkty umiejętności: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Zdolności"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Poziom: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Poziom: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "Gildia została utworzona."
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Utwórz Gildię"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Czy na pewno chcesz wyjść?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > Zaproś użytkownika do grupy"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > Zaproś użytkownika do grupy"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Czy na pewno chcesz wyjść?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Utwórz Gildię"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Stwórz postać"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Zaproś Użytkownika"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Duża"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Zaakceptowano zaproszenie od %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Odrzucono zaproszenie od %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Zaakceptowano zaproszenie od %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Odrzucono zaproszenie od %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "BÅ‚Ä…d podczas tworzenia gildii."
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Gildia"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Wybierz twój serwer"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "Otrzymano prośbę o założenie grupy, ale ona już istnieje."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s zaprosił ciebie, byś dołączył do grupy %s ."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Zaakceptuj zaproszenie do grupy"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Otrzymano prośbę o założenie grupy, ale ona już istnieje."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s zaprosił ciebie, byś dołączył do grupy."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s zaprosił ciebie, byś dołączył do grupy %s ."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s zaprosił ciebie, byś dołączył do grupy."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s zaprosił ciebie, byś dołączył do grupy %s ."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Zaakceptuj zaproszenie do grupy"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Grupa"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Wybierz twój serwer"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Poziom: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "PieniÄ…dze: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "Praca: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "Praca:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "MP:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Exp:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "PieniÄ…dze: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Praca:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Statystyki postaci w porzÄ…dku."
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Punkty umiejętności: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Poziom: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Oferuj handel"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Potwierdzono. Oczekiwanie..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Akceptuj handel"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Zaakceptowano. Oczekiwanie..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "Handel: Ty"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Handel"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Dodaj"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Otrzymujesz %s"
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Dajesz:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Zmień"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"Dodanie przedmiotu nie powiodło się. Nie może zachodzić na siebie ten sam "
"rodzaj przedmiotu w okienku."
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Nie masz wystarczającej ilości pieniędzy."
@@ -2061,85 +2013,6 @@ msgstr "##1 spróbował później"
msgid "Completed"
msgstr "Zakończono"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "Byty"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Imiona Innych Graczy"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "WÅ‚asne ImiÄ™"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "Imiona GM"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPC"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Potwory"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Grupa"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Gildia"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Efekty CzÄ…steczkowe"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "Powiadomienie o podniesieniu"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "Powiadomienie o Exp"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Gracz uderza Potwora"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "Potwór uderza Gracza"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Uderzenie Krytyczne"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "Gracz uderza Potwora"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Uderzenie Krytyczne"
-
-#: src/gui/userpalette.cpp:111
-#, fuzzy
-msgid "Local Player Miss"
-msgstr "Zapisz listÄ™ graczy"
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Pudła"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > Pokazuje listę użytkowników w obecnym kanale"
@@ -2216,55 +2089,55 @@ msgstr "Wymagany użytkownik, aby przydzielić opa!"
msgid "Need a user to kick!"
msgstr "Wymagany użytkownk, aby go wykopać!"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Ogłoszenie ogólne:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Ogłoszenie ogólne od %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s szepcze: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Nie można wysłać pustego czatu!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Zamyka zakładkę szeptania"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Komenda: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Komenda zamyka obecną zakładkę szeptania"
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Komenda: /przedmiot"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Ta komenda wyświetla liczbę połączonych graczy."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2293,321 +2166,334 @@ msgstr "Zmień"
msgid "Choose World"
msgstr "Wybierz twój serwer"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Przesuń w górę"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Przesuń w dół"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Przesuń w lewo"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Przesuń w prawo"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Atak"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Namierz i Atakuj"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "Emotikonka"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Rozmowa"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Zatrzymaj Atak"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Namierz najbliższy cel"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "Namierz NPC"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Namierz Gracza"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "PodnieÅ›"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Ukryj Okna"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Usiądź"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Zrzut ekranu"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Włącz/Wysłącz Handlowanie"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "Znajdź Ścieżkę do Myszy"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "Skrót Przedmiotu %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Okno Pomocy"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Okno statusu"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Okno Inwentarza"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Okno Ekwipunku"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Okno Umiejętności"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Okno Minimapy"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Okno Czatu"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Okno Skrótów Przedmiotów"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Okno Ustawień"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Okno diagnostyczne"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Okno Umiejętności"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "Okno Skrótów Emotek"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Okno statusu"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "Skrót Emotki %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "Przełącznik Czatu"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Przewiń czat do góry"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Przewiń czat w doł"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "Poprzednia zakładka czatu"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Następna zakładka czatu"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "Wybrano OK"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "Ignoruj wprowadzenie 1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "Ignoruj wprowadzenie 2"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "Rozwiąż je, albo granie może być utrudnione."
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "Nie można podnieść przedmiotu."
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Podniosłeś %s [@@%d|%s@@]."
msgstr[1] "Podniosłeś %s [@@%d|%s@@]."
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Opcje:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : Pokazuje wersjÄ™"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : Pokazuje tÄ™ pomoc"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : Plik konfiguracyjny do użycia"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username : Zaloguj z tą nazwą użytkownika"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : Zaloguj z tym hasłem"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character : Zaloguj z tÄ… postaciÄ…"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server : Nazwa serwera logowania, lub IP"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -p --port : Port serwera logowania"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host : Użyj tego hosta aktualizacji"
-#: src/main.cpp:53
+#: src/main.cpp:57
#, fuzzy
msgid " -D --default : Choose default character server and character"
msgstr " -D --default : Wybierz domyślny serwer postaci i postać"
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : Pomiń pobieranie aktualizacji"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data : Katalog, z którego załadować dane gry"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : Katalog do użycia jako katalog domowy"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : Plik konfiguracyjny do użycia"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : Katalog do użycia jako katalog domowy"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : Wyłącz OpenGL dla tej sesji"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "JesteÅ› martwy."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr "Ubolewamy, inforumując iż twoja postać została zabita w bitwie."
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "Już nie jesteś taki żywy."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr "Skostniałe łapy ponurego żniwiarza sięgają po twoją duszę."
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "Koniec gry!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
@@ -2615,7 +2501,7 @@ msgstr ""
"Nie, dzieci. Wasza postać tak naprawdę nie zginęła. Ona... yyy... udała się "
"do lepszego miejsca."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
@@ -2623,86 +2509,87 @@ msgstr ""
"Twój plan zniszczenia broni wrogów poprzez uderzanie o nią twoim gardłem "
"zawiódł."
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "Wydaje mi się, iż to nie poszło zbyt dobrze."
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "Czy chesz zidentyfikować twoje rzeczy?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "Niestety, ślad po tobie zaginął..."
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "Unicestwiony."
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr "Wygląda na to, że podano tobie twoją głowę."
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr "Znowu nawaliłeś, wrzuć swoje ciało do rur i weź sobie nowe."
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
#, fuzzy
msgid "Press OK to respawn."
msgstr " Naciśnij OK, aby się odrodzić"
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Umarłeś"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "Już zalogowany"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "Nazwa użytkownika już istnieje"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Statystyki postaci w porzÄ…dku."
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Statystyki postaci w porzÄ…dku."
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2710,96 +2597,96 @@ msgstr ""
msgid "Unknown error."
msgstr "Nieznany błąd"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "Info"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "Gracz usunięty"
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Wybierz ilość przedmiotów do handlu."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Nieznany błąd"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "Brak dostępnych serwerów gier"
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "Temat: %s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "Gracz uderza Potwora"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Komenda: /join <kanał>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "Prośba o dołączenie do kanału %s."
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s dołączył do grupy."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Nieznane polecenie."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "Gildia została utworzona."
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "BÅ‚Ä…d podczas tworzenia gildii."
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "Zaproszenie wysłane."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr "Członek został pomyślnie wypromowany."
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "Promocja Członka nie powiodła się."
@@ -2890,11 +2777,11 @@ msgstr "Adres email już istnieje"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "Dołączono do grupy."
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s dołączył do grupy."
@@ -2904,191 +2791,138 @@ msgstr "%s dołączył do grupy."
msgid "%s rejected your invite."
msgstr "%s odmówił zaproszenia."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Siła"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "Siła %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Zwinność"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "Zwinność %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Zręczność"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "Zręczność %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "Witalność"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "Witalność %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Inteligencja"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "Inteligencja %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Siła woli:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "Siła woli %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "Akceptowanie nadchodzących próśb o handel."
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "Ignorowanie nadchodzących próśb o handel."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "Prośba o Handel"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s chce handlować z tobą, zgadzasz się?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "Handel z %s"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "Handel anulowany."
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "Handel zakończony."
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "Wykopanie nie powiodło się!"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "Wykopanie powiodło się!"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Nie masz niczego do sprzedania."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Dziękuję za kupno."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "Nie można kupić."
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Dziękuję za sprzedaż."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "Nie można sprzedać."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "Nie można uzyć tego ID"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Nieznany błąd"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
"Utworzenie postaci nie powiodło się. Najprawdopodobniej imię jest już zajęte."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Usunięto postać."
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Usunięcie gracza nie powiodło się."
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Siła:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Zwinność:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Witalność:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Inteligencja:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Zręczność:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Szczęście:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "Szept nie mógł zostać wysłany, użytkownik jest offline."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "Szept nie mógł zostać wysłany, jesteś ignorowany przez odbiorcę."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Gracz"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "Kanały nie są wspierane!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3103,80 +2937,125 @@ msgstr "Nazwa"
msgid "Request to quit denied!"
msgstr "Prośba o Handel"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "Siła %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "Zwinność %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "Witalność %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "Inteligencja %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "Zręczność %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "Szczęście %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Uwierzytelnienie nie powiodło się"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "Brak dostępnych serwerów"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "Ktoś inny próbuje użyć tego konta"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "To konto jest już zalogowane"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "Wykryto Speed hack"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "Zduplikowany login"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "Nieznany błąd połączenia"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "Rozłączono z serwerem!"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Siła"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Zwinność"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "Witalność"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Inteligencja"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Zręczność"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Szczęście"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Obrona:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "Atak M.:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "Obrona M.:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Celność:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% Unik:"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "Uderzenie Krytyczne"
@@ -3227,29 +3106,29 @@ msgstr "Komenda powoduje opuszczenie grupy przez gracza"
msgid "Guild name is missing."
msgstr "Brakuje nazwy grupy."
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s jest od teraz członkiem twojej grupy."
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "Nieznana odpowiedź na zaproszenie dla %s"
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3330,15 +3209,15 @@ msgstr "Komenda: /exp"
msgid "This command displays the party's current experience sharing policy."
msgstr "Komenda pokazuje obecną zasadę podziału doświadczenia w grupie."
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "Podział przedmiotu włączony."
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "Podział przedmiotu wyłączony."
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "Podział przedmiotu nie jest możliwy."
@@ -3347,15 +3226,15 @@ msgstr "Podział przedmiotu nie jest możliwy."
msgid "Item sharing unknown."
msgstr "Podział przedmiotu włączony."
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "Podział doświadczenia włączony."
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "Podział doświadczenia wyłączony."
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "Podział doświadczenia nie jest możliwy."
@@ -3364,15 +3243,15 @@ msgstr "Podział doświadczenia nie jest możliwy."
msgid "Experience sharing unknown."
msgstr "Podział doświadczenia włączony."
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "Użycie przedmiotu nie powiodło się."
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "Nie można założyć."
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "Nie można zdjąć."
@@ -3439,7 +3318,7 @@ msgstr "Nie można sprzedać."
msgid "Connection to server terminated. "
msgstr "ÅÄ…czenie z serwerem map..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "Nie można utworzyć grupy."
@@ -3447,242 +3326,237 @@ msgstr "Nie można utworzyć grupy."
msgid "Party successfully created."
msgstr "Pomyślnie utworzono grupę."
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s już jest członkiem grupy."
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s odmówił zaproszenia."
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s jest od teraz członkiem twojej grupy."
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "Nieznana odpowiedź na zaproszenie dla %s"
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "Opuściłeś grupę."
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s opuścił twoją grupę."
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "Nieznany członek próbował powiedzieć: %s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > Zaproś użytkownika do grupy"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s nie jest w twojej grupie!"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Wrzuć monetę aby kontynuować."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "Jeszcze nie umarłeś. Po prostu odpoczywasz."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "Więcej ciebie nie ma."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "Przestałeś istnieć."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "Odszedłeś na spotkanie ze swoim stwórcą."
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "JesteÅ› sztywniakiem."
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "Opuściło cię życie. Teraz spoczywasz w spokoju."
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr "Gdybyś nie był taki aktywny, nadal byś zrywał kwiatki."
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "Twoje procesy metaboliczne sÄ… teraz historiÄ…."
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "KopnÄ…Å‚eÅ› w kalendarz."
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "JesteÅ› ex-graczem."
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr "Usychasz z tęsknoty za fiordami."
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Wiadomość"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr "Nosisz więcej, niż połowa twojej wagi. Nie możesz odzyskiwać zdrowia."
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "Podniosłeś "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "Najpierw załóż strzały."
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Handel zakończony niepowodzeniem!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "Emotka nieudana!"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Siad nieudany!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Utworzenie czatu nieudane!"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Nie można dołączyć do grupy!"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "Nie można krzyknąć!"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "Masz za niski poziom!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "NiewystarczajÄ…ce HP!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "NiewystarczajÄ…ce SP!"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "Nie masz notatek!"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Nie możesz teraz tego zrobić!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Wygląda na to, że potrzebujesz wiecej pieniędzy... ;-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Nie można użyć tej umiejętności z taką bronią!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "Potrzebujesz innego czerwonego kamienia!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "Potrzebujesz innego niebieskiego kamienia!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "Jesteś zbyt obciążony aby to zrobić!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "O! Co to?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "Nie mogę nic ukraść..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Trucizna nie zadziałała..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Handlowanie nie jest możlwe. Kontrahent jest za daleko."
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Handlowanie nie jest możliwe. Postać nie istnieje."
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "Handel anulowany z nieznanego powodu."
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "Handel: Ty i %s"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "Handel z %s został anulowany."
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "Nieobsługiwany pakiet anulowania handlu."
@@ -3699,57 +3573,72 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr "Dodanie przedmiotu nie powiodło się z nieznanego powodu."
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|Kompletnie ignoruj %s@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Atak %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Obrona %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Nieznany przedmiot"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "nienazwany"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Exp:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "PieniÄ…dze: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Praca:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Poziom: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "Dostęp zabroniony"
@@ -3763,6 +3652,13 @@ msgstr "nienazwany"
#~ msgid "Willpower:"
#~ msgstr "Siła woli:"
+#~ msgid "Willpower %+d"
+#~ msgstr "Siła woli %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Siła woli:"
+
#, fuzzy
#~ msgid "Server is full."
#~ msgstr "Serwer jest pełny"
@@ -3814,6 +3710,24 @@ msgstr "nienazwany"
#~ msgid "Hyperlink"
#~ msgstr "Hiperłącze"
+#~ msgid "Being"
+#~ msgstr "Byty"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Imiona Innych Graczy"
+
+#~ msgid "Own Name"
+#~ msgstr "WÅ‚asne ImiÄ™"
+
+#~ msgid "GM Names"
+#~ msgstr "Imiona GM"
+
+#~ msgid "NPCs"
+#~ msgstr "NPC"
+
+#~ msgid "Monsters"
+#~ msgstr "Potwory"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Nieznany Typ Przedmiotu"
@@ -3858,6 +3772,29 @@ msgstr "nienazwany"
#~ msgid "Ammo"
#~ msgstr "Amunicja"
+#~ msgid "Particle Effects"
+#~ msgstr "Efekty CzÄ…steczkowe"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "Powiadomienie o podniesieniu"
+
+#~ msgid "Exp Notification"
+#~ msgstr "Powiadomienie o Exp"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "Gracz uderza Potwora"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "Potwór uderza Gracza"
+
+#~ msgid "Critical Hit"
+#~ msgstr "Uderzenie Krytyczne"
+
+#~ msgid "Misses"
+#~ msgstr "Pudła"
+
#~ msgid "HP Bar"
#~ msgstr "Pasek HP"
@@ -4098,6 +4035,9 @@ msgstr "nienazwany"
#~ msgid "Scroll laziness"
#~ msgstr "Opóźnienie przy przewijaniu ekranu"
+#~ msgid "Save player list"
+#~ msgstr "Zapisz listÄ™ graczy"
+
#~ msgid "Unable to load selection.png"
#~ msgstr "Nie można załadować selection.png"
diff --git a/po/pt.po b/po/pt.po
index d77b6a30..7d650680 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2010-03-05 13:28+0000\n"
"Last-Translator: Tustiman <Unknown>\n"
"Language-Team: Portuguese <pt@li.org>\n"
@@ -19,345 +19,322 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Configuração"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Conectando ao servidor de mapas..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Autenticar"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Seleccione um Personagem"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "Conectando ao servidor de mapas..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Servidor"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Erro"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Senha:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Modificar"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "Membro foi promovido com sucesso."
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Remover o Registo"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "Host de atualização inválido: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "Erro ao criar pasta de actualizações!"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Comando desconhecido"
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Ajuda --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Mostra a ajuda"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Mostra o nome do mapa"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Mostra o numero de utilizadores online"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Diga alguma coisa sobre si"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Limpa a janela"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Envia uma mensagem privata a um utilizador"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > nome do jogador"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > nome do jogador"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > Cria um separador para mensagens privadas com outro utlizador"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > nome da pesquisa"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Mostra todos os canais públicos"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Junte-se ou crie um canal"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > Cria um novo grupo"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > convidar um jogadora para a equipa"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > Inicie a gravação da conversa para um ficheiro externo"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > Determina se <enter> alterna para o log de chat"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
"/present > Obter lista de jogadores presentes (Envia para o log do chat. Se "
"logando)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Anuciamento Global (Somente GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Para mais informações, escreva /help <command>."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Comando: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Este comando mostra a lista de todos os comandos disponiveis"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Comando: /help <command>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Exibe o conteúdo de ajuda de <command>"
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Comando: /announce <msg>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** apenas para GM's ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "Enviar mensagem <msg> para todos os jogadores conectados."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Comando /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Limpa os logs do chat anterior."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Comando> /item <opção>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Mostra o número de jogadores conectados."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Comando: /join <canal>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Este comando faz você entrar em <canal>."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Se o <canal> não existe, ele será criado."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Comando /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Mostrar uma lista de todos os canais."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Comando /me <messagem>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Este comando diz aos outros o que eu estou (fazendo) <msg>."
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Comando: /msg <nick> <mensagem>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Comando: /whisper <nick> <mensagem>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Comando: /w <nick> <mensagem>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Enviar <mensagem> para <nick>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr "Se <nick> possuir espaços, coloque dentro de parênteses (\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Comando: /query <nick>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Comando: /q <nick>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Este comando cria uma aba para mensagens confidenciais entre você e <nick>."
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Comando: /w <nick> <mensagem>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Comando: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Define <mensagem> como o tópico."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Comando: /create <nome-do-grupo>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Estes comandos criam um novo grupo chamado <nome-do-grupo>."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Comando: /party <nick>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Convida <nick> para uma festa com você."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Comando: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -366,29 +343,29 @@ msgstr ""
"de registo do chat ou, caso haja uma gravação em andamento, para o log de "
"gravação."
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Comando: /record <arquivo>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
"Este comando inicia a gravação do registo do chat para o ficheiro "
"<nome_do_ficheiro>."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Comando: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Este comando finaliza a sessão de gravação."
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Comando: /toggle <estado>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
@@ -396,7 +373,7 @@ msgstr ""
"Este comando define se a tecla enter deve alternar para o log do chat ou se "
"o log do chat fica oculto automaticamente."
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -404,48 +381,48 @@ msgstr ""
"<estado> pode ser \"1\", \"yes\" e \"true\" para ativar ou \"0\", \"no\" e "
"\"false\" para desactivar."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Comando: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "Este comando mostra o status do botão alternar."
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Comando> /item <opção>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Comando: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Mostra o nome do mapa atual."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Comando: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Mostra o número de jogadores conectados."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Digite /help para ver uma lista de comandos."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -454,67 +431,67 @@ msgstr ""
"Não é possível criar uma aba de sussurros para o nick \"%s\"! Ou ela já "
"existe ou é você mesmo."
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "Solicitando entrada no canal %s."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "Falta o nome do grupo."
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "Enter alterna para o chat."
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "A mensagem fecha o chat."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "Agora enter alterna para o chat."
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Agora a mensagem fecha o chat."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "Grupo criado."
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "Impossível enviar sussurro, está ignorado pelo utilizador."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "Impossível enviar sussurro, está ignorado pelo utilizador."
@@ -525,42 +502,42 @@ 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\"."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Geral"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Screenshot salvo em ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Erro ao salvar screenshot!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "Conexão com o servidor perdida, o jogo será fechado"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Erro de conexão"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Ignorando propostas de negócios"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Aceitando propostas de negócios"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Impossível carregar mapa"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Erro ao carregar %s"
@@ -574,34 +551,34 @@ msgstr "Grupo (%s)"
msgid "Buy"
msgstr "Comprar"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Preço: %s / Total: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Sair"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Máximo"
@@ -615,11 +592,11 @@ msgstr "Vender"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Cancelar"
@@ -695,14 +672,14 @@ msgstr "Criar Personagem"
msgid "Name:"
msgstr "Nome:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -719,8 +696,8 @@ msgstr "Cor de Cabelo:"
msgid "Hair style:"
msgstr "Estilo do Cabelo:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Criar"
@@ -776,8 +753,8 @@ msgstr "Remover o Registo"
msgid "Change Email"
msgstr "Alterar e-mail"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Eliminar"
@@ -786,24 +763,24 @@ msgstr "Eliminar"
msgid "Choose"
msgstr "Fechar"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Chat"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d jogadores estão presentes."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "Presença gravada no registo do log."
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "A sussurrar para %s: %s"
@@ -869,8 +846,8 @@ msgstr "Efeitos Ambientais"
msgid "Equipment"
msgstr "Equipamento"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Desequipar"
@@ -878,7 +855,7 @@ msgstr "Desequipar"
msgid "Help"
msgstr "Ajuda"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Fechar"
@@ -890,81 +867,84 @@ msgstr "Inventário"
msgid "Storage"
msgstr "Armazenamento"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "Entradas:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Equipar"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Usar"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Largar"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Dividir"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Peso:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Guardar"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Recuperar"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Largar"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "OK"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Tudo"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Seleccionar a quantidade de itens a negociar."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Seleccionar a quantidade de itens a largar."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "Escolha a quantidade de itens para guardar."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "Escolha a quantidade de itens para retirar."
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Seleccionar a quantidade de itens a dividir."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Peso: "
@@ -996,40 +976,40 @@ msgstr "Partilha de itens desabilitado."
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Mapa"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Aguardando servidor"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Seguinte"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Enviar"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Reiniciar"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1044,7 +1024,7 @@ msgstr "Para:"
msgid "Send"
msgstr "Enviar"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "Falha ao enviar como remetente ou a carta é inválida."
@@ -1134,7 +1114,7 @@ msgstr "@@name|Adiciona nome ao chat@@"
msgid "Pick up %s"
msgstr "Pegar"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|Adicionar ao chat@@"
@@ -1207,61 +1187,61 @@ msgstr "A password só pode ter até %d caracteres."
msgid "Passwords do not match."
msgstr "As senhas não coincidem."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Selecione seu servidor"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Servidor:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Porta:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Servidor:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Conectando..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Cursor personalizado"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Por favor escreva o endereço e a porta do servidor."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Aguardando servidor"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1299,54 +1279,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "A cor se parece com isso"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Cores"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Tipo: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Estática"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Pulsar"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Arco-Ãris"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Espectro"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Atraso: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Vermelho: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Verde: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Azul: "
@@ -1432,28 +1412,33 @@ msgstr "Ignorado"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Permitir trocas"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Permitir sussurros"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "Deixar todos os sussurros em abas"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Mostrar nome"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "Impossibilitado de vender."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Jogadores"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "Quando ignorado:"
@@ -1509,515 +1494,482 @@ msgstr "médio"
msgid "max"
msgstr "máximo"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Ecrã completo"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Cursor personalizado"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Nomes visíveis"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Efeitos de partícula"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Mostrar nome"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "Mostrar aviso de achado"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "no chat"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "como partícula"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "Limite de FPS:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Vídeo"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Mostrar nome"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "Texto sobrescrito"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Opacidade do Interface"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Efeitos Ambientais"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Detalhe de partículas"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Tamanho da fonte"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Não"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "modo e restauração do antigo modo também falharam!"
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "modo e restauração do antigo modo também falharam!"
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Mudar para ecrã completo"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "É necessário reiniciar para as alterações terem efeito."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Mudando OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "É necessário reiniciar para as alterações ao OpenGl terem efeito."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "Partilha de experiência desabilitado."
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Resolução de tela alterada"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Reincie o jogo para que as mudanças surtam efeito."
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Configurações de efeito de partícula modificadas."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "As mudanças terão efeito na mudança do mapa."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Competências"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Para cima"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Pontos de habilidade: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Pontos de habilidade: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Competências"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Nível: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Nível: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "Guilda criada."
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Criar Guilda"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Você tem certeza que deseja sair?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > convidar um jogadora para a equipa"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > convidar um jogadora para a equipa"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Você tem certeza que deseja sair?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Criar Guilda"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Criar Personagem"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Convidar Usuário"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Grande"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Acaitar convite de %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Rejeitar convite de %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Acaitar convite de %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Rejeitar convite de %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "Erro ao criar guilda."
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Guilda"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Selecione seu servidor"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "Requisição de grupo recebida, mas já existe um."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s te convidou para entrar no grupo %s."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Aceitar convite para o grupo"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Requisição de grupo recebida, mas já existe um."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s te convidou para entrar no seu grupo."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s te convidou para entrar no grupo %s."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s te convidou para entrar no seu grupo."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s te convidou para entrar no grupo %s."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Aceitar convite para o grupo"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Festa"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Selecione seu servidor"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Nível: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Dinheiro: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "Trabalho: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "Trabalho:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "MP:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Exp:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Dinheiro: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Trabalho:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Estatisticas da personagem OK"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Pontos de habilidade: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Nível: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Propor Negócio"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Confirmado. Aguardando..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Aceitar negociação"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Aceita. Aguarde..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "Negócio: você"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Negócio"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Adicionar"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Você obteve %s"
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Dá:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Modificar"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
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 um tipo de item na janela."
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Você não tem dinheiro suficiente."
@@ -2057,84 +2009,6 @@ msgstr "##1 você tente novamente mais tarde"
msgid "Completed"
msgstr "Concluído"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "Ser"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Nomes de outros jogadores"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "Nome Próprio"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "Nomes dos GMs"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPCs"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Monstros"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Festa"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Guilda"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Efeitos de partícula"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "Aviso de achado"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "Aviso de experiência"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Jogador acerta monstro"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "Monstro acerta jogador"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Golpe crítico"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "Jogador acerta monstro"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Golpe crítico"
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Falhas"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > Lista os utilizadores deste canal"
@@ -2212,55 +2086,55 @@ msgstr "É preciso um utilizador para dar op!"
msgid "Need a user to kick!"
msgstr "É preciso um utilizador para expulsar!"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Anúncio geral:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Anúncio geral de %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s sussurou: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Não é possível enviar chat vazio!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Fecha a aba de sussurros"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Comando: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Este comando fecha a atual aba de sussurros"
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Comando: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Mostra o número de jogadores conectados."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2290,320 +2164,333 @@ msgstr "Modificar"
msgid "Choose World"
msgstr "Selecione seu servidor"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Mover para Cima"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Mover para Baixo"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Mover para Esquerda"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Mover para Direita"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Ataque"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Selecionar & Atacar"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "Emoticons"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Falar"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Parar ataque"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Seleccionar o mais próximo"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "Seleccionar NPC"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Seleccionar Jogador"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "Pegar"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Esconder Janelas"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Sentar"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Captura de Ecrã"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Habilitar/Desabilitar Negociações"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "Atalho para Item %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Ajuda"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Status"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Janela de inventário"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Equipamento"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Janela de Habilidade"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Janela de Mini-mapa"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Janela de Diálogo"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Janela de atalhos para itens"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Configuração"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Janela de Depuração"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Janela de Habilidade"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "Janela de atalho para Emoticons"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Status"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "Atalho para Emoticon %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "Alternar para chat"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Rolar janela de chat para cima"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Rolar janela de chat para baixo"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "Aba de chat anterior"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Próxima aba de chat"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "Seleccionar OK"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "Ignorar input 1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "Ignorar input 2"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "Corrija-os, ou o jogo irá se comportar de forma estranha."
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "Impossível pegar item."
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Você pegou %s [@@%d|%s@@]."
msgstr[1] "Você pegou %s [@@%d|%s@@]."
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Opções:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : Exibe a versão"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : Exibe esta ajuda"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : Ficheiro de configuração a ser usado"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username : Efectua login com este utilizador"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : Efectua login com esta senha"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character : Efectua login com este personagem"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server : Nome ou IP do servidor de login"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -p --port : Porta do servidor de login"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host : Usa esta actualização do host"
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : Não faz downloads de actualização"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data : Pasta de onde os dados do jogo vão ser carregados"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : Directório a ser usado como pasta inicial"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : Ficheiro de configuração a ser usado"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : Directório a ser usado como pasta inicial"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : Desabilita OpenGL nesta sessão"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "Você está morto."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr "Lamentamos informar que seu personagem foi morto em combate."
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "Você não está mais vivo."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr "As mãos frias da morte estão levando sua alma."
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "Fim de jogo!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
@@ -2611,7 +2498,7 @@ msgstr ""
"Não, crianças. Seu personagem não morreu de verdade. Ele... err... foi para "
"um lugar melhor."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
@@ -2619,86 +2506,87 @@ msgstr ""
"Seu plano de quebrar as armas de seus inimigos com o seu pescoço não deu "
"certo."
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "Eu acho que isso não correu lá muito bem."
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "Você quer uma identificação de suas posses?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "Infelizmente, seus vestigios nunca foram encontrados..."
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "Aniquilado."
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr "Parece que te ofereceram sua própria cabeça."
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr "Você estragou tudo de novo, jogue fora seu corpo e arranje outro."
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
#, fuzzy
msgid "Press OK to respawn."
msgstr " Clique em OK para re-popular."
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Você morreu"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "Já está conectado"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "Nome de utilizador já existe"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Estatisticas da personagem OK"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Estatisticas da personagem OK"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2706,96 +2594,96 @@ msgstr ""
msgid "Unknown error."
msgstr "Erro desconhecido"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "Info"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "Personagem apagado."
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Seleccionar a quantidade de itens a negociar."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Erro desconhecido"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "Não há gameservers disponíveis."
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "Tópico: %s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "Jogador acerta monstro"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Comando: /join <canal>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "Solicitando entrada no canal %s."
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s entrou para o grupo."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Comando desconhecido"
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "Guilda criada."
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "Erro ao criar guilda."
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "Convite enviado."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr "Membro foi promovido com sucesso."
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "Erro ao promover membro."
@@ -2886,11 +2774,11 @@ msgstr "Endereço de email já existe"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "Entrou para o grupo."
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s entrou para o grupo."
@@ -2900,190 +2788,137 @@ msgstr "%s entrou para o grupo."
msgid "%s rejected your invite."
msgstr "%s recusou seu convite."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Força"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "Força %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Agilidade"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "Agilidade %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Destreza"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "Destreza %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "Vitalidade"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "Vitalidade %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Inteligência"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "Inteligência %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Força de Vontade:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "Força de vontade %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "Aceitando propostas de negócios."
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "Ignorando propostas de negócios."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "Proposta de negociação"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s quer negociar com você, você aceita?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "Negociando com %s"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "Negociação cancelada."
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "Negociação realizada."
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "Erro na expulsão!"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "Expulsão bem sucedida!"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Nada para vender."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Obrigado pela compra."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "Impossível comprar."
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Obrigado pela venda."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "Impossibilitado de vender."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "Não é possível usar esta ID"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Erro desconhecido"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Erro ao criar personagem. Provavelmente o nome já está sendo usado."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Personagem apagado."
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Falha ao apagar personagem."
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Força:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Agilidade:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Vitalidade:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Inteligência:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Destreza:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Sorte:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "Impossível enviar sussurro, o utilizador está desconectado."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "Impossível enviar sussurro, está ignorado pelo utilizador."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Jogador"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "Não há suporte para canais!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3098,80 +2933,125 @@ msgstr "Nome"
msgid "Request to quit denied!"
msgstr "Proposta de negociação"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "Força %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "Agilidade %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "Vitalidade %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "Inteligência %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "Destreza %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "Sorte %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Autenticação falhou"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "Não há servidores disponíveis"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "Mais alguém está tentando utilizar esta conta"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "Existe alguém logado a esta conta"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "Hack de velocidade detectado"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "Login duplicado"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "Erro de conexão desconhecido"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "Você foi desconectado do servidor!"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Força"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Agilidade"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "Vitalidade"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Inteligência"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Destreza"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Sorte"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Defesa:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "M. Ataque:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "M. Defesa:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Precisão:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% Fuga:"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "Golpe crítico"
@@ -3222,29 +3102,29 @@ msgstr "Este comando faz com que o jogador saia do grupo."
msgid "Guild name is missing."
msgstr "Falta o nome do grupo."
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s agora é um membro do seu grupo."
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "Resposta de convite desconhecida para %s."
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3324,15 +3204,15 @@ msgstr "Comando: /exp"
msgid "This command displays the party's current experience sharing policy."
msgstr "Este comando exibe a actual opção de partilha de experiência no grupo."
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "Partilha de itens habilitado."
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "Partilha de itens desabilitado."
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "Não é possível partilhar itens."
@@ -3341,15 +3221,15 @@ msgstr "Não é possível partilhar itens."
msgid "Item sharing unknown."
msgstr "Partilha de itens habilitado."
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "Partilha de experiência habilitado."
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "Partilha de experiência desabilitado."
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "Não é possível partilhar experiência."
@@ -3358,15 +3238,15 @@ msgstr "Não é possível partilhar experiência."
msgid "Experience sharing unknown."
msgstr "Partilha de experiência habilitado."
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "Problemas ao usar item."
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "Impossível equipar."
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "Impossível desequipar."
@@ -3435,7 +3315,7 @@ msgstr "Impossibilitado de vender."
msgid "Connection to server terminated. "
msgstr "Conectando ao servidor de mapas..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "Não foi possível criar o grupo."
@@ -3443,104 +3323,99 @@ msgstr "Não foi possível criar o grupo."
msgid "Party successfully created."
msgstr "Grupo criado."
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s já é membro de um grupo."
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s recusou seu convite."
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s agora é um membro do seu grupo."
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "Resposta de convite desconhecida para %s."
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "Você saiu do grupo."
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s saiu do seu grupo."
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "Um membro desconhecido tentou dizer: %s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > convidar um jogadora para a equipa"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s não está em seu grupo!"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Insira uma moeda para continuar."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "Você não morreu ainda. Está apenas descansando."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "Você não é mais."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "Você deixou de ser."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "Você expirou e foi encontrar o seu criador."
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "Você é um cadáver."
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "Sem vida, descanse em paz."
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr "Se não fosse tão animado, estaria comendo grama pela raiz."
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "Seus processos metabólicos são história agora."
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr "Você bateu as botas."
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "Você chutou o balde."
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
@@ -3548,141 +3423,141 @@ msgstr ""
"Você dispensou seu corpo mortal, abaixou as cortinas e juntou-se ao maldito "
"coro invisível."
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "Você é um ex-jogador"
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr "Você foi desta para melhor."
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Mensagem"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"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."
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "Você pegou "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "Equipe as flechas primeiro."
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Falha na negociação!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "Falha no Emote!"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Falha ao sentar!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Falha ao criar Chat!"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Impossível entrar no grupo!"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "Impossível gritar!"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "Você ainda não tem nível necessário!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "HP insuficiente!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "SP insuficiente!"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "Você não tem nenhuma nota armazenada!"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Você não pode fazer isso agora!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Parece que você precisa de mais dinheiro... ;-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Você não pode usar essa habilidade com esse tipo de arma!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "Você precisa de outra gema vermelha!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "Você precisa de outra gema azul!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "Você está com muita carga para fazer isso!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "Hã? O que é isso?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "Falha ao transportar..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "Não foi possível roubar nada..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Veneno não surtiu efeito..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
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/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Negociação impossível. O personagem não existe."
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "Negociação cancelada devido a uma razão desconhecida."
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "Negociação: Você e %s"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "Negociação com %s cancelada."
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "Troca injusta pacote cancelado."
@@ -3698,57 +3573,72 @@ msgstr "Erro ao adicionar item. Parceiro de negócios não tem slots livres."
msgid "Failed adding item for unknown reason."
msgstr "Erro ao adicionar item devido a um motivo desconhecido."
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|Ignorar completamente %s@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Ataque %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Defesa %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Item desconhecido"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "sem nome"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Exp:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Dinheiro: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Trabalho:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Nível: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "Acesso negado"
@@ -3762,6 +3652,13 @@ msgstr "sem nome"
#~ msgid "Willpower:"
#~ msgstr "Força de Vontade:"
+#~ msgid "Willpower %+d"
+#~ msgstr "Força de vontade %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Força de Vontade:"
+
#, fuzzy
#~ msgid "Server is full."
#~ msgstr "Servidor cheio"
@@ -3813,6 +3710,24 @@ msgstr "sem nome"
#~ msgid "Hyperlink"
#~ msgstr "Hiperligação"
+#~ msgid "Being"
+#~ msgstr "Ser"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Nomes de outros jogadores"
+
+#~ msgid "Own Name"
+#~ msgstr "Nome Próprio"
+
+#~ msgid "GM Names"
+#~ msgstr "Nomes dos GMs"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCs"
+
+#~ msgid "Monsters"
+#~ msgstr "Monstros"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Tipo de item desconhecido"
@@ -3857,6 +3772,29 @@ msgstr "sem nome"
#~ msgid "Ammo"
#~ msgstr "Munição"
+#~ msgid "Particle Effects"
+#~ msgstr "Efeitos de partícula"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "Aviso de achado"
+
+#~ msgid "Exp Notification"
+#~ msgstr "Aviso de experiência"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "Jogador acerta monstro"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "Monstro acerta jogador"
+
+#~ msgid "Critical Hit"
+#~ msgstr "Golpe crítico"
+
+#~ msgid "Misses"
+#~ msgstr "Falhas"
+
#~ msgid "HP Bar"
#~ msgstr "Barra de HP"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index c8cd1268..1480dce7 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-03-16 22:27+0100\n"
-"PO-Revision-Date: 2010-12-10 22:55-0300\n"
-"Last-Translator: alastrim <alasmirt@gmail.com>\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
+"PO-Revision-Date: 2010-02-17 04:42+0000\n"
+"Last-Translator: alms21 <alms21@gmail.com>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
@@ -19,545 +19,566 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:555
-#: src/gui/setup.cpp:43
-#: src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Configurar"
-#: src/client.cpp:625
+#: src/client.cpp:679
+#, fuzzy
msgid "Connecting to server"
-msgstr "Conectando ao servidor"
+msgstr "Conectando ao servidor de mapas..."
-#: src/client.cpp:652
+#: src/client.cpp:706
+#, fuzzy
msgid "Logging in"
-msgstr "Efetuando login"
+msgstr "Login"
-#: src/client.cpp:685
+#: src/client.cpp:739
msgid "Entering game world"
-msgstr "Entrando no domínio do jogo"
+msgstr ""
-#: src/client.cpp:741
+#: src/client.cpp:804
+#, fuzzy
msgid "Requesting characters"
-msgstr "Requisitando personagens"
+msgstr "Selecionar personagem"
-#: src/client.cpp:770
+#: src/client.cpp:833
+#, fuzzy
msgid "Connecting to the game server"
-msgstr "Conectando ao servidor do jogo"
-
-#: src/client.cpp:801
-#: src/client.cpp:808
-#: src/client.cpp:942
-#: src/gui/changeemaildialog.cpp:156
-#: src/gui/changepassworddialog.cpp:149
-#: src/gui/charcreatedialog.cpp:177
-#: src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:241
-#: src/gui/unregisterdialog.cpp:133
-#: src/net/ea/charserverhandler.cpp:135
-#: src/net/ea/charserverhandler.cpp:152
-#: src/net/manaserv/charhandler.cpp:161
-#: src/net/manaserv/charhandler.cpp:204
+msgstr "Conectando ao servidor de mapas..."
+
+#: src/client.cpp:843
+#, fuzzy
+msgid "Changing game servers"
+msgstr "Servidor"
+
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
+#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
+#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Erro"
-#: src/client.cpp:817
+#: src/client.cpp:888
msgid "Requesting registration details"
-msgstr "Requisitando detalhes do registro"
+msgstr ""
-#: src/client.cpp:844
+#: src/client.cpp:915
+#, fuzzy
msgid "Password Change"
-msgstr "Mudar senha"
+msgstr "Senha:"
-#: src/client.cpp:845
+#: src/client.cpp:916
msgid "Password changed successfully!"
-msgstr "Senha modificada com sucesso!"
+msgstr ""
-#: src/client.cpp:864
+#: src/client.cpp:935
+#, fuzzy
msgid "Email Change"
-msgstr "Mudar email"
+msgstr "Mudar"
-#: src/client.cpp:865
+#: src/client.cpp:936
+#, fuzzy
msgid "Email changed successfully!"
-msgstr "Email modificado com sucesso!"
+msgstr "Membro foi promovido com sucesso."
-#: src/client.cpp:885
+#: src/client.cpp:956
+#, fuzzy
msgid "Unregister Successful"
-msgstr "Registro cancelado com sucesso"
+msgstr "Cancelar Registro"
-#: src/client.cpp:886
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
-msgstr "Tchau, volte sempre..."
+msgstr ""
-#: src/client.cpp:1009
-#: src/client.cpp:1032
+#: src/client.cpp:1138 src/client.cpp:1161
#, 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."
+msgstr ""
-#: src/client.cpp:1121
-#, c-format
+#: src/client.cpp:1281
+#, fuzzy, c-format
msgid "Invalid update host: %s"
-msgstr "Host de atualização inválido: %s"
+msgstr "Host de atualização inválido: "
-#: src/client.cpp:1155
-#: src/client.cpp:1161
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "Erro ao criar pasta de atualizações!"
-#: src/commandhandler.cpp:127
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Comando desconhecido."
-#: src/commandhandler.cpp:156
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "--Ajuda--"
-#: src/commandhandler.cpp:157
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
-msgstr "/help > Exibe esta ajuda"
+msgstr "/help > Exibe ajuda"
-#: src/commandhandler.cpp:159
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Exibe o nome do mapa"
-#: src/commandhandler.cpp:160
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Exibe o número de usuários online"
-#: src/commandhandler.cpp:161
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Diz alguma coisa sobre você"
-#: src/commandhandler.cpp:163
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Limpa janela atual"
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Envia uma messagem privada a um usuário"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
-msgstr "/whisper > O mesmo que /msg"
+msgstr "/whisper > Messagem Confidêncial"
-#: src/commandhandler.cpp:167
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
-msgstr "/w > O mesmo que /msg"
+msgstr "/w > Abreviação de messagem"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
-msgstr "/query > Abre uma aba de chat com outro usuário"
+msgstr "/query > Fazer um chat com outros usuários"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
-msgstr "/q > O mesmo que /query"
+msgstr "/q > Abreviação de query"
-#: src/commandhandler.cpp:171
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
-msgstr "/ignore > Ignora um jogador"
+msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
-msgstr "/unignore > Deixa de ignorar um jogador"
+msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Exibir todos os canais públicos"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Criar ou entrar em um canal"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:182
+#, fuzzy
msgid "/createparty > Create a new party"
-msgstr "/createparty > Cria um novo grupo"
+msgstr "/create > Cria um novo grupo"
-#: src/commandhandler.cpp:178
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > Convidar um usuário para o grupo"
-#: src/commandhandler.cpp:180
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > Começar a gravar o chat em um arquivo externo"
-#: src/commandhandler.cpp:181
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
-msgstr "/toggle > Determina se <enter> exibe a janela de chat"
+msgstr "/toggle > Determina se <enter> alterna para o log de chat"
-#: src/commandhandler.cpp:182
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
-msgstr "/present > Mostra a lista de jogadores presentes (envia para o log de chat, se estiver gravando)"
+msgstr ""
+"/present > Pegar a lista de jogadores presentes (Enviou log de chat. Se "
+"logando)"
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
-msgstr "/announce > Anúncio Global (Somente GM)"
+msgstr "/announce > Anuciamento Global (Somente GM)"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Para mais informações, digite /help <comando>."
-#: src/commandhandler.cpp:192
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Comando: /help"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Exibe uma lista de todos os comandos disponíveis."
-#: src/commandhandler.cpp:194
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Comando: /help <comando>"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
-msgstr "Exibe o conteúdo de ajuda de <comando>"
+msgstr "Exibe o conteúdo de ajuda de <command>"
-#: src/commandhandler.cpp:203
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Comando: /announce <msg>"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** Disponivel apenas para GM's ***"
-#: src/commandhandler.cpp:205
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "Este comando envia a mensagem <msg> para todos os jogadores online."
-#: src/commandhandler.cpp:210
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Comando: /clear"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
-msgstr "Este comando limpa a janela de chat."
+msgstr "Limpa os logs do chat anterior."
-#: src/commandhandler.cpp:215
+#: src/commandhandler.cpp:224
+#, fuzzy
msgid "Command: /ignore <player>"
-msgstr "Comando: /ignore <jogador>"
+msgstr "Comando> /item <opção>"
-#: src/commandhandler.cpp:216
+#: src/commandhandler.cpp:225
+#, fuzzy
msgid "This command ignores the given player regardless of current relations."
-msgstr "Este comando ignora o jogador indicado, independente de sua relação com o mesmo."
+msgstr "Exibe o número total de jogadores online."
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Comando: /join <canal>"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Este comando faz você entrar em <canal>."
-#: src/commandhandler.cpp:223
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Se o <canal> não existe, ele será criado."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Comando: /list"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Este comando exibe uma lista com todos os canais."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Comando: /me <mensagem>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Este comando diz aos outros o que eu estou (fazendo) <msg>."
-#: src/commandhandler.cpp:237
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Comando: /msg <nick> <mensagem>"
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Comando: /whisper <nick> <mensagem>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Comando: /w <nick> <mensagem>"
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Este comando envia o texto <mensagem> para <nick>."
-#: src/commandhandler.cpp:241
-#: src/commandhandler.cpp:260
-#: src/gui/widgets/channeltab.cpp:82
-#: src/gui/widgets/channeltab.cpp:91
-#: src/net/ea/gui/guildtab.cpp:75
-#: src/net/ea/gui/partytab.cpp:75
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
+#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
+#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
-msgstr "Se <nick> possuir espaços, coloque entre aspas (\")."
+msgstr "Se <nick> possuir espaços, coloque dentro de parenteses (\")."
-#: src/commandhandler.cpp:246
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Comando: /query <nick>"
-#: src/commandhandler.cpp:247
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Comando: /q <nick>"
-#: src/commandhandler.cpp:248
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
-msgstr "Este comando cria uma aba para mensagens privadas entre você e <nick>."
+msgstr ""
+"Este comando cria uma aba para mensagens confidenciais entre você e <nick>."
-#: src/commandhandler.cpp:253
+#: src/commandhandler.cpp:262
+#, fuzzy
msgid "Command: /createparty <name>"
-msgstr "Comando: /createparty <nome>"
+msgstr "Comando: /create <nome-do-grupo>"
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:263
+#, fuzzy
msgid "This command creates a new party called <name>."
-msgstr "Este comando cria um novo grupo chamado <nome>."
+msgstr "Estes comandos criam um novo grupo chamado <nome-do-grupo>."
-#: src/commandhandler.cpp:258
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Comando: /party <nick>"
-#: src/commandhandler.cpp:259
-#: src/net/ea/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
-msgstr "Este comando convida <nick> para o seu grupo."
+msgstr "Convida <nick> para um grupo com você."
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Comando: /present"
-#: src/commandhandler.cpp:266
-msgid "This command gets a list of players within hearing and sends it to either the record log if recording, or the chat log otherwise."
-msgstr "Este comando obtém uma lista dos jogadores ao alcance e a envia para o log de registro do chat ou, caso haja uma gravação em andamento, para o log de gravação."
+#: src/commandhandler.cpp:275
+msgid ""
+"This command gets a list of players within hearing and sends it to either "
+"the record log if recording, or the chat log otherwise."
+msgstr ""
+"Este comando obtém uma lista dos Jogadores ao alcance e a envia para o log "
+"de registro do chat ou, caso haja uma gravação em andamento, para o log de "
+"gravação."
-#: src/commandhandler.cpp:272
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Comando: /record <nome_do_arquivo>"
-#: src/commandhandler.cpp:273
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
-msgstr "Este comando inicia a gravação do registro de chat para o arquivo <nome_do_arquivo>."
+msgstr ""
+"Este comando inicia a gravação do registro de bate-papo para o arquivo "
+"<nome_do_arquivo>."
-#: src/commandhandler.cpp:275
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Comando: /record"
-#: src/commandhandler.cpp:276
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Este comando finaliza a sessão de gravação."
-#: src/commandhandler.cpp:280
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Comando: /toggle <estado>"
-#: src/commandhandler.cpp:281
-msgid "This command sets whether the return key should toggle the chat log, or whether the chat log turns off automatically."
-msgstr "Este comando define se a tecla enter deve alternar para o log do chat ou se o log do chat fica oculto automaticamente."
+#: src/commandhandler.cpp:290
+msgid ""
+"This command sets whether the return key should toggle the chat log, or "
+"whether the chat log turns off automatically."
+msgstr ""
+"Este comando define se a tecla enter deve alternar para o log do chat ou se "
+"o log do chat fica oculto automaticamente."
-#: src/commandhandler.cpp:283
-msgid "<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or \"0\", \"no\", \"false\" to turn the toggle off."
-msgstr "<estado> pode ser \"1\", \"yes\" e \"true\" para ativar ou \"0\", \"no\" e \"false\" para desativar."
+#: src/commandhandler.cpp:292
+msgid ""
+"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
+"\"0\", \"no\", \"false\" to turn the toggle off."
+msgstr ""
+"<estado> pode ser \"1\", \"yes\" e \"true\" para ativar ou \"0\", \"no\" e "
+"\"false\" para desativar."
-#: src/commandhandler.cpp:286
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Comando: /toggle"
-#: src/commandhandler.cpp:287
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
-msgstr "Este comando mostra o status da tecla enter."
+msgstr "Este comando mostra o status do botão alternar."
-#: src/commandhandler.cpp:291
-#: src/gui/widgets/whispertab.cpp:93
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
+#, fuzzy
msgid "Command: /unignore <player>"
-msgstr "Comando: /unignore <jogador>"
+msgstr "Comando> /item <opção>"
-#: src/commandhandler.cpp:292
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
-msgstr "Este comando para de ignorar o jogador indicado se ele estiver sendo ignorado"
+msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Comando: /where"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Mostra o nome do mapa atual."
-#: src/commandhandler.cpp:302
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Comando: /who"
-#: src/commandhandler.cpp:303
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Exibe o número total de jogadores online."
-#: src/commandhandler.cpp:309
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Digite /help para uma lista de todos os comandos."
-#: src/commandhandler.cpp:375
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
-msgstr "Não é possível enviar mensagens privadas vazias!"
+msgstr "Não é possível enviar mensagens particulares vazias!"
-#: src/commandhandler.cpp:383
+#: src/commandhandler.cpp:392
#, c-format
-msgid "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."
+msgid ""
+"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 particular para o nick \"%s\"! Ou "
+"ela já existe ou é você mesmo."
-#: src/commandhandler.cpp:397
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "Solicitando entrada no canal %s."
-#: src/commandhandler.cpp:410
-#: src/net/ea/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "Falta o nome do grupo."
-#: src/commandhandler.cpp:423
-#: src/commandhandler.cpp:471
-#: src/commandhandler.cpp:493
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
-msgstr "Por favor, especifique um nome."
+msgstr ""
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "Enter alterna para o chat."
-#: src/commandhandler.cpp:441
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "A mensagem fecha o chat."
-#: src/commandhandler.cpp:450
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
-msgstr "Agora Enter alterna para o chat."
+msgstr "Agora enter alterna para o chat."
-#: src/commandhandler.cpp:454
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Agora a mensagem fecha o chat."
-#: src/commandhandler.cpp:477
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
+msgid "Show IP: On"
+msgstr ""
+
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
+msgid "Show IP: Off"
+msgstr ""
+
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
-msgstr "O jogador já está sendo ignorado!"
+msgstr ""
-#: src/commandhandler.cpp:484
+#: src/commandhandler.cpp:522
+#, fuzzy
msgid "Player successfully ignored!"
-msgstr "Jogador ignorado com sucesso!"
+msgstr "Grupo criado."
-#: src/commandhandler.cpp:486
+#: src/commandhandler.cpp:524
+#, fuzzy
msgid "Player could not be ignored!"
-msgstr "Não foi possível ignorar o jogador!"
+msgstr "Impossível enviar mensagem privada, você foi ignorado pelo usuário."
-#: src/commandhandler.cpp:501
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
-msgstr "O jogador não estava ignorado!"
+msgstr ""
-#: src/commandhandler.cpp:506
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
-msgstr "O jogador não está mais ignorado!"
+msgstr ""
-#: src/commandhandler.cpp:508
+#: src/commandhandler.cpp:546
+#, fuzzy
msgid "Player could not be unignored!"
-msgstr "Não foi possível deixar de ignorar o jogador!"
+msgstr "Impossível enviar mensagem privada, você foi ignorado pelo usuário."
#: src/commandhandler.h:31
#, 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:172
msgid "General"
msgstr "Geral"
-#: src/game.cpp:326
+#: src/game.cpp:342
+#, fuzzy
msgid "Screenshot saved as "
-msgstr "Screenshot salva como"
+msgstr "Screenshot salvo em ~/"
-#: src/game.cpp:331
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Falha ao salvar screenshot!"
-#: src/game.cpp:355
+#: src/game.cpp:378
+#, fuzzy
msgid "The connection to the server was lost."
-msgstr "A conexão com o servidor caiu."
+msgstr "A conexão com o servidor caiu, o jogo será fechado."
-#: src/game.cpp:360
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Erro de conexão"
-#: src/game.cpp:705
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Ignorando propostas de negócios"
-#: src/game.cpp:712
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Aceitando propostas de negócios"
-#: src/game.cpp:946
+#: src/game.cpp:954
+#, fuzzy
msgid "Could Not Load Map"
-msgstr "Não foi possível carregar o mapa"
+msgstr "Impossível carregar mapa"
-#: src/game.cpp:947
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Erro ao carregar %s"
-#: src/gui/beingpopup.cpp:75
-#, c-format
+#: src/gui/beingpopup.cpp:76
+#, fuzzy, c-format
msgid "Party: %s"
-msgstr "Grupo: %s"
+msgstr "Grupo (%s)"
-#: src/gui/buy.cpp:49
-#: src/gui/buy.cpp:78
-#: src/gui/buysell.cpp:47
+#: src/gui/buy.cpp:49 src/gui/buy.cpp:78 src/gui/buysell.cpp:47
msgid "Buy"
msgstr "Comprar"
-#: src/gui/buy.cpp:69
-#: src/gui/buy.cpp:256
-#: src/gui/sell.cpp:71
-#: src/gui/sell.cpp:276
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Preço: %s / Total: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74
-#: src/gui/itemamount.cpp:99
-#: src/gui/npcdialog.cpp:100
-#: src/gui/sell.cpp:74
-#: src/gui/statuswindow.cpp:404
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
-msgstr "+"
+msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77
-#: src/gui/itemamount.cpp:98
-#: src/gui/npcdialog.cpp:101
-#: src/gui/sell.cpp:75
-#: src/gui/statuswindow.cpp:416
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
-msgstr "-"
-
-#: src/gui/buy.cpp:79
-#: src/gui/quitdialog.cpp:40
-#: src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43
-#: src/gui/sell.cpp:77
-#: src/gui/serverdialog.cpp:152
-#: src/keyboardconfig.cpp:103
+msgstr ""
+
+#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Sair"
-#: src/gui/buy.cpp:80
-#: src/gui/sell.cpp:78
-#: src/gui/statuswindow.cpp:333
-#: src/gui/statuswindow.cpp:403
-#: src/gui/statuswindow.cpp:437
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Máximo"
@@ -565,159 +586,141 @@ msgstr "Máximo"
msgid "Shop"
msgstr "Loja"
-#: src/gui/buysell.cpp:47
-#: src/gui/sell.cpp:49
-#: src/gui/sell.cpp:76
+#: src/gui/buysell.cpp:47 src/gui/sell.cpp:49 src/gui/sell.cpp:76
msgid "Sell"
msgstr "Vender"
-#: src/gui/buysell.cpp:47
-#: src/gui/changeemaildialog.cpp:55
-#: src/gui/changepassworddialog.cpp:58
-#: src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44
-#: src/gui/itemamount.cpp:101
-#: src/gui/npcpostdialog.cpp:57
-#: src/gui/popupmenu.cpp:178
-#: src/gui/popupmenu.cpp:197
-#: src/gui/popupmenu.cpp:402
-#: src/gui/quitdialog.cpp:47
-#: src/gui/register.cpp:74
-#: src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:243
-#: src/gui/textdialog.cpp:39
-#: src/gui/unregisterdialog.cpp:56
-#: src/gui/updatewindow.cpp:144
+#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
+#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
+#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
+#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
+#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Cancelar"
-#: src/gui/changeemaildialog.cpp:45
-#: src/gui/changeemaildialog.cpp:54
+#: src/gui/changeemaildialog.cpp:45 src/gui/changeemaildialog.cpp:54
msgid "Change Email Address"
msgstr "Alterar e-mail"
-#: src/gui/changeemaildialog.cpp:49
-#: src/gui/changepassworddialog.cpp:52
+#: src/gui/changeemaildialog.cpp:49 src/gui/changepassworddialog.cpp:52
#, c-format
msgid "Account: %s"
msgstr "Conta: %s"
#: src/gui/changeemaildialog.cpp:51
+#, fuzzy
msgid "Type new email address twice:"
-msgstr "Digite o novo email duas vezes:"
+msgstr "Digite o novo endereço de email duas vezes:"
#: src/gui/changeemaildialog.cpp:127
-#, c-format
+#, fuzzy, c-format
msgid "The new email address needs to be at least %d characters long."
-msgstr "O novo email deve ter pelo menos %d caracteres."
+msgstr "O nome do usuário precisa ter pelo menos %d caracteres."
#: src/gui/changeemaildialog.cpp:134
-#, c-format
+#, fuzzy, c-format
msgid "The new email address needs to be less than %d characters long."
-msgstr "O novo email deve ter menos que %d caracteres."
+msgstr "O nome do usuário tem que ser inferior a %d caracteres."
#: src/gui/changeemaildialog.cpp:141
+#, fuzzy
msgid "The email address entries mismatch."
-msgstr "Os emails informados não são iguais."
+msgstr "O novo endereço de email já existe."
-#: src/gui/changepassworddialog.cpp:47
-#: src/gui/changepassworddialog.cpp:56
+#: src/gui/changepassworddialog.cpp:47 src/gui/changepassworddialog.cpp:56
#: src/gui/charselectdialog.cpp:128
msgid "Change Password"
msgstr "Alterar senha"
-#: src/gui/changepassworddialog.cpp:61
-#: src/gui/login.cpp:53
-#: src/gui/register.cpp:68
-#: src/gui/unregisterdialog.cpp:53
+#: src/gui/changepassworddialog.cpp:61 src/gui/login.cpp:55
+#: src/gui/register.cpp:68 src/gui/unregisterdialog.cpp:53
msgid "Password:"
msgstr "Senha:"
#: src/gui/changepassworddialog.cpp:63
+#, fuzzy
msgid "Type new password twice:"
msgstr "Digite a nova senha duas vezes:"
#: src/gui/changepassworddialog.cpp:110
msgid "Enter the old password first."
-msgstr "Primeiro entre com a antiga senha."
+msgstr ""
#: src/gui/changepassworddialog.cpp:116
-#, c-format
+#, fuzzy, c-format
msgid "The new password needs to be at least %d characters long."
-msgstr "A nova senha deve ter pelo menos %d caracteres."
+msgstr "A senha deve ter pelo menos %d caracteres."
#: src/gui/changepassworddialog.cpp:123
-#, c-format
+#, fuzzy, c-format
msgid "The new password needs to be less than %d characters long."
-msgstr "A nova senha deve ter menos que %d caracteres."
+msgstr "A senha deve ser menor que %d caracteres."
#: src/gui/changepassworddialog.cpp:130
msgid "The new password entries mismatch."
-msgstr "As novas senhas não são iguais."
+msgstr ""
#: src/gui/charcreatedialog.cpp:53
msgid "Create Character"
msgstr "Criar Personagem"
-#: src/gui/charcreatedialog.cpp:67
-#: src/gui/login.cpp:52
+#: src/gui/charcreatedialog.cpp:67 src/gui/login.cpp:54
#: src/gui/register.cpp:67
msgid "Name:"
msgstr "Nome:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:70
-#: src/gui/charcreatedialog.cpp:75
+#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
-msgstr ">"
+msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
-#: src/gui/charcreatedialog.cpp:73
-#: src/gui/charcreatedialog.cpp:76
+#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
msgid "<"
-msgstr "<"
+msgstr ""
#: src/gui/charcreatedialog.cpp:74
+#, fuzzy
msgid "Hair color:"
msgstr "Cor do Cabelo:"
#: src/gui/charcreatedialog.cpp:77
+#, fuzzy
msgid "Hair style:"
msgstr "Estilo do Cabelo:"
-#: src/gui/charcreatedialog.cpp:78
-#: src/gui/charselectdialog.cpp:397
-#: src/gui/socialwindow.cpp:297
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Criar"
-#: src/gui/charcreatedialog.cpp:80
-#: src/gui/register.cpp:90
+#: src/gui/charcreatedialog.cpp:80 src/gui/register.cpp:90
msgid "Male"
msgstr "Homem"
-#: src/gui/charcreatedialog.cpp:81
-#: src/gui/register.cpp:91
+#: src/gui/charcreatedialog.cpp:81 src/gui/register.cpp:91
msgid "Female"
msgstr "Mulher"
-#: src/gui/charcreatedialog.cpp:99
-#: src/gui/charcreatedialog.cpp:251
+#: src/gui/charcreatedialog.cpp:99 src/gui/charcreatedialog.cpp:251
#, c-format
msgid "Please distribute %d points"
msgstr "Por favor distribua %d pontos"
#: src/gui/charcreatedialog.cpp:178
msgid "Your name needs to be at least 4 characters."
-msgstr "Seu nome deve ter pelo menos 4 caracteres."
+msgstr "Seu nome precisa ter no mínimo 4 caracteres."
#: src/gui/charcreatedialog.cpp:242
msgid "Character stats OK"
-msgstr "Atributos do personagem OK"
+msgstr "Status do personagem OK"
#: src/gui/charcreatedialog.cpp:256
#, c-format
@@ -738,50 +741,49 @@ msgstr "Gerenciamento de Conta e Personagem"
#: src/gui/charselectdialog.cpp:127
msgid "Switch Login"
-msgstr "Trocar Login"
+msgstr ""
-#: src/gui/charselectdialog.cpp:141
-#: src/gui/unregisterdialog.cpp:47
+#: src/gui/charselectdialog.cpp:141 src/gui/unregisterdialog.cpp:47
#: src/gui/unregisterdialog.cpp:55
msgid "Unregister"
msgstr "Cancelar Registro"
#: src/gui/charselectdialog.cpp:150
+#, fuzzy
msgid "Change Email"
-msgstr "Alterar email"
+msgstr "Alterar e-mail"
-#: src/gui/charselectdialog.cpp:335
-#: src/gui/serverdialog.cpp:155
-#: src/gui/setup_players.cpp:230
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Excluir"
-#: src/gui/charselectdialog.cpp:387
+#: src/gui/charselectdialog.cpp:380
+#, fuzzy
msgid "Choose"
-msgstr "Escolher"
+msgstr "Fechar"
-#: src/gui/charselectdialog.cpp:399
-#: src/gui/charselectdialog.cpp:400
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
-msgstr "(vazio)"
+msgstr ""
-#: src/gui/chat.cpp:77
+#: src/gui/chat.cpp:88
msgid "Chat"
-msgstr "Chat"
+msgstr "Bate-papo"
-#: src/gui/chat.cpp:287
-#, c-format
+#: src/gui/chat.cpp:311
+#, fuzzy, c-format
msgid "Present: %s; %d players are present."
-msgstr "Presentes: %s; %d jogadores estão presentes."
+msgstr "%d jogadores estão presentes."
-#: src/gui/chat.cpp:305
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "Presença gravada no registro do log."
-#: src/gui/chat.cpp:469
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
-msgstr "Enviando MP para %s: %s"
+msgstr "Sussurrando para %s: %s"
#: src/gui/confirmdialog.cpp:42
msgid "Yes"
@@ -793,222 +795,226 @@ msgstr "Não"
#: src/gui/debugwindow.cpp:43
msgid "Debug"
-msgstr "Depurador"
+msgstr ""
#: src/gui/debugwindow.cpp:56
#, c-format
msgid "%d FPS (OpenGL)"
-msgstr "%d FPS (OpenGL)"
+msgstr ""
-#: src/gui/debugwindow.cpp:61
-#: src/gui/debugwindow.cpp:64
+#: src/gui/debugwindow.cpp:61 src/gui/debugwindow.cpp:64
#, c-format
msgid "%d FPS"
-msgstr "%d FPS"
+msgstr ""
-#: src/gui/debugwindow.cpp:65
-#: src/gui/debugwindow.cpp:104
-#, c-format
+#: src/gui/debugwindow.cpp:65 src/gui/debugwindow.cpp:104
+#, fuzzy, c-format
msgid "Music: %s"
-msgstr "Música: %s"
+msgstr "Tópico: %s"
-#: src/gui/debugwindow.cpp:66
-#: src/gui/debugwindow.cpp:108
-#, c-format
+#: src/gui/debugwindow.cpp:66 src/gui/debugwindow.cpp:108
+#, fuzzy, c-format
msgid "Map: %s"
-msgstr "Mapa: %s"
+msgstr "Nome: %s"
-#: src/gui/debugwindow.cpp:67
-#: src/gui/debugwindow.cpp:106
-#, c-format
+#: src/gui/debugwindow.cpp:67 src/gui/debugwindow.cpp:106
+#, fuzzy, c-format
msgid "Minimap: %s"
-msgstr "Minimapa: %s"
+msgstr "MiniMapa"
-#: src/gui/debugwindow.cpp:68
-#: src/gui/debugwindow.cpp:99
+#: src/gui/debugwindow.cpp:68 src/gui/debugwindow.cpp:99
#, c-format
msgid "Cursor: (%d, %d)"
-msgstr "Cursor: (%d, %d)"
+msgstr ""
-#: src/gui/debugwindow.cpp:69
-#: src/gui/debugwindow.cpp:111
-#, c-format
+#: src/gui/debugwindow.cpp:69 src/gui/debugwindow.cpp:111
+#, fuzzy, c-format
msgid "Particle count: %d"
-msgstr "Contagem de partículas: %d"
+msgstr "Efeitos de partícula"
#: src/gui/debugwindow.cpp:116
-#, c-format
+#, fuzzy, c-format
msgid "Particle detail: %s"
-msgstr "Detalhe de partículas: %s"
+msgstr "Detalhe de partículas"
#: src/gui/debugwindow.cpp:121
-#, c-format
+#, fuzzy, c-format
msgid "Ambient FX: %s"
-msgstr "Ambiente FX: %s"
+msgstr "Ambiente FX"
-#: src/gui/equipmentwindow.cpp:69
-#: src/gui/windowmenu.cpp:55
+#: src/gui/equipmentwindow.cpp:69 src/gui/windowmenu.cpp:55
msgid "Equipment"
msgstr "Equipamento"
-#: src/gui/equipmentwindow.cpp:87
-#: src/gui/inventorywindow.cpp:78
-#: src/gui/inventorywindow.cpp:80
-#: src/gui/inventorywindow.cpp:291
-#: src/gui/popupmenu.cpp:372
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Desequipar"
-#: src/gui/help.cpp:36
+#: src/gui/help.cpp:37
msgid "Help"
msgstr "Ajuda"
-#: src/gui/help.cpp:50
-#: src/gui/npcdialog.cpp:46
-#: src/gui/storagewindow.cpp:74
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Fechar"
-#: src/gui/inventorywindow.cpp:57
-#: src/gui/windowmenu.cpp:56
+#: src/gui/inventorywindow.cpp:59 src/gui/windowmenu.cpp:56
msgid "Inventory"
-msgstr "Inventário"
+msgstr "Inventório"
+
+#: src/gui/inventorywindow.cpp:59
+msgid "Storage"
+msgstr "Armazenamento"
-#: src/gui/inventorywindow.cpp:73
-#: src/gui/inventorywindow.cpp:75
-#: src/gui/inventorywindow.cpp:293
-#: src/gui/popupmenu.cpp:374
+#: src/gui/inventorywindow.cpp:82
+msgid "Slots:"
+msgstr "Entradas:"
+
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Equipar"
-#: src/gui/inventorywindow.cpp:74
-#: src/gui/inventorywindow.cpp:75
-#: src/gui/inventorywindow.cpp:297
-#: src/gui/popupmenu.cpp:377
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Usar"
-#: src/gui/inventorywindow.cpp:84
-#: src/gui/inventorywindow.cpp:301
-#: src/gui/popupmenu.cpp:380
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
+#, fuzzy
msgid "Drop..."
-msgstr "Descartar..."
+msgstr "Descartar"
-#: src/gui/inventorywindow.cpp:85
-#: src/gui/popupmenu.cpp:386
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Dividir"
-#: src/gui/inventorywindow.cpp:86
-#: src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
-msgstr "Roupas"
-
-#: src/gui/inventorywindow.cpp:97
-#: src/gui/storagewindow.cpp:84
-msgid "Slots:"
-msgstr "Espaços:"
+msgstr ""
-#: src/gui/inventorywindow.cpp:98
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Peso:"
-#: src/gui/inventorywindow.cpp:303
-#: src/gui/popupmenu.cpp:382
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
+msgid "Store"
+msgstr "Guardar"
+
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
+msgid "Retrieve"
+msgstr "Retirar"
+
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Descartar"
-#: src/gui/itemamount.cpp:100
-#: src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46
-#: src/gui/textdialog.cpp:38
-#: src/gui/trade.cpp:73
-#: src/gui/trade.cpp:75
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "OK"
-#: src/gui/itemamount.cpp:102
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Tudo"
-#: src/gui/itemamount.cpp:128
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Selecionar quantidade de itens para negociar."
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Selecionar quantidade de itens para descartar."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
-msgstr "Escolha a quantidade de itens para armazenar."
+msgstr "Escolha a quantidade de itens para guardar."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "Escolha a quantidade de itens para retirar."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Selecionar quantidade de itens para dividir."
-#: src/gui/itempopup.cpp:92
-#, c-format
+#: src/gui/itempopup.cpp:137
+#, fuzzy, c-format
msgid "Weight: %s"
-msgstr "Peso: %s"
+msgstr "Peso: "
-#: src/gui/login.cpp:49
-#: src/gui/login.cpp:61
+#: src/gui/login.cpp:51 src/gui/login.cpp:63
msgid "Login"
msgstr "Login"
-#: src/gui/login.cpp:58
+#: src/gui/login.cpp:60
+#, fuzzy
msgid "Remember username"
-msgstr "Lembrar usuário"
+msgstr "Lembrar nome de usuário"
-#: src/gui/login.cpp:59
-#: src/gui/register.cpp:58
-#: src/gui/register.cpp:73
+#: src/gui/login.cpp:61 src/gui/register.cpp:58 src/gui/register.cpp:73
msgid "Register"
msgstr "Registrar"
-#: src/gui/login.cpp:60
+#: src/gui/login.cpp:62
+#, fuzzy
msgid "Change Server"
-msgstr "Trocar servidor"
+msgstr "Servidor"
+
+#: src/gui/login.cpp:129
+#, fuzzy
+msgid "Registration disabled"
+msgstr "Compartilhamento de itens desabilitado."
+
+#: src/gui/login.cpp:129
+msgid "You need to use the website to register an account for this server."
+msgstr ""
-#: src/gui/minimap.cpp:46
-#: src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Mapa"
-#: src/gui/npcdialog.cpp:44
+#: src/gui/ministatus.cpp:235
+msgid "Need"
+msgstr ""
+
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Aguardando servidor"
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Próximo"
-#: src/gui/npcdialog.cpp:47
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
-msgstr "Enviar"
+msgstr "Confirmar"
-#: src/gui/npcdialog.cpp:52
-#: src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:110
+#: src/gui/npcdialog.cpp:118
+msgid "Clear log"
+msgstr ""
+
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Resetar"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:171
+#: src/gui/npcdialog.cpp:208
+#, fuzzy
msgid ""
"\n"
"> Next\n"
-msgstr ""
-"\n"
-"> Próximo\n"
+msgstr "Próximo"
#: src/gui/npcpostdialog.cpp:47
msgid "To:"
@@ -1018,114 +1024,100 @@ msgstr "Para:"
msgid "Send"
msgstr "Enviar"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "Falha ao enviar como remetente ou a carta é inválida."
-#: src/gui/outfitwindow.cpp:68
-#: src/gui/outfitwindow.cpp:141
+#: src/gui/outfitwindow.cpp:68 src/gui/outfitwindow.cpp:141
#: src/gui/outfitwindow.cpp:154
#, c-format
msgid "Outfit: %d"
-msgstr "Roupas: %d"
+msgstr ""
#: src/gui/outfitwindow.cpp:70
+#, fuzzy
msgid "Unequip first"
-msgstr "Desequipar antes"
+msgstr "Desequipar"
-#: src/gui/popupmenu.cpp:84
-#, c-format
+#: src/gui/popupmenu.cpp:83
+#, fuzzy, c-format
msgid "Trade with %s..."
-msgstr "Negociar com %s..."
+msgstr "Negociando com %s"
-#: src/gui/popupmenu.cpp:88
-#: src/gui/popupmenu.cpp:161
-#, c-format
+#: src/gui/popupmenu.cpp:87 src/gui/popupmenu.cpp:158
+#, fuzzy, c-format
msgid "Attack %s"
-msgstr "Ataque %s"
+msgstr "Ataque %+d"
-#: src/gui/popupmenu.cpp:92
-#, c-format
+#: src/gui/popupmenu.cpp:91
+#, fuzzy, c-format
msgid "Whisper %s"
-msgstr "Mensagem Privada %s"
+msgstr "Sussurrar"
-#: src/gui/popupmenu.cpp:101
-#, c-format
+#: src/gui/popupmenu.cpp:100
+#, fuzzy, c-format
msgid "Befriend %s"
-msgstr "Amizade %s"
+msgstr "@@friend|Fazer amizade com %s@@"
-#: src/gui/popupmenu.cpp:106
-#, c-format
+#: src/gui/popupmenu.cpp:105
+#, fuzzy, c-format
msgid "Disregard %s"
-msgstr "Desprezar %s"
+msgstr "Desconsiderado"
-#: src/gui/popupmenu.cpp:109
-#, c-format
+#: src/gui/popupmenu.cpp:108
+#, fuzzy, c-format
msgid "Ignore %s"
-msgstr "Ignorar %s"
+msgstr "Ignorado"
-#: src/gui/popupmenu.cpp:115
-#: src/gui/popupmenu.cpp:124
+#: src/gui/popupmenu.cpp:114 src/gui/popupmenu.cpp:123
#, c-format
msgid "Unignore %s"
-msgstr "Deixar de Ignorar %s"
+msgstr ""
-#: src/gui/popupmenu.cpp:118
-#, c-format
+#: src/gui/popupmenu.cpp:117
+#, fuzzy, c-format
msgid "Completely ignore %s"
-msgstr "Ignorar completamente %s"
+msgstr "@@ignore|Ignorar completamente %s@@"
#: src/gui/popupmenu.cpp:130
-#, c-format
-msgid "Follow %s"
-msgstr "Seguir %s"
-
-#: src/gui/popupmenu.cpp:133
-#, c-format
+#, fuzzy, c-format
msgid "Invite %s to join your guild"
-msgstr "Convidar %s para a sua guilda"
+msgstr "@@guild|Convidar %s para sua corporação@@"
-#: src/gui/popupmenu.cpp:137
-#, c-format
+#: src/gui/popupmenu.cpp:134
+#, fuzzy, c-format
msgid "Invite %s to join your party"
-msgstr "Convidar %s para o seu grupo"
+msgstr "@@party|Convidar %s para entrar no seu grupo@@"
-#: src/gui/popupmenu.cpp:144
+#: src/gui/popupmenu.cpp:141
+#, fuzzy
msgid "Kick player"
-msgstr "Expulsar jogador"
+msgstr "Erro na expulsão!"
-#: src/gui/popupmenu.cpp:153
-#, c-format
+#: src/gui/popupmenu.cpp:150
+#, fuzzy, c-format
msgid "Talk to %s"
-msgstr "Falar com %s"
+msgstr "@@talk|Falar com %s@@"
-#: src/gui/popupmenu.cpp:166
+#: src/gui/popupmenu.cpp:163
+#, fuzzy
msgid "Kick monster"
-msgstr "Expulsar monstro"
+msgstr "@@admin-kick|Expulsar monstro@@"
-#: src/gui/popupmenu.cpp:174
+#: src/gui/popupmenu.cpp:171
+#, fuzzy
msgid "Add name to chat"
-msgstr "Adicionar nome ao chat"
+msgstr "@@name|Adiciona nome ao chat@@"
-#: src/gui/popupmenu.cpp:191
-#, c-format
+#: src/gui/popupmenu.cpp:188
+#, fuzzy, c-format
msgid "Pick up %s"
-msgstr "Pegar %s"
+msgstr "Pegar"
-#: src/gui/popupmenu.cpp:193
-#: src/gui/popupmenu.cpp:400
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
+#, fuzzy
msgid "Add to chat"
-msgstr "Adicionar ao chat"
-
-#: src/gui/popupmenu.cpp:391
-#: src/gui/storagewindow.cpp:71
-msgid "Store"
-msgstr "Armazenar"
-
-#: src/gui/popupmenu.cpp:398
-#: src/gui/storagewindow.cpp:72
-msgid "Retrieve"
-msgstr "Retirar"
+msgstr "@@chat|Adicionar ao chat@@"
#: src/gui/quitdialog.cpp:44
msgid "Switch server"
@@ -1141,7 +1133,7 @@ msgstr "Finalizando gravação."
#: src/gui/recorder.cpp:91
msgid "Not currently recording."
-msgstr "Não está gravando no momento."
+msgstr "Não há gravação neste momento."
#: src/gui/recorder.cpp:96
msgid "Already recording."
@@ -1181,14 +1173,12 @@ msgstr "O nome do usuário precisa ter pelo menos %d caracteres."
msgid "The username needs to be less than %d characters long."
msgstr "O nome do usuário tem que ser inferior a %d caracteres."
-#: src/gui/register.cpp:182
-#: src/gui/unregisterdialog.cpp:117
+#: src/gui/register.cpp:182 src/gui/unregisterdialog.cpp:117
#, c-format
msgid "The password needs to be at least %d characters long."
msgstr "A senha deve ter pelo menos %d caracteres."
-#: src/gui/register.cpp:190
-#: src/gui/unregisterdialog.cpp:124
+#: src/gui/register.cpp:190 src/gui/unregisterdialog.cpp:124
#, c-format
msgid "The password needs to be less than %d characters long."
msgstr "A senha deve ser menor que %d caracteres."
@@ -1197,47 +1187,64 @@ msgstr "A senha deve ser menor que %d caracteres."
msgid "Passwords do not match."
msgstr "Senhas não conferem."
-#: src/gui/serverdialog.cpp:124
+#: src/gui/serverdialog.cpp:197
+#, fuzzy
msgid "Choose Your Server"
-msgstr "Escolha seu servidor"
+msgstr "Selecione seu servidor"
-#: src/gui/serverdialog.cpp:131
-#: src/gui/widgets/chattab.cpp:139
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Servidor:"
-#: src/gui/serverdialog.cpp:132
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Porta:"
-#: src/gui/serverdialog.cpp:133
+#: src/gui/serverdialog.cpp:208
+#, fuzzy
msgid "Server type:"
-msgstr "Tipo de servidor:"
+msgstr "Servidor:"
-#: src/gui/serverdialog.cpp:153
+#: src/gui/serverdialog.cpp:229
+#, fuzzy
msgid "Connect"
-msgstr "Conectar"
+msgstr "Conectando..."
-#: src/gui/serverdialog.cpp:154
+#: src/gui/serverdialog.cpp:230
+#, fuzzy
msgid "Custom Server"
-msgstr "Servidor customizado"
+msgstr "Cursor customizado"
-#: src/gui/serverdialog.cpp:242
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Por favor especifique o endereço e a porta do servidor."
-#: src/gui/serverdialog.cpp:357
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
-msgstr "Baixando lista de servidores...%2.2f%%"
+msgstr ""
-#: src/gui/serverdialog.cpp:363
+#: src/gui/serverdialog.cpp:447
+#, fuzzy
msgid "Waiting for server..."
-msgstr "Aguardando servidor..."
+msgstr "Aguardando servidor"
-#: src/gui/serverdialog.cpp:367
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
-msgstr "Preparando download"
+msgstr ""
+
+#: src/gui/serverdialog.cpp:455
+msgid "Error retreiving server list!"
+msgstr ""
+
+#: src/gui/serverdialog.cpp:550
+msgid "requires a newer version"
+msgstr ""
+
+#: src/gui/serverdialog.cpp:552
+#, c-format
+msgid "requires v%s"
+msgstr ""
#: src/gui/setup_audio.cpp:42
msgid "Sound"
@@ -1245,7 +1252,7 @@ msgstr "Som"
#: src/gui/setup_audio.cpp:43
msgid "Download music"
-msgstr "Baixar música"
+msgstr ""
#: src/gui/setup_audio.cpp:47
msgid "Audio"
@@ -1260,67 +1267,69 @@ msgid "Music volume"
msgstr "Volume da Música"
#: src/gui/setup_audio.cpp:94
+#, fuzzy
msgid "Notice"
-msgstr "Anúncio"
+msgstr "Sem texto"
#: src/gui/setup_audio.cpp:94
msgid "You may have to restart your client if you want to download new music"
-msgstr "Talvez você precise reiniciar o cliente se você quiser baixar novas músicas"
+msgstr ""
#: src/gui/setup_audio.cpp:106
msgid "Sound Engine"
-msgstr "Mecanismo de som"
+msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "A cor se parece com isso"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Cores"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
+#, fuzzy
msgid "Type:"
-msgstr "Tipo:"
+msgstr "Tipo: "
-#: src/gui/setup_colors.cpp:82
-#: src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Estático"
-#: src/gui/setup_colors.cpp:84
-#: src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Pulso"
-#: src/gui/setup_colors.cpp:86
-#: src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Arco-íris"
-#: src/gui/setup_colors.cpp:88
-#: src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Espectro"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
+#, fuzzy
msgid "Delay:"
-msgstr "Atraso:"
+msgstr "Atraso: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
+#, fuzzy
msgid "Red:"
-msgstr "Vermelho:"
+msgstr "Vermelho: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
+#, fuzzy
msgid "Green:"
-msgstr "Verde:"
+msgstr "Verde: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
+#, fuzzy
msgid "Blue:"
-msgstr "Azul:"
+msgstr "Azul: "
#: src/gui/setup.cpp:51
msgid "Apply"
@@ -1330,13 +1339,11 @@ msgstr "Aplicar"
msgid "Reset Windows"
msgstr "Restaurar janelas"
-#: src/gui/setup_joystick.cpp:37
-#: src/gui/setup_joystick.cpp:78
+#: src/gui/setup_joystick.cpp:37 src/gui/setup_joystick.cpp:78
msgid "Press the button to start calibration"
-msgstr "Aperte o botão para começar a calibrar"
+msgstr "Aperte o botão para começar a calibração"
-#: src/gui/setup_joystick.cpp:38
-#: src/gui/setup_joystick.cpp:76
+#: src/gui/setup_joystick.cpp:38 src/gui/setup_joystick.cpp:76
msgid "Calibrate"
msgstr "Calibrar"
@@ -1365,8 +1372,9 @@ msgid "Assign"
msgstr "Atribuir"
#: src/gui/setup_keyboard.cpp:90
+#, fuzzy
msgid "Unassign"
-msgstr "Retirar"
+msgstr "Atribuir"
#: src/gui/setup_keyboard.cpp:94
msgid "Default"
@@ -1374,574 +1382,594 @@ msgstr "Padrão"
#: src/gui/setup_keyboard.cpp:125
msgid "Key Conflict(s) Detected."
-msgstr "Conflitos de teclas detectado."
+msgstr "Conflitos nas teclas detectado."
-#: src/gui/setup_players.cpp:57
+#: src/gui/setup_players.cpp:58
msgid "Name"
msgstr "Nome"
-#: src/gui/setup_players.cpp:58
+#: src/gui/setup_players.cpp:59
msgid "Relation"
msgstr "Relação"
-#: src/gui/setup_players.cpp:63
+#: src/gui/setup_players.cpp:64
msgid "Neutral"
msgstr "Neutro"
-#: src/gui/setup_players.cpp:64
+#: src/gui/setup_players.cpp:65
msgid "Friend"
msgstr "Amigo"
-#: src/gui/setup_players.cpp:65
+#: src/gui/setup_players.cpp:66
msgid "Disregarded"
msgstr "Desconsiderado"
-#: src/gui/setup_players.cpp:66
+#: src/gui/setup_players.cpp:67
msgid "Ignored"
msgstr "Ignorado"
-#: src/gui/setup_players.cpp:208
-#: src/gui/setup_video.cpp:132
+#: src/gui/setup_players.cpp:206 src/gui/setup_video.cpp:153
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
-msgstr "Permitir negociações"
+msgstr "Permitir trocas"
-#: src/gui/setup_players.cpp:228
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
-msgstr "Permitir mensagens particulares"
+msgstr "Permitir mensagens particular"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
-msgstr "Deixar as mensagens particulares em abas"
+msgstr "Deixar todas as mensagens particulares em abas"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:233
+#, fuzzy
msgid "Show gender"
-msgstr "Mostrar gênero"
+msgstr "Mostrar nome"
-#: src/gui/setup_players.cpp:236
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "Impossibilitado de vender."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Jogadores"
-#: src/gui/setup_players.cpp:261
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
-msgstr "Quando ignorar:"
+msgstr "Quando ignorado:"
-#: src/gui/setup_video.cpp:113
+#: src/gui/setup_video.cpp:134
msgid "Tiny"
msgstr "Minúsculo"
-#: src/gui/setup_video.cpp:114
+#: src/gui/setup_video.cpp:135
msgid "Small"
msgstr "Pequena"
-#: src/gui/setup_video.cpp:115
+#: src/gui/setup_video.cpp:136
msgid "Medium"
msgstr "Média"
-#: src/gui/setup_video.cpp:116
+#: src/gui/setup_video.cpp:137
msgid "Large"
msgstr "Grande"
-#: src/gui/setup_video.cpp:142
+#: src/gui/setup_video.cpp:163
msgid "No text"
msgstr "Sem texto"
-#: src/gui/setup_video.cpp:143
+#: src/gui/setup_video.cpp:164
msgid "Text"
msgstr "Texto"
-#: src/gui/setup_video.cpp:144
+#: src/gui/setup_video.cpp:165
msgid "Bubbles, no names"
msgstr "Bolhas, sem nomes"
-#: src/gui/setup_video.cpp:145
+#: src/gui/setup_video.cpp:166
msgid "Bubbles with names"
msgstr "Bolhas com nomes"
-#: src/gui/setup_video.cpp:157
+#: src/gui/setup_video.cpp:178
msgid "off"
msgstr "desligado"
-#: src/gui/setup_video.cpp:158
-#: src/gui/setup_video.cpp:171
+#: src/gui/setup_video.cpp:179 src/gui/setup_video.cpp:192
msgid "low"
msgstr "baixo"
-#: src/gui/setup_video.cpp:159
-#: src/gui/setup_video.cpp:173
+#: src/gui/setup_video.cpp:180 src/gui/setup_video.cpp:194
msgid "high"
msgstr "alto"
-#: src/gui/setup_video.cpp:172
+#: src/gui/setup_video.cpp:193
msgid "medium"
msgstr "médio"
-#: src/gui/setup_video.cpp:174
+#: src/gui/setup_video.cpp:195
msgid "max"
msgstr "máximo"
-#: src/gui/setup_video.cpp:196
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Tela cheia"
-#: src/gui/setup_video.cpp:197
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:198
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Cursor customizado"
-#: src/gui/setup_video.cpp:200
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Nomes visíveis"
-#: src/gui/setup_video.cpp:202
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Efeitos de partícula"
-#: src/gui/setup_video.cpp:204
+#: src/gui/setup_video.cpp:225
+#, fuzzy
msgid "Show own name"
-msgstr "Mostrar o próprio nome"
+msgstr "Mostrar nome"
+
+#: src/gui/setup_video.cpp:226
+msgid "Log NPC dialogue"
+msgstr ""
-#: src/gui/setup_video.cpp:205
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
-msgstr "Mostrar aviso ao pegar algo"
+msgstr "Mostrar aviso de achado"
-#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:207
+#. TRANSLATORS: Refers to "Show pickup notification"
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "em chat"
-#. TRANSLATORS: Refers to "Show own name"
-#: src/gui/setup_video.cpp:209
+#. TRANSLATORS: Refers to "Show pickup notification"
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "como partícula"
-#: src/gui/setup_video.cpp:214
+#: src/gui/setup_video.cpp:236
+#, fuzzy
msgid "FPS limit:"
msgstr "Limite FPS:"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:247
+msgid "Disable transparency (Low CPU mode)"
+msgstr ""
+
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Vídeo"
-#: src/gui/setup_video.cpp:227
-msgid "Show monster damage"
-msgstr "Mostrar dano"
+#: src/gui/setup_video.cpp:252
+#, fuzzy
+msgid "Show damage"
+msgstr "Mostrar nome"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "Texto sobrescrito"
-#: src/gui/setup_video.cpp:234
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
-msgstr "Opacidade"
+msgstr "Opacidade da GUI"
-#: src/gui/setup_video.cpp:235
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Ambiente FX"
-#: src/gui/setup_video.cpp:236
+#: src/gui/setup_video.cpp:261
+#, fuzzy
msgid "Particle detail"
msgstr "Detalhe de partículas"
-#: src/gui/setup_video.cpp:237
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Tamanho da fonte"
-#: src/gui/setup_video.cpp:251
-#: src/gui/setup_video.cpp:454
-#: src/gui/setup_video.cpp:568
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
+#, fuzzy
msgid "None"
-msgstr "Nenhum"
+msgstr "Não"
-#: src/gui/setup_video.cpp:381
-msgid "Failed to switch to windowed mode and restoration of old mode also failed!"
-msgstr "Falha ao mudar para o modo janela e falha na restauração do modo anterior!"
+#: src/gui/setup_video.cpp:426
+#, fuzzy
+msgid ""
+"Failed to switch to windowed mode and restoration of old mode also failed!"
+msgstr "modo e restauração do antigo modo também falharam!"
-#: src/gui/setup_video.cpp:387
-msgid "Failed to switch to fullscreen mode and restoration of old mode also failed!"
-msgstr "Falha ao mudar para o modo tela cheia e falha na restauração do modo anterior!"
+#: src/gui/setup_video.cpp:432
+#, fuzzy
+msgid ""
+"Failed to switch to fullscreen mode and restoration of old mode also failed!"
+msgstr "modo e restauração do antigo modo também falharam!"
-#: src/gui/setup_video.cpp:398
+#: src/gui/setup_video.cpp:443
+#, fuzzy
msgid "Switching to Full Screen"
-msgstr "Mudando para tela cheia"
+msgstr "Mudando para Tela cheia"
-#: src/gui/setup_video.cpp:399
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "É preciso reiniciar para as mudanças terem efeito."
-#: src/gui/setup_video.cpp:411
+#: src/gui/setup_video.cpp:458
+#, fuzzy
msgid "Changing to OpenGL"
-msgstr "Mudando para OpenGL"
+msgstr "Trocando OpenGL"
+
+#: src/gui/setup_video.cpp:459
+msgid ""
+"Applying change to OpenGL requires restart. In case OpenGL messes up your "
+"game graphics, restart the game with the command line option \"--no-opengl\"."
+msgstr ""
+
+#: src/gui/setup_video.cpp:466
+msgid "Deactivating OpenGL"
+msgstr ""
-#: src/gui/setup_video.cpp:412
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Aplicando mudança a OpenGL requer reiniciar o jogo."
-#: src/gui/setup_video.cpp:486
-#: src/gui/setup_video.cpp:491
+#: src/gui/setup_video.cpp:475
+#, fuzzy
+msgid "Transparency disabled"
+msgstr "Compartilhamento de experiência desabilitado."
+
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
+msgid "You must restart to apply changes."
+msgstr ""
+
+#: src/gui/setup_video.cpp:483
+msgid "Transparency enabled"
+msgstr ""
+
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
+#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Resolução de tela alterada"
-#: src/gui/setup_video.cpp:487
-#: src/gui/setup_video.cpp:492
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Reincie o jogo para que as mudanças surtam efeito."
-#: src/gui/setup_video.cpp:489
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
-msgstr "Algumas janelas podem ser movidas para se adequar à resolução mais baixa."
+msgstr ""
-#: src/gui/setup_video.cpp:522
+#: src/gui/setup_video.cpp:612
+#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Configurações de efeito de partícula modificadas."
-#: src/gui/setup_video.cpp:523
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
-msgstr "As mudanças terão efeito ao mudar de mapa."
+msgstr "As mudanças terão efeito na mudança do mapa."
-#: src/gui/skilldialog.cpp:198
-#: src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Habilidades"
-#: src/gui/skilldialog.cpp:209
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Acima"
-#: src/gui/skilldialog.cpp:263
-#, c-format
+#: src/gui/skilldialog.cpp:269
+#, fuzzy, c-format
msgid "Skill points available: %d"
-msgstr "Pontos de habilidade disponíveis: %d"
+msgstr "Pontos de habilidade: %d"
-#: src/gui/skilldialog.cpp:315
-#, c-format
+#: src/gui/skilldialog.cpp:351
+#, fuzzy, c-format
msgid "Skill Set %d"
-msgstr "Habilidade %d"
+msgstr "Pontos de habilidade: %d"
-#: src/gui/skilldialog.cpp:324
-#, c-format
+#: src/gui/skilldialog.cpp:360
+#, fuzzy, c-format
msgid "Skill %d"
-msgstr "Habilidade %d"
+msgstr "Habilidades"
-#: src/gui/skilldialog.cpp:406
-#, c-format
+#: src/gui/skilldialog.cpp:442
+#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
-msgstr "Nível: %d (%+d)"
+msgstr "Nível: %d"
-#: src/gui/skilldialog.cpp:417
-#, c-format
+#: src/gui/skilldialog.cpp:453
+#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Nível: %d"
-#: src/gui/socialwindow.cpp:118
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
-msgstr "Convidou o jogador %s para a guilda %s."
+msgstr ""
-#: src/gui/socialwindow.cpp:127
-#, c-format
+#: src/gui/socialwindow.cpp:139
+#, fuzzy, c-format
msgid "Guild %s quit requested."
-msgstr "Saída da Guilda %s requisitada."
+msgstr "Corporação criada."
-#: src/gui/socialwindow.cpp:137
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
-msgstr "Convite de membros para a Guilda."
+msgstr ""
-#: src/gui/socialwindow.cpp:138
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
-msgstr "Quem você gostaria de convidar para a guilda %s?"
+msgstr ""
-#: src/gui/socialwindow.cpp:147
+#: src/gui/socialwindow.cpp:163
+#, fuzzy
msgid "Leave Guild?"
-msgstr "Sair da guilda?"
+msgstr "Criar corporação"
-#: src/gui/socialwindow.cpp:148
-#, c-format
+#: src/gui/socialwindow.cpp:164
+#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
-msgstr "Tem certeza que deseja sair da guilda %s?"
+msgstr "Tem certeza que deseja sair?"
-#: src/gui/socialwindow.cpp:183
-#, c-format
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
msgid "Invited user %s to party."
-msgstr "Convidou usuário %s para o grupo."
+msgstr "/party > Convidar um usuário para o grupo"
-#: src/gui/socialwindow.cpp:190
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
-msgstr "Saída do grupo %s requisitada."
+msgstr ""
-#: src/gui/socialwindow.cpp:200
+#: src/gui/socialwindow.cpp:232
+#, fuzzy
msgid "Member Invite to Party"
-msgstr "Convite de membros para o grupo"
+msgstr "/party > Convidar um usuário para o grupo"
-#: src/gui/socialwindow.cpp:201
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
-msgstr "Quem você gostaria de convidar para o grupo %s?"
+msgstr ""
-#: src/gui/socialwindow.cpp:210
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
-msgstr "Sair do grupo?"
+msgstr ""
-#: src/gui/socialwindow.cpp:211
-#, c-format
+#: src/gui/socialwindow.cpp:243
+#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
-msgstr "Tem certeza que deseja sair do grupo %s?"
+msgstr "Tem certeza que deseja sair?"
-#: src/gui/socialwindow.cpp:240
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
-msgstr "Criar guilda"
+msgstr "Criar corporação"
-#: src/gui/socialwindow.cpp:241
-#: src/gui/socialwindow.cpp:565
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
+#, fuzzy
msgid "Create Party"
-msgstr "Criar grupo"
+msgstr "Criar Personagem"
-#: src/gui/socialwindow.cpp:280
-#: src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
-msgstr "Social"
+msgstr ""
-#: src/gui/socialwindow.cpp:298
+#: src/gui/socialwindow.cpp:330
+#, fuzzy
msgid "Invite"
-msgstr "Convidar"
+msgstr "Convidar Usuário"
-#: src/gui/socialwindow.cpp:299
+#: src/gui/socialwindow.cpp:331
+#, fuzzy
msgid "Leave"
-msgstr "Sair"
+msgstr "Grande"
-#: src/gui/socialwindow.cpp:395
-#, c-format
+#: src/gui/socialwindow.cpp:443
+#, fuzzy, c-format
msgid "Accepted party invite from %s."
-msgstr "Aceitou convite para o grupo de %s."
+msgstr "Convite de %s aceito."
-#: src/gui/socialwindow.cpp:401
-#, c-format
+#: src/gui/socialwindow.cpp:449
+#, fuzzy, c-format
msgid "Rejected party invite from %s."
-msgstr "Rejeitou convite para o grupo de %s."
+msgstr "Convite de %s rejeitado."
-#: src/gui/socialwindow.cpp:414
-#, c-format
+#: src/gui/socialwindow.cpp:462
+#, fuzzy, c-format
msgid "Accepted guild invite from %s."
-msgstr "Aceitou convite para a guilda de %s."
+msgstr "Convite de %s aceito."
-#: src/gui/socialwindow.cpp:420
-#, c-format
+#: src/gui/socialwindow.cpp:468
+#, fuzzy, c-format
msgid "Rejected guild invite from %s."
-msgstr "Rejeitou convite para a guilda de %s."
+msgstr "Convite de %s rejeitado."
-#: src/gui/socialwindow.cpp:464
-#, c-format
+#: src/gui/socialwindow.cpp:497
+msgid "Creating guild failed, please choose a shorter name."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:504
+#, fuzzy, c-format
msgid "Creating guild called %s."
-msgstr "Criando guilda chamada %s."
+msgstr "Erro ao criar corporação."
+
+#: src/gui/socialwindow.cpp:520
+msgid "Creating party failed, please choose a shorter name."
+msgstr ""
-#: src/gui/socialwindow.cpp:478
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
-msgstr "Criando grupo chamado %s."
+msgstr ""
-#: src/gui/socialwindow.cpp:485
+#: src/gui/socialwindow.cpp:541
+#, fuzzy
msgid "Guild Name"
-msgstr "Nome da guilda"
+msgstr "Corporação"
-#: src/gui/socialwindow.cpp:486
+#: src/gui/socialwindow.cpp:542
+#, fuzzy
msgid "Choose your guild's name."
-msgstr "Escolha o nome da sua guilda."
+msgstr "Selecione seu servidor"
-#: src/gui/socialwindow.cpp:498
+#: src/gui/socialwindow.cpp:554
+#, fuzzy
msgid "Received guild request, but one already exists."
-msgstr "Requisição de guilda recebida, mas já existe uma."
+msgstr "Requisição de grupo recebida, mas já existe um."
-#: src/gui/socialwindow.cpp:503
-#, c-format
+#: src/gui/socialwindow.cpp:559
+#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
-msgstr "%s te convidou para entrar na guilda %s."
+msgstr "%s te convidou para entrar no grupo %s."
-#: src/gui/socialwindow.cpp:508
+#: src/gui/socialwindow.cpp:564
+#, fuzzy
msgid "Accept Guild Invite"
-msgstr "Aceitar convite para a guilda"
+msgstr "Aceitar convite para o grupo"
-#: src/gui/socialwindow.cpp:520
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Requisição de grupo recebida, mas já existe um."
-#: src/gui/socialwindow.cpp:530
+#: src/gui/socialwindow.cpp:585
+#, fuzzy
msgid "You have been invited you to join a party."
-msgstr "Você foi convidado para entrar em um grupo."
+msgstr "%s te convidou para entrar em seu grupo."
-#: src/gui/socialwindow.cpp:534
-#, c-format
+#: src/gui/socialwindow.cpp:589
+#, fuzzy, c-format
msgid "You have been invited to join the %s party."
-msgstr "Você foi convidado para entrar no grupo %s."
+msgstr "%s te convidou para entrar no grupo %s."
-#: src/gui/socialwindow.cpp:542
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s te convidou para entrar em seu grupo."
-#: src/gui/socialwindow.cpp:547
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s te convidou para entrar no grupo %s."
-#: src/gui/socialwindow.cpp:555
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Aceitar convite para o grupo"
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
-msgstr "Não foi possível criar o grupo. Você já faz parte de um."
+msgstr ""
-#: src/gui/socialwindow.cpp:571
+#: src/gui/socialwindow.cpp:626
+#, fuzzy
msgid "Party Name"
-msgstr "Nome do grupo"
+msgstr "Grupo"
-#: src/gui/socialwindow.cpp:572
+#: src/gui/socialwindow.cpp:627
+#, fuzzy
msgid "Choose your party's name."
-msgstr "Escolha o nome do seu grupo."
+msgstr "Selecione seu servidor"
-#: src/gui/specialswindow.cpp:85
-#: src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
-msgstr "Especiais"
-
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr "Especiais %d"
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr "Especial %d"
+msgstr ""
-#: src/gui/statuswindow.cpp:100
-#: src/gui/statuswindow.cpp:247
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Nível: %d"
-#: src/gui/statuswindow.cpp:101
-#: src/gui/statuswindow.cpp:211
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Dinheiro: %s"
-#: src/gui/statuswindow.cpp:104
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:109
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:114
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:132
-#: src/gui/statuswindow.cpp:219
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "Trabalho: %d"
-#: src/gui/statuswindow.cpp:133
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "Trabalho:"
-#: src/gui/statuswindow.cpp:194
-msgid "HP"
-msgstr "HP"
-
-#: src/gui/statuswindow.cpp:200
-msgid "MP"
-msgstr "MP"
-
-#: src/gui/statuswindow.cpp:206
-msgid "Exp"
-msgstr "Exp"
-
-#: src/gui/statuswindow.cpp:215
-msgid "Money"
-msgstr "Dinheiro"
-
-#: src/gui/statuswindow.cpp:225
-msgid "Job"
-msgstr "Trabalho"
-
-#: src/gui/statuswindow.cpp:229
-#, c-format
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
+#, fuzzy, c-format
msgid "Character points: %d"
-msgstr "Pontos do personagem: %d"
+msgstr "Status do personagem OK"
-#: src/gui/statuswindow.cpp:235
-#, c-format
+#: src/gui/statuswindow.cpp:255
+#, fuzzy, c-format
msgid "Correction points: %d"
-msgstr "Pontos de correção: %d"
+msgstr "Pontos de habilidade: %d"
-#: src/gui/statuswindow.cpp:251
-msgid "Level"
-msgstr "Nível"
-
-#: src/gui/storagewindow.cpp:59
-msgid "Storage"
-msgstr "Armazenamento"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Propor negócio"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Confirmado. Aguardando..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Aceitar negociação"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
-msgstr "Aceitou. Aguarde..."
+msgstr "Aceita. Aguarde..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "Negócio: você"
-#: src/gui/trade.cpp:74
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Negócio"
-#: src/gui/trade.cpp:77
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Adicionar"
-#: src/gui/trade.cpp:99
-#: src/gui/trade.cpp:135
-#, c-format
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
+#, fuzzy, c-format
msgid "You get %s"
-msgstr "Você pegou %s"
+msgstr "Você obteve %s"
-#: src/gui/trade.cpp:100
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Você dá:"
-#: src/gui/trade.cpp:104
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Mudar"
-#: src/gui/trade.cpp:275
+#: src/gui/trade.cpp:262
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."
+msgstr ""
+"Falha ao adicionar item. Você não pode duplicar um tipo de item na janela."
-#: src/gui/trade.cpp:318
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Você não tem dinheiro suficiente."
@@ -1962,21 +1990,22 @@ msgstr "Conectando..."
msgid "Play"
msgstr "Jogar"
-#: src/gui/updatewindow.cpp:405
+#: src/gui/updatewindow.cpp:417
msgid "##1 The update process is incomplete."
msgstr "##1 O processo de update está incompleto."
#. TRANSLATORS: Continues "you try again later.".
-#: src/gui/updatewindow.cpp:407
+#: src/gui/updatewindow.cpp:419
msgid "##1 It is strongly recommended that"
msgstr "##1 É altamente recomendado que"
#. TRANSLATORS: Begins "It is strongly recommended that".
-#: src/gui/updatewindow.cpp:409
+#: src/gui/updatewindow.cpp:421
+#, fuzzy
msgid "##1 you try again later."
-msgstr "##1 você tente novamente mais tarde."
+msgstr "##1 você tente novamente mais tarde"
-#: src/gui/updatewindow.cpp:501
+#: src/gui/updatewindow.cpp:515
msgid "Completed"
msgstr "Concluído"
@@ -2038,7 +2067,8 @@ msgstr "Tornar <nick> operador do canal."
#: src/gui/widgets/channeltab.cpp:84
msgid "Channel operators can kick and op other users from the channel."
-msgstr "Operadores de canal podem expulsar e dar op a outros usuários do canal."
+msgstr ""
+"Operadores de canal podem expulsar e dar op a outros usuários do canal."
#: src/gui/widgets/channeltab.cpp:89
msgid "Command: /kick <nick>"
@@ -2056,55 +2086,60 @@ msgstr "É preciso um usuário para dar op!"
msgid "Need a user to kick!"
msgstr "É preciso um usuário para expulsar!"
-#: src/gui/widgets/chattab.cpp:118
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Anúncio geral:"
-#: src/gui/widgets/chattab.cpp:124
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Anúncio geral de %s:"
-#: src/gui/widgets/chattab.cpp:150
-#, c-format
+#: src/gui/widgets/chattab.cpp:153
+#, fuzzy, c-format
msgid "%s whispers: %s"
-msgstr "%s envia mensagem privada: %s"
+msgstr "%s envia a mensagem privada: "
-#: src/gui/widgets/whispertab.cpp:51
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Não é possível enviar chat vazio!"
-#: src/gui/widgets/whispertab.cpp:70
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
-msgstr "/ignore > Ignora o outro jogador"
+msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
-msgstr "/unignore > Para de ignorar o outro jogador"
+msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Fecha a aba de mensagem privada"
-#: src/gui/widgets/whispertab.cpp:82
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Comando: /close"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Este comando fecha a atual aba de mensagem privada"
-#: src/gui/widgets/whispertab.cpp:87
+#: src/gui/widgets/whispertab.cpp:89
+#, fuzzy
msgid "Command: /ignore"
-msgstr "Comando: /ignore"
+msgstr "Comando: /item"
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:90
+#, fuzzy
msgid "This command ignores the other player regardless of current relations."
-msgstr "Este comando ignora o outro jogador."
+msgstr "Exibe o número total de jogadores online."
-#: src/gui/widgets/whispertab.cpp:94
+#: src/gui/widgets/whispertab.cpp:96
+#, fuzzy
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."
+msgstr ""
+"Este comando inicia a gravação do registro de bate-papo para o arquivo "
+"<nome_do_arquivo>."
#: src/gui/windowmenu.cpp:54
msgid "Status"
@@ -2115,775 +2150,1149 @@ msgid "Shortcut"
msgstr "Atalho"
#: src/gui/worldselectdialog.cpp:71
+#, fuzzy
msgid "Select World"
-msgstr "Selecionar Mundo"
+msgstr "Selecionar OK"
#: src/gui/worldselectdialog.cpp:76
+#, fuzzy
msgid "Change Login"
-msgstr "Trocar Login"
+msgstr "Mudar"
#: src/gui/worldselectdialog.cpp:77
+#, fuzzy
msgid "Choose World"
-msgstr "Escolher Mundo"
+msgstr "Selecione seu servidor"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Mover para Cima"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Mover para Baixo"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Esquerda"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Direita"
-#: src/keyboardconfig.cpp:44
-#: src/net/ea/generalhandler.cpp:223
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Atacar"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Selecionar & Atacar"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "Emoticon"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Falar"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Parar ataque"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
+#, fuzzy
msgid "Target Monster"
-msgstr "Selecionar Monstro"
+msgstr "Selecionar o mais próximo"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "Selecionar NPC"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Selecionar Jogador"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "Pegar"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Esconder janelas"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Sentar"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Screenshot"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Habilitar/Desabilitar Negociações"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "Encontrar rota para o mouse"
-#: src/keyboardconfig.cpp:58
-#: src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60
-#: src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62
-#: src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64
-#: src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66
-#: src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68
-#: src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "Atalho para Ãtem %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Janela de Ajuda"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Janela de Status"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Janela de inventário"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Janela de equipamento"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Janela de Habilidade"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Janela de Minimapa"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
-msgstr "Janela de chat"
+msgstr "Janela de bate-papo"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Janela de atalhos para itens"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Janela de Configurações"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Janela de depuração"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
+#, fuzzy
msgid "Social Window"
-msgstr "Janela social"
+msgstr "Janela de Habilidade"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "Janela de atalho para Emoticons"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
+#, fuzzy
msgid "Outfits Window"
-msgstr "Janela de roupas"
+msgstr "Janela de Status"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
-msgstr "Vestir roupas"
+msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
-msgstr "Copiar roupas"
-
-#: src/keyboardconfig.cpp:85
-#: src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87
-#: src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89
-#: src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91
-#: src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93
-#: src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95
-#: src/keyboardconfig.cpp:96
+msgstr ""
+
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "Atalho para Emoticon %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "Alternar para chat"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
-msgstr "Rolar chat para cima"
+msgstr "Rolar janela de chat para cima"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
-msgstr "Rolar chat para baixo"
+msgstr "Rolar janela de chat para baixo"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "Aba de chat anterior"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Próxima aba de chat"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "Selecionar OK"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "Ignorar input 1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "Ignorar input 2"
-#: src/keyboardconfig.cpp:184
-#, c-format
-msgid "Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in strange behaviour."
-msgstr "Conflito com as teclas \"%s\" e \"%s\" . Resolva o conflito para não comprometer a jogabilidade."
+#: src/keyboardconfig.cpp:183
+#, fuzzy, c-format
+msgid ""
+"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
+"strange behaviour."
+msgstr "Corrija-os, ou o jogo irá se comportar de forma estranha."
-#: src/localplayer.cpp:914
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "Impossível pegar ítem."
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:923
-#, c-format
+#: src/localplayer.cpp:994
+#, fuzzy, 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@@]."
+msgstr[0] "Você pegou %s [@@%d|%s@@]."
+msgstr[1] "Você pegou %s [@@%d|%s@@]."
-#: src/main.cpp:43
+#: src/main.cpp:42
msgid "mana [options] [mana-file]"
-msgstr "mana [opções] [arquivo-mana]"
+msgstr ""
+
+#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Opções:"
-#: src/main.cpp:45
+#: src/main.cpp:48
+#, fuzzy
msgid " -v --version : Display the version"
-msgstr " -v --version : Exibe a versão"
+msgstr " -v --version : Exibe a versão"
-#: src/main.cpp:46
+#: src/main.cpp:49
+#, fuzzy
msgid " -h --help : Display this help"
-msgstr " -h --help : Exibe esta ajuda"
+msgstr " -h --help : Exibe esta ajuda"
-#: src/main.cpp:47
+#: src/main.cpp:50
+#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
-msgstr " -C --config-dir : Diretório de configuração a ser usado"
+msgstr " -C --config-file : Arquivo de configuração a ser usado"
-#: src/main.cpp:48
+#: src/main.cpp:51
+#, fuzzy
msgid " -U --username : Login with this username"
-msgstr " -U --username : Efetua login com este usuário"
+msgstr " -U --username : Efetua login com este usuário"
-#: src/main.cpp:49
+#: src/main.cpp:52
+#, fuzzy
msgid " -P --password : Login with this password"
-msgstr " -P --password :Efetua login com esta senha"
+msgstr " -P --password : Efetua login com esta senha"
-#: src/main.cpp:50
+#: src/main.cpp:53
+#, fuzzy
msgid " -c --character : Login with this character"
-msgstr " -c --character :Efetua login com este personagem"
+msgstr " -c --character : Efetua login com este personagem"
-#: src/main.cpp:51
+#: src/main.cpp:54
+#, fuzzy
msgid " -s --server : Login server name or IP"
-msgstr " -s --server : Nome ou IP do servidor de login"
+msgstr " -s --server : Nome ou IP do servidor de login"
-#: src/main.cpp:52
+#: src/main.cpp:55
+#, fuzzy
msgid " -p --port : Login server port"
-msgstr " -p --port : Porta do servidor de login"
+msgstr " -p --port : Porta do servidor de login"
-#: src/main.cpp:53
+#: src/main.cpp:56
+#, fuzzy
msgid " --update-host : Use this update host"
-msgstr " --update-host : Usa este host de update"
+msgstr " -H --update-host : Usa este host de update"
-#: src/main.cpp:54
+#: src/main.cpp:57
+#, fuzzy
msgid " -D --default : Choose default character server and character"
-msgstr " -D --default : Escolhe um personagem e um servidor de personagem padrão"
+msgstr ""
+" -D --default : Escolhe um personagem e um servidor de personagem padrão"
-#: src/main.cpp:56
+#: src/main.cpp:59
+#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
-msgstr " -u --skip-update : Não faz downloads de atualização"
+msgstr " -u --skip-update : Não faz downloads de atualização"
-#: src/main.cpp:57
+#: src/main.cpp:60
+#, fuzzy
msgid " -d --data : Directory to load game data from"
-msgstr " -d --data : Pasta de onde os dados do jogo vão ser carregados"
+msgstr " -d --data : Pasta de onde os dados do jogo vão ser carregados"
+
+#: src/main.cpp:61
+#, fuzzy
+msgid " --localdata-dir : Directory to use as local data directory"
+msgstr " -S --home-dir : Diretório a ser usado como pasta inicial"
-#: src/main.cpp:58
-msgid " -L --localdata-dir : Directory to use as local data directory"
-msgstr " -L --localdata-dir : Diretório a ser usado como pasta de dados local"
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : Arquivo de configuração a ser usado"
-#: src/main.cpp:59
+#: src/main.cpp:63
+#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
-msgstr " --screenshot-dir : Diretório onde serão salvas as screenshots"
+msgstr " -S --home-dir : Diretório a ser usado como pasta inicial"
-#: src/main.cpp:61
+#: src/main.cpp:65
+#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
-msgstr " --no-opengl : Desabilita OpenGL nesta sessão"
+msgstr " -O --no-opengl : Desabilita OpenGL nesta sessão"
+
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
+msgid "You are dead."
+msgstr "Você está morto."
+
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
+msgid "We regret to inform you that your character was killed in battle."
+msgstr "Lamentamos informar que seu personagem foi morto em combate."
+
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
+msgid "You are not that alive anymore."
+msgstr "Você não está mais tão vivo."
+
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
+msgid "The cold hands of the grim reaper are grabbing for your soul."
+msgstr "As mãos frias da morte estão levando sua alma."
+
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
+msgid "Game Over!"
+msgstr "Fim de jogo!"
+
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
+msgid ""
+"No, kids. Your character did not really die. It... err... went to a better "
+"place."
+msgstr ""
+"Não, crianças. Seu personagem não morreu de verdade. Ele... err... foi para "
+"um lugar melhor."
+
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
+msgid ""
+"Your plan of breaking your enemies weapon by bashing it with your throat "
+"failed."
+msgstr ""
+"Seu plano de quebrar as armas de seus inimigos com o seu pescoço não deu "
+"certo."
+
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
+msgid "I guess this did not run too well."
+msgstr "Eu acho que isso não funcionou muito bem."
+
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
+msgid "Do you want your possessions identified?"
+msgstr "Você quer uma identificação de suas posses?"
+
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
+msgid "Sadly, no trace of you was ever found..."
+msgstr "Infelizmente, seus traços nunca foram encontrados..."
+
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
+msgid "Annihilated."
+msgstr "Aniquilado."
+
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
+msgid "Looks like you got your head handed to you."
+msgstr "Parece que te ofereceram sua própria cabeça."
-#: src/net/ea/adminhandler.cpp:63
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
+msgid ""
+"You screwed up again, dump your body down the tubes and get you another one."
+msgstr "Você estragou tudo de novo, jogue fora seu corpo e arranje outro."
+
+#: src/net/manaserv/beinghandler.cpp:323
+#, fuzzy
+msgid "Press OK to respawn."
+msgstr " Clique em OK para repopular."
+
+#: src/net/manaserv/beinghandler.cpp:324
+#, fuzzy
+msgid "You Died"
+msgstr "Você morreu"
+
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
+#, fuzzy
+msgid "Not logged in."
+msgstr "Já está conectado"
+
+#: src/net/manaserv/charhandler.cpp:141
+msgid "No empty slot."
+msgstr ""
+
+#: src/net/manaserv/charhandler.cpp:144
+msgid "Invalid name."
+msgstr ""
+
+#: src/net/manaserv/charhandler.cpp:147
+#, fuzzy
+msgid "Character's name already exists."
+msgstr "Nome de usuário já existe"
+
+#: src/net/manaserv/charhandler.cpp:150
+msgid "Invalid hairstyle."
+msgstr ""
+
+#: src/net/manaserv/charhandler.cpp:153
+msgid "Invalid hair color."
+msgstr ""
+
+#: src/net/manaserv/charhandler.cpp:156
+msgid "Invalid gender."
+msgstr ""
+
+#: src/net/manaserv/charhandler.cpp:159
+#, fuzzy
+msgid "Character's stats are too high."
+msgstr "Status do personagem OK"
+
+#: src/net/manaserv/charhandler.cpp:162
+#, fuzzy
+msgid "Character's stats are too low."
+msgstr "Status do personagem OK"
+
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
+msgstr ""
+
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
+#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
+#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
+#, fuzzy
+msgid "Unknown error."
+msgstr "Erro desconhecido"
+
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
+msgid "Info"
+msgstr "Informações"
+
+#: src/net/manaserv/charhandler.cpp:200
+#, fuzzy
+msgid "Player deleted."
+msgstr "Personagem deletado."
+
+#: src/net/manaserv/charhandler.cpp:212
+#, fuzzy
+msgid "Selection out of range."
+msgstr "Selecionar quantidade de itens para negociar."
+
+#: src/net/manaserv/charhandler.cpp:215
+#, fuzzy, c-format
+msgid "Unknown error (%d)."
+msgstr "Erro desconhecido"
+
+#: src/net/manaserv/charhandler.cpp:250
+msgid "No gameservers are available."
+msgstr "Não há gameservers disponíveis."
+
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
+#, c-format
+msgid "Topic: %s"
+msgstr "Tópico: %s"
+
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
+#, fuzzy
+msgid "Players in this channel:"
+msgstr "Jogador acerta monstro"
+
+#: src/net/manaserv/chathandler.cpp:208
+#, fuzzy
+msgid "Error joining channel."
+msgstr "Comando: /join <canal>"
+
+#: src/net/manaserv/chathandler.cpp:214
+#, fuzzy
+msgid "Listing channels."
+msgstr "Solicitando entrada no canal %s."
+
+#: src/net/manaserv/chathandler.cpp:226
+msgid "End of channel list."
+msgstr ""
+
+#: src/net/manaserv/chathandler.cpp:303
+#, fuzzy, c-format
+msgid "%s entered the channel."
+msgstr "%s entrou para o grupo."
+
+#: src/net/manaserv/chathandler.cpp:308
+#, c-format
+msgid "%s left the channel."
+msgstr ""
+
+#: src/net/manaserv/chathandler.cpp:324
+#, c-format
+msgid "%s has set mode %s on user %s."
+msgstr ""
+
+#: src/net/manaserv/chathandler.cpp:334
+#, c-format
+msgid "%s has kicked %s."
+msgstr ""
+
+#: src/net/manaserv/chathandler.cpp:339
+#, fuzzy
+msgid "Unknown channel event."
+msgstr "Comando desconhecido."
+
+#: src/net/manaserv/guildhandler.cpp:82
+msgid "Guild created."
+msgstr "Corporação criada."
+
+#: src/net/manaserv/guildhandler.cpp:87
+msgid "Error creating guild."
+msgstr "Erro ao criar corporação."
+
+#: src/net/manaserv/guildhandler.cpp:97
+msgid "Invite sent."
+msgstr "Convite enviado."
+
+#: src/net/manaserv/guildhandler.cpp:204
+msgid "Member was promoted successfully."
+msgstr "Membro foi promovido com sucesso."
+
+#: src/net/manaserv/guildhandler.cpp:209
+msgid "Failed to promote member."
+msgstr "Erro ao promover do membro."
+
+#: src/net/manaserv/loginhandler.cpp:87
+#, fuzzy
+msgid "Wrong magic_token."
+msgstr "Simbolo-mágico errado."
+
+#: src/net/manaserv/loginhandler.cpp:90 src/net/manaserv/loginhandler.cpp:269
+#, fuzzy
+msgid "Already logged in."
+msgstr "Já está conectado"
+
+#: src/net/manaserv/loginhandler.cpp:93
+#, fuzzy
+msgid "Account banned."
+msgstr "A conta expirou"
+
+#: src/net/manaserv/loginhandler.cpp:118
+#, fuzzy
+msgid "New password incorrect."
+msgstr "Nova senha incorreta"
+
+#: src/net/manaserv/loginhandler.cpp:121 src/net/tmwa/loginhandler.cpp:89
+#, fuzzy
+msgid "Old password incorrect."
+msgstr "Senha antiga incorreta"
+
+#: src/net/manaserv/loginhandler.cpp:124 src/net/manaserv/loginhandler.cpp:155
+msgid "Account not connected. Please login first."
+msgstr "Conta não conectada. Por favor, efetue o login primeiro."
+
+#: src/net/manaserv/loginhandler.cpp:149
+#, fuzzy
+msgid "New email address incorrect."
+msgstr "Novo endereço de email incorreto"
+
+#: src/net/manaserv/loginhandler.cpp:152
+#, fuzzy
+msgid "Old email address incorrect."
+msgstr "Antigo endereço de email incorreto"
+
+#: src/net/manaserv/loginhandler.cpp:158
+#, fuzzy
+msgid "The new email address already exists."
+msgstr "O novo endereço de email já existe."
+
+#: src/net/manaserv/loginhandler.cpp:239
+msgid ""
+"Client registration is not allowed. Please contact server administration."
+msgstr ""
+
+#: src/net/manaserv/loginhandler.cpp:263 src/net/manaserv/loginhandler.cpp:300
+#, fuzzy
+msgid "Client version is too old."
+msgstr "Versão do cliente é muito antiga"
+
+#: src/net/manaserv/loginhandler.cpp:266
+#, fuzzy
+msgid "Wrong username or password."
+msgstr "Nome de usuário ou senha inválido"
+
+#: src/net/manaserv/loginhandler.cpp:272
+#, fuzzy
+msgid "Account banned"
+msgstr "A conta expirou"
+
+#: src/net/manaserv/loginhandler.cpp:275
+msgid "Login attempt too soon after previous attempt."
+msgstr ""
+
+#: src/net/manaserv/loginhandler.cpp:303
+#, fuzzy
+msgid "Wrong username, password or email address."
+msgstr "Nome de usuário, senha ou email inválido"
+
+#: src/net/manaserv/loginhandler.cpp:306
+#, fuzzy
+msgid "Username already exists."
+msgstr "Nome de usuário já existe"
+
+#: src/net/manaserv/loginhandler.cpp:309
+#, fuzzy
+msgid "Email address already exists."
+msgstr "Endereço de email já existe"
+
+#: src/net/manaserv/loginhandler.cpp:312
+msgid "You took too long with the captcha or your response was incorrect."
+msgstr ""
+
+#: src/net/manaserv/partyhandler.cpp:87
+msgid "Joined party."
+msgstr "Entrou para o grupo."
+
+#: src/net/manaserv/partyhandler.cpp:105
+#, c-format
+msgid "%s joined the party."
+msgstr "%s entrou para o grupo."
+
+#: src/net/manaserv/partyhandler.cpp:123
+#, fuzzy, c-format
+msgid "%s rejected your invite."
+msgstr "%s recusou seu convite."
+
+#: src/net/manaserv/tradehandler.cpp:95
+msgid "Accepting incoming trade requests."
+msgstr "Aceitando propostas de negócios."
+
+#: src/net/manaserv/tradehandler.cpp:97
+msgid "Ignoring incoming trade requests."
+msgstr "Ignorando propostas de negócios."
+
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
+msgid "Request for Trade"
+msgstr "Proposta de negociação"
+
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
+#, c-format
+msgid "%s wants to trade with you, do you accept?"
+msgstr "%s quer negociar com você, você aceita?"
+
+#: src/net/manaserv/tradehandler.cpp:134
+#, c-format
+msgid "Trading with %s"
+msgstr "Negociando com %s"
+
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
+msgid "Trade canceled."
+msgstr "Negociação cancelada."
+
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
+msgid "Trade completed."
+msgstr "Negociação realizada."
+
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "Erro na expulsão!"
-#: src/net/ea/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "Expulsão bem sucedida!"
-#: src/net/ea/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Nada para vender."
-#: src/net/ea/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Obrigado pela compra."
-#: src/net/ea/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "Impossível comprar."
-#: src/net/ea/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Obrigado pela venda."
-#: src/net/ea/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "Impossibilitado de vender."
-#: src/net/ea/charserverhandler.cpp:103
-msgid "Access denied."
-msgstr "Acesso negado."
+#: src/net/tmwa/charserverhandler.cpp:103
+msgid "Access denied. Most likely, there are too many players on this server."
+msgstr ""
-#: src/net/ea/charserverhandler.cpp:106
+#: src/net/tmwa/charserverhandler.cpp:107
+#, fuzzy
msgid "Cannot use this ID."
-msgstr "Não é possível usar este ID."
+msgstr "Não é possível usar este ID"
-#: src/net/ea/charserverhandler.cpp:109
-msgid "Unknown failure to select character."
-msgstr "Erro desconhecido ao selecionar personagem."
+#: src/net/tmwa/charserverhandler.cpp:110
+#, fuzzy
+msgid "Unknown char-server failure."
+msgstr "Erro desconhecido"
-#: src/net/ea/charserverhandler.cpp:135
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Erro ao criar personagem. Provavelmente o nome já está sendo usado."
-#: src/net/ea/charserverhandler.cpp:147
-#: src/net/manaserv/charhandler.cpp:187
-msgid "Info"
-msgstr "Informações"
-
-#: src/net/ea/charserverhandler.cpp:147
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Personagem deletado."
-#: src/net/ea/charserverhandler.cpp:152
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Falha ao deletar personagem."
-#: src/net/ea/charserverhandler.cpp:237
-#: src/net/manaserv/charhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Força:"
-#: src/net/ea/charserverhandler.cpp:238
-#: src/net/manaserv/charhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Agilidade:"
-#: src/net/ea/charserverhandler.cpp:239
-#: src/net/manaserv/charhandler.cpp:266
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Vitalidade:"
-#: src/net/ea/charserverhandler.cpp:240
-#: src/net/manaserv/charhandler.cpp:267
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Inteligência:"
-#: src/net/ea/charserverhandler.cpp:241
-#: src/net/manaserv/charhandler.cpp:265
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Destreza:"
-#: src/net/ea/charserverhandler.cpp:242
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
-msgstr "Sorte:"
+msgstr "Sorte"
-#: src/net/ea/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "Impossível enviar mensagem privada, o usuário está desconectado."
-#: src/net/ea/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "Impossível enviar mensagem privada, você foi ignorado pelo usuário."
-#: src/net/ea/chathandler.cpp:171
+#: src/net/tmwa/chathandler.cpp:230
+#, fuzzy
msgid "MVP player."
-msgstr "Jogador VIP."
-
-#: src/net/ea/chathandler.cpp:204
-#: src/net/ea/chathandler.cpp:210
-#: src/net/ea/chathandler.cpp:215
-#: src/net/ea/chathandler.cpp:220
-#: src/net/ea/chathandler.cpp:225
-#: src/net/ea/chathandler.cpp:230
-#: src/net/ea/chathandler.cpp:235
-#: src/net/ea/chathandler.cpp:240
+msgstr "Jogador"
+
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "Não há suporte para canais!"
-#: src/net/ea/gamehandler.cpp:86
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
-msgstr "Jogadores online: %d"
+msgstr ""
-#: src/net/ea/gamehandler.cpp:100
+#: src/net/tmwa/gamehandler.cpp:101
+#, fuzzy
msgid "Game"
-msgstr "Jogo"
+msgstr "Nome"
-#: src/net/ea/gamehandler.cpp:100
+#: src/net/tmwa/gamehandler.cpp:101
+#, fuzzy
msgid "Request to quit denied!"
-msgstr "Requisição de saída negada!"
+msgstr "Proposta de negociação"
-#: src/net/ea/generalhandler.cpp:102
-#: src/net/manaserv/generalhandler.cpp:95
+#: src/net/tmwa/generalhandler.cpp:102
#, c-format
msgid "Strength %+d"
msgstr "Força %+d"
-#: src/net/ea/generalhandler.cpp:103
-#: src/net/manaserv/generalhandler.cpp:96
+#: src/net/tmwa/generalhandler.cpp:103
#, c-format
msgid "Agility %+d"
msgstr "Agilidade %+d"
-#: src/net/ea/generalhandler.cpp:104
-#: src/net/manaserv/generalhandler.cpp:98
+#: src/net/tmwa/generalhandler.cpp:104
#, c-format
msgid "Vitality %+d"
msgstr "Vitalidade %+d"
-#: src/net/ea/generalhandler.cpp:105
-#: src/net/manaserv/generalhandler.cpp:99
+#: src/net/tmwa/generalhandler.cpp:105
#, c-format
msgid "Intelligence %+d"
msgstr "Inteligência %+d"
-#: src/net/ea/generalhandler.cpp:106
-#: src/net/manaserv/generalhandler.cpp:97
+#: src/net/tmwa/generalhandler.cpp:106
#, c-format
msgid "Dexterity %+d"
msgstr "Destreza %+d"
-#: src/net/ea/generalhandler.cpp:107
+#: src/net/tmwa/generalhandler.cpp:107
#, c-format
msgid "Luck %+d"
msgstr "Sorte %+d"
-#: src/net/ea/generalhandler.cpp:130
+#: src/net/tmwa/generalhandler.cpp:132
+#, fuzzy
msgid "Authentication failed."
-msgstr "Falha de autenticação."
+msgstr "Falha de autenticação"
-#: src/net/ea/generalhandler.cpp:133
+#: src/net/tmwa/generalhandler.cpp:135
+#, fuzzy
msgid "No servers available."
-msgstr "Servidores indisponíveis."
+msgstr "Não há servidores disponíveis"
-#: src/net/ea/generalhandler.cpp:137
+#: src/net/tmwa/generalhandler.cpp:139
+#, fuzzy
msgid "Someone else is trying to use this account."
-msgstr "Outra pessoa está tentando utilizar esta conta."
+msgstr "Mais alguém está tentando utilizar esta conta"
-#: src/net/ea/generalhandler.cpp:140
+#: src/net/tmwa/generalhandler.cpp:142
+#, fuzzy
msgid "This account is already logged in."
-msgstr "Existe alguém conectado a esta conta."
+msgstr "Existe alguém logado a esta conta"
-#: src/net/ea/generalhandler.cpp:143
+#: src/net/tmwa/generalhandler.cpp:145
+#, fuzzy
msgid "Speed hack detected."
-msgstr "Hack de velocidade detectado."
+msgstr "Hack de velocidade detectado"
-#: src/net/ea/generalhandler.cpp:146
+#: src/net/tmwa/generalhandler.cpp:148
+#, fuzzy
msgid "Duplicated login."
-msgstr "Login duplicado."
+msgstr "Login duplicado"
-#: src/net/ea/generalhandler.cpp:149
+#: src/net/tmwa/generalhandler.cpp:151
+#, fuzzy
msgid "Unknown connection error."
-msgstr "Erro de conexão desconhecido."
+msgstr "Erro de conexão desconhecido"
-#: src/net/ea/generalhandler.cpp:205
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "Você foi desconectado do servidor!"
-#: src/net/ea/generalhandler.cpp:216
-#: src/net/manaserv/generalhandler.cpp:166
+#: src/net/tmwa/generalhandler.cpp:230
msgid "Strength"
msgstr "Força"
-#: src/net/ea/generalhandler.cpp:217
-#: src/net/manaserv/generalhandler.cpp:167
+#: src/net/tmwa/generalhandler.cpp:231
msgid "Agility"
msgstr "Agilidade"
-#: src/net/ea/generalhandler.cpp:218
-#: src/net/manaserv/generalhandler.cpp:169
+#: src/net/tmwa/generalhandler.cpp:232
msgid "Vitality"
msgstr "Vitalidade"
-#: src/net/ea/generalhandler.cpp:219
-#: src/net/manaserv/generalhandler.cpp:170
+#: src/net/tmwa/generalhandler.cpp:233
msgid "Intelligence"
msgstr "Inteligência"
-#: src/net/ea/generalhandler.cpp:220
-#: src/net/manaserv/generalhandler.cpp:168
+#: src/net/tmwa/generalhandler.cpp:234
msgid "Dexterity"
msgstr "Destreza"
-#: src/net/ea/generalhandler.cpp:221
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Sorte"
-#: src/net/ea/generalhandler.cpp:224
+#: src/net/tmwa/generalhandler.cpp:238
+#, fuzzy
msgid "Defense"
-msgstr "Defesa"
+msgstr "Defesa:"
-#: src/net/ea/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:239
+#, fuzzy
msgid "M.Attack"
-msgstr "Ataque M."
+msgstr "M. Ataque:"
-#: src/net/ea/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:240
+#, fuzzy
msgid "M.Defense"
-msgstr "Defesa M."
+msgstr "M. Defesa:"
-#: src/net/ea/generalhandler.cpp:227
-#, c-format
+#: src/net/tmwa/generalhandler.cpp:241
+#, fuzzy, c-format
msgid "% Accuracy"
-msgstr "% Exatidão"
+msgstr "% Acuracidade:"
-#: src/net/ea/generalhandler.cpp:228
-#, c-format
+#: src/net/tmwa/generalhandler.cpp:242
+#, fuzzy, c-format
msgid "% Evade"
-msgstr "% Evasão"
+msgstr "% Evasão:"
-#: src/net/ea/generalhandler.cpp:229
-#, c-format
+#: src/net/tmwa/generalhandler.cpp:243
+#, fuzzy, c-format
msgid "% Critical"
-msgstr "% Críticos"
+msgstr "Golpe crítico"
-#: src/net/ea/gui/guildtab.cpp:45
+#: src/net/tmwa/gui/guildtab.cpp:45
msgid "Guild"
-msgstr "Guilda"
+msgstr "Corporação"
-#: src/net/ea/gui/guildtab.cpp:61
-#: src/net/ea/gui/partytab.cpp:59
+#: src/net/tmwa/gui/guildtab.cpp:61 src/net/tmwa/gui/partytab.cpp:59
msgid "/help > Display this help."
msgstr "/help > Exibe esta ajuda."
-#: src/net/ea/gui/guildtab.cpp:62
+#: src/net/tmwa/gui/guildtab.cpp:62
+#, fuzzy
msgid "/invite > Invite a player to your guild"
-msgstr "/invite > Convida um jogador para a sua guilda"
+msgstr "/invite > Convida um jogador para o seu grupo"
-#: src/net/ea/gui/guildtab.cpp:63
+#: src/net/tmwa/gui/guildtab.cpp:63
+#, fuzzy
msgid "/leave > Leave the guild you are in"
-msgstr "/leave > Sai da guilda em que você está"
+msgstr "/leave > Sai do grupo em que você está"
-#: src/net/ea/gui/guildtab.cpp:64
+#: src/net/tmwa/gui/guildtab.cpp:64
+#, fuzzy
msgid "/kick > Kick some one from the guild you are in"
-msgstr "/kick > Expulsa alguém da guilda em que você está"
+msgstr "/kick > Expulsa alguém do grupo em que você está"
-#: src/net/ea/gui/guildtab.cpp:73
-#: src/net/ea/gui/partytab.cpp:73
+#: src/net/tmwa/gui/guildtab.cpp:73 src/net/tmwa/gui/partytab.cpp:73
msgid "Command: /invite <nick>"
msgstr "Comando: /invite <nick>"
-#: src/net/ea/gui/guildtab.cpp:74
+#: src/net/tmwa/gui/guildtab.cpp:74
+#, fuzzy
msgid "This command invites <nick> to the guild you're in."
-msgstr "Este comando convida <nick> para a guilda em que você está."
+msgstr "Convida <nick> para um grupo com você."
-#: src/net/ea/gui/guildtab.cpp:80
-#: src/net/ea/gui/partytab.cpp:80
+#: src/net/tmwa/gui/guildtab.cpp:80 src/net/tmwa/gui/partytab.cpp:80
msgid "Command: /leave"
msgstr "Comando: /leave"
-#: src/net/ea/gui/guildtab.cpp:81
+#: src/net/tmwa/gui/guildtab.cpp:81
+#, fuzzy
msgid "This command causes the player to leave the guild."
-msgstr "Este comando faz com que o jogador saia da guilda."
+msgstr "Este comando faz com que o jogador saia do grupo."
-#: src/net/ea/gui/guildtab.cpp:89
+#: src/net/tmwa/gui/guildtab.cpp:89
+#, fuzzy
msgid "Guild name is missing."
-msgstr "Falta o nome da guilda."
+msgstr "Falta o nome do grupo."
-#: src/net/ea/guildhandler.cpp:293
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
-msgstr "Não foi possível convidar jogador para a guilda."
+msgstr ""
-#: src/net/ea/guildhandler.cpp:298
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
-msgstr "O jogador rejeitou o convite."
+msgstr ""
-#: src/net/ea/guildhandler.cpp:303
+#: src/net/tmwa/guildhandler.cpp:306
+#, fuzzy
msgid "User is now part of your guild."
-msgstr "Usuário agora é um membro da sua guilda."
+msgstr "%s agora é um membro do seu grupo."
-#: src/net/ea/guildhandler.cpp:308
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
-msgstr "Sua guilda está cheia."
+msgstr ""
-#: src/net/ea/guildhandler.cpp:313
+#: src/net/tmwa/guildhandler.cpp:316
+#, fuzzy
msgid "Unknown guild invite response."
-msgstr "Resposta desconhecida de convite para guilda."
+msgstr "Resposta de convite desconhecida para %s."
-#: src/net/ea/guildhandler.cpp:390
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
-msgstr "A criação de guildas ainda não é suportada."
+msgstr ""
-#: src/net/ea/gui/partytab.cpp:43
+#: src/net/tmwa/gui/partytab.cpp:43
msgid "Party"
msgstr "Grupo"
-#: src/net/ea/gui/partytab.cpp:60
+#: src/net/tmwa/gui/partytab.cpp:60
msgid "/invite > Invite a player to your party"
msgstr "/invite > Convida um jogador para o seu grupo"
-#: src/net/ea/gui/partytab.cpp:61
+#: src/net/tmwa/gui/partytab.cpp:61
msgid "/leave > Leave the party you are in"
msgstr "/leave > Sai do grupo em que você está"
-#: src/net/ea/gui/partytab.cpp:62
+#: src/net/tmwa/gui/partytab.cpp:62
msgid "/kick > Kick some one from the party you are in"
msgstr "/kick > Expulsa alguém do grupo em que você está"
-#: src/net/ea/gui/partytab.cpp:63
+#: src/net/tmwa/gui/partytab.cpp:63
msgid "/item > Show/change party item sharing options"
msgstr "/item > Mostra/Muda opções de compartilhamento de itens do grupo"
-#: src/net/ea/gui/partytab.cpp:64
+#: src/net/tmwa/gui/partytab.cpp:64
msgid "/exp > Show/change party experience sharing options"
-msgstr "/exp > Mostra/Modifica opções de compartilhamento de experiência do grupo"
+msgstr ""
+"/exp > Mostra/Modifica opções de compartilhamento de experiência do grupo"
-#: src/net/ea/gui/partytab.cpp:81
+#: src/net/tmwa/gui/partytab.cpp:81
msgid "This command causes the player to leave the party."
msgstr "Este comando faz com que o jogador saia do grupo."
-#: src/net/ea/gui/partytab.cpp:85
+#: src/net/tmwa/gui/partytab.cpp:85
msgid "Command: /item <policy>"
msgstr "Comando> /item <opção>"
-#: src/net/ea/gui/partytab.cpp:86
+#: src/net/tmwa/gui/partytab.cpp:86
msgid "This command changes the party's item sharing policy."
msgstr "Este comando muda a opção de compartilhamento de itens do grupo."
-#: src/net/ea/gui/partytab.cpp:87
-msgid "<policy> can be one of \"1\", \"yes\", \"true\" to enable item sharing, or \"0\", \"no\", \"false\" to disable item sharing."
-msgstr "<policy> pode ser \"1\", \"yes\" e \"true\" para habilitar compartilhamento de itens, ou \"0\", \"no\" e \"false\" para desabilitar."
+#: src/net/tmwa/gui/partytab.cpp:87
+msgid ""
+"<policy> can be one of \"1\", \"yes\", \"true\" to enable item sharing, or "
+"\"0\", \"no\", \"false\" to disable item sharing."
+msgstr ""
+"<policy> pode ser \"1\", \"yes\" e \"true\" para habilitar compartilhamento "
+"de itens, ou \"0\", \"no\" e \"false\" para desabilitar."
-#: src/net/ea/gui/partytab.cpp:90
+#: src/net/tmwa/gui/partytab.cpp:90
msgid "Command: /item"
msgstr "Comando: /item"
-#: src/net/ea/gui/partytab.cpp:91
+#: src/net/tmwa/gui/partytab.cpp:91
msgid "This command displays the party's current item sharing policy."
-msgstr "Este comando exibe a atual opção de compartilhamento de itens do grupo."
+msgstr ""
+"Este comando exibe a atual opção de compartilhamento de itens do grupo."
-#: src/net/ea/gui/partytab.cpp:95
+#: src/net/tmwa/gui/partytab.cpp:95
msgid "Command: /exp <policy>"
msgstr "Comando: /exp <policy>"
-#: src/net/ea/gui/partytab.cpp:96
+#: src/net/tmwa/gui/partytab.cpp:96
msgid "This command changes the party's experience sharing policy."
msgstr "Este comando muda a opção de compartilhamento de experiência do grupo."
-#: src/net/ea/gui/partytab.cpp:97
-msgid "<policy> can be one of \"1\", \"yes\", \"true\" to enable experience sharing, or \"0\", \"no\", \"false\" to disable experience sharing."
-msgstr "<policy> pode ser \"1\", \"yes\" e \"true\" para habilitar compartilhamento de experiência, ou \"0\", \"no\" e \"false\" para desabilitar."
+#: src/net/tmwa/gui/partytab.cpp:97
+msgid ""
+"<policy> can be one of \"1\", \"yes\", \"true\" to enable experience "
+"sharing, or \"0\", \"no\", \"false\" to disable experience sharing."
+msgstr ""
+"<policy> pode ser \"1\", \"yes\" e \"true\" para habilitar compartilhamento "
+"de experiência, ou \"0\", \"no\" e \"false\" para desabilitar."
-#: src/net/ea/gui/partytab.cpp:100
+#: src/net/tmwa/gui/partytab.cpp:100
msgid "Command: /exp"
msgstr "Comando: /exp"
-#: src/net/ea/gui/partytab.cpp:101
+#: src/net/tmwa/gui/partytab.cpp:101
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."
+msgstr ""
+"Este comando exibe a atual opção de compartilhamento de experiência do grupo."
-#: src/net/ea/gui/partytab.cpp:132
-#: src/net/ea/partyhandler.cpp:198
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "Compartilhamento de itens habilitado."
-#: src/net/ea/gui/partytab.cpp:135
-#: src/net/ea/partyhandler.cpp:204
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "Compartilhamento de itens desabilitado."
-#: src/net/ea/gui/partytab.cpp:138
-#: src/net/ea/partyhandler.cpp:210
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "Não é possível compartilhar itens."
-#: src/net/ea/gui/partytab.cpp:141
+#: src/net/tmwa/gui/partytab.cpp:141
+#, fuzzy
msgid "Item sharing unknown."
-msgstr "Compartilhamento de itens desconhecido."
+msgstr "Compartilhamento de itens habilitado."
-#: src/net/ea/gui/partytab.cpp:167
-#: src/net/ea/partyhandler.cpp:174
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "Compartilhamento de experiência habilitado."
-#: src/net/ea/gui/partytab.cpp:170
-#: src/net/ea/partyhandler.cpp:180
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "Compartilhamento de experiência desabilitado."
-#: src/net/ea/gui/partytab.cpp:173
-#: src/net/ea/partyhandler.cpp:186
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "Não é possível compartilhar experiência."
-#: src/net/ea/gui/partytab.cpp:176
+#: src/net/tmwa/gui/partytab.cpp:176
+#, fuzzy
msgid "Experience sharing unknown."
-msgstr "Compartilhamento de experiência desconhecido."
+msgstr "Compartilhamento de experiência habilitado."
-#: src/net/ea/inventoryhandler.cpp:281
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
-msgstr "Falha ao usar ítem."
+msgstr "Problemas ao usar ítem."
-#: src/net/ea/inventoryhandler.cpp:391
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "Impossível equipar."
-#: src/net/ea/inventoryhandler.cpp:402
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "Impossível desequipar."
-#: src/net/ea/loginhandler.cpp:79
+#: src/net/tmwa/loginhandler.cpp:86
msgid "Account was not found. Please re-login."
-msgstr "Conta não encontrada. Por favor, tente novamente."
+msgstr "Conta não encontrada. Por favor, logue novamente."
-#: src/net/ea/loginhandler.cpp:82
-#: src/net/manaserv/loginhandler.cpp:121
-msgid "Old password incorrect."
-msgstr "Senha antiga incorreta."
-
-#: src/net/ea/loginhandler.cpp:85
+#: src/net/tmwa/loginhandler.cpp:92
+#, fuzzy
msgid "New password too short."
-msgstr "Nova senha é muito curta."
-
-#: src/net/ea/loginhandler.cpp:88
-#: src/net/ea/loginhandler.cpp:175
-#: src/net/manaserv/charhandler.cpp:158
-#: src/net/manaserv/loginhandler.cpp:96
-#: src/net/manaserv/loginhandler.cpp:127
-#: src/net/manaserv/loginhandler.cpp:161
-#: src/net/manaserv/loginhandler.cpp:279
-#: src/net/manaserv/loginhandler.cpp:316
-msgid "Unknown error."
-msgstr "Erro desconhecido."
+msgstr "Nova senha é muito curta"
-#: src/net/ea/loginhandler.cpp:149
+#: src/net/tmwa/loginhandler.cpp:156
+#, fuzzy
msgid "Unregistered ID."
-msgstr "ID não registrado."
+msgstr "ID não registrado"
-#: src/net/ea/loginhandler.cpp:152
+#: src/net/tmwa/loginhandler.cpp:159
+#, fuzzy
msgid "Wrong password."
-msgstr "Senha incorreta."
+msgstr "Senha incorreta"
-#: src/net/ea/loginhandler.cpp:155
+#: src/net/tmwa/loginhandler.cpp:162
+#, fuzzy
msgid "Account expired."
-msgstr "A conta expirou."
+msgstr "A conta expirou"
-#: src/net/ea/loginhandler.cpp:158
+#: src/net/tmwa/loginhandler.cpp:165
+#, fuzzy
msgid "Rejected from server."
-msgstr "Rejeitado pelo servidor."
+msgstr "Rejeitado pelo servidor"
-#: src/net/ea/loginhandler.cpp:161
-msgid "You have been permanently banned from the game. Please contact the GM team."
-msgstr "Você foi permanentemente banido do jogo. Por favor entre em contato com algum GM."
+#: src/net/tmwa/loginhandler.cpp:168
+#, fuzzy
+msgid ""
+"You have been permanently banned from the game. Please contact the GM team."
+msgstr ""
+"Você foi permanentemente banido do jogo. Por favor entre em contato com "
+"algum GM."
-#: src/net/ea/loginhandler.cpp:165
+#: src/net/tmwa/loginhandler.cpp:172
#, c-format
msgid ""
"You have been temporarily banned from the game until %s.\n"
@@ -2892,770 +3301,388 @@ msgstr ""
"Você banido do jogo até %s.\n"
"Por favor entre em contato com algum GM através dos fóruns."
-#: src/net/ea/loginhandler.cpp:172
+#: src/net/tmwa/loginhandler.cpp:179
+#, fuzzy
msgid "This user name is already taken."
-msgstr "Este nome de usuário já está em uso."
+msgstr "Este nome de usuário já está em uso"
-#: src/net/ea/network.cpp:145
+#: src/net/tmwa/network.cpp:145
msgid "Empty address given to Network::connect()!"
-msgstr "Endereço vazio enviado para Network::connect()!"
+msgstr ""
-#: src/net/ea/network.cpp:345
+#: src/net/tmwa/network.cpp:345
+#, fuzzy
msgid "Unable to resolve host \""
-msgstr "Não foi possível determinar o host \""
+msgstr "Impossibilitado de vender."
-#: src/net/ea/network.cpp:414
+#: src/net/tmwa/network.cpp:414
+#, fuzzy
msgid "Connection to server terminated. "
-msgstr "Conexão com o servidor interrompida."
+msgstr "Conectando ao servidor de mapas..."
-#: src/net/ea/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "Não foi possível criar o grupo."
-#: src/net/ea/partyhandler.cpp:84
+#: src/net/tmwa/partyhandler.cpp:84
msgid "Party successfully created."
msgstr "Grupo criado."
-#: src/net/ea/partyhandler.cpp:118
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s já é membro de um grupo."
-#: src/net/ea/partyhandler.cpp:122
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s recusou seu convite."
-#: src/net/ea/partyhandler.cpp:126
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s agora é um membro do seu grupo."
-#: src/net/ea/partyhandler.cpp:130
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "Resposta de convite desconhecida para %s."
-#: src/net/ea/partyhandler.cpp:238
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "Você saiu do grupo."
-#: src/net/ea/partyhandler.cpp:249
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s saiu do seu grupo."
-#: src/net/ea/partyhandler.cpp:301
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "Um membro desconhecido tentou dizer: %s"
-#: src/net/ea/partyhandler.cpp:329
-msgid "Inviting like this isn't supported at the moment."
-msgstr "No momento ainda não é possível convidar deste modo."
+#: src/net/tmwa/partyhandler.cpp:335
+#, c-format
+msgid "Inviting failed, because you can't see a player called %s."
+msgstr ""
-#: src/net/ea/partyhandler.cpp:334
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
-msgstr "Você só pode fazer convites se estiver em um grupo!"
+msgstr ""
-#: src/net/ea/partyhandler.cpp:365
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s não está em seu grupo!"
-#: src/net/ea/playerhandler.cpp:99
-#: src/net/manaserv/beinghandler.cpp:304
-msgid "You are dead."
-msgstr "Você está morto."
-
-#: src/net/ea/playerhandler.cpp:100
-#: src/net/manaserv/beinghandler.cpp:305
-msgid "We regret to inform you that your character was killed in battle."
-msgstr "Lamentamos informar que seu personagem foi morto em combate."
-
-#: src/net/ea/playerhandler.cpp:102
-#: src/net/manaserv/beinghandler.cpp:307
-msgid "You are not that alive anymore."
-msgstr "Você não me parece assim tão vivo."
-
-#: src/net/ea/playerhandler.cpp:103
-#: src/net/manaserv/beinghandler.cpp:308
-msgid "The cold hands of the grim reaper are grabbing for your soul."
-msgstr "As mãos frias da morte estão levando sua alma."
-
-#: src/net/ea/playerhandler.cpp:104
-#: src/net/manaserv/beinghandler.cpp:309
-msgid "Game Over!"
-msgstr "Fim de jogo!"
-
-#: src/net/ea/playerhandler.cpp:105
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Insira uma moeda para continuar."
-#: src/net/ea/playerhandler.cpp:106
-#: src/net/manaserv/beinghandler.cpp:310
-msgid "No, kids. Your character did not really die. It... err... went to a better place."
-msgstr "Não, criança. Seu personagem não morreu de verdade. Ele... err... foi para um lugar melhor."
-
-#: src/net/ea/playerhandler.cpp:108
-#: src/net/manaserv/beinghandler.cpp:312
-msgid "Your plan of breaking your enemies weapon by bashing it with your throat failed."
-msgstr "Seu plano de quebrar a arma de seu inimigo com a sua cabeça não deu certo."
-
-#: src/net/ea/playerhandler.cpp:110
-#: src/net/manaserv/beinghandler.cpp:314
-msgid "I guess this did not run too well."
-msgstr "Eu acho que as coisas não correram tão bem."
-
-#: src/net/ea/playerhandler.cpp:112
-#: src/net/manaserv/beinghandler.cpp:315
-msgid "Do you want your possessions identified?"
-msgstr "Você quer uma identificação de suas posses?"
-
-#: src/net/ea/playerhandler.cpp:114
-#: src/net/manaserv/beinghandler.cpp:316
-msgid "Sadly, no trace of you was ever found..."
-msgstr "Infelizmente, seus traços nunca foram encontrados..."
-
-#: src/net/ea/playerhandler.cpp:116
-#: src/net/manaserv/beinghandler.cpp:317
-msgid "Annihilated."
-msgstr "Aniquilado."
-
-#: src/net/ea/playerhandler.cpp:118
-#: src/net/manaserv/beinghandler.cpp:318
-msgid "Looks like you got your head handed to you."
-msgstr "Parece que te ofereceram sua própria cabeça."
-
-#: src/net/ea/playerhandler.cpp:120
-#: src/net/manaserv/beinghandler.cpp:319
-msgid "You screwed up again, dump your body down the tubes and get you another one."
-msgstr "Você estragou tudo de novo, jogue fora seu corpo e arranje outro."
-
-#: src/net/ea/playerhandler.cpp:123
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "Você não morreu ainda. Está apenas descansando."
-#: src/net/ea/playerhandler.cpp:124
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "Você não é mais."
-#: src/net/ea/playerhandler.cpp:125
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "Você deixou de ser."
-#: src/net/ea/playerhandler.cpp:126
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "Você expirou e foi encontrar seu criador."
-#: src/net/ea/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "Você é um cadáver."
-#: src/net/ea/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "Sem vida, você descansa em paz."
-#: src/net/ea/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr "Se não fosse tão animado, estaria comendo grama pela raiz."
-#: src/net/ea/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "Seus processos metabólicos agora são história."
-#: src/net/ea/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr "Você bateu as botas."
-#: src/net/ea/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "Você chutou o balde."
-#: src/net/ea/playerhandler.cpp:133
-msgid "You've shuffled off your mortal coil, run down the curtain and joined the bleedin' choir invisibile."
-msgstr "Você dispensou seu corpo mortal, abaixou as cortinas e juntou-se ao maldito coro invisível."
+#: src/net/tmwa/playerhandler.cpp:128
+msgid ""
+"You've shuffled off your mortal coil, run down the curtain and joined the "
+"bleedin' choir invisibile."
+msgstr ""
+"Você dispensou seu corpo mortal, abaixou as cortinas e juntou-se ao maldito "
+"coro invisível."
-#: src/net/ea/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "Você é um ex-jogador"
-#: src/net/ea/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr "Você foi desta para melhor."
-#: src/net/ea/playerhandler.cpp:249
-#: src/net/ea/playerhandler.cpp:310
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Mensagem"
-#: src/net/ea/playerhandler.cpp:250
-msgid "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."
+#: src/net/tmwa/playerhandler.cpp:247
+msgid ""
+"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."
-#: src/net/ea/playerhandler.cpp:333
-#, c-format
+#: src/net/tmwa/playerhandler.cpp:313
+#, fuzzy, c-format
msgid "You picked up %s."
-msgstr "Você pegou %s."
+msgstr "Você pegou "
-#: src/net/ea/playerhandler.cpp:369
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
-msgstr "Impossível aumentar o atributo!"
+msgstr ""
-#: src/net/ea/playerhandler.cpp:532
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "Equipe as flechas primeiro."
-#: src/net/ea/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Falha na negociação!"
-#: src/net/ea/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "Falha no Emote!"
-#: src/net/ea/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Falha ao sentar!"
-#: src/net/ea/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Falha ao criar Chat!"
-#: src/net/ea/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Impossivel entrar no grupo!"
-#: src/net/ea/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "Impossivel gritar!"
-#: src/net/ea/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
-msgstr "Você ainda não tem o nivel necessário!"
+msgstr "Você ainda não tem nivel necessário!"
-#: src/net/ea/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "HP insuficiente!"
-#: src/net/ea/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "SP insuficiente!"
-#: src/net/ea/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "Você não tem nenhuma nota armazenada!"
-#: src/net/ea/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Você não pode fazer isso agora!"
-#: src/net/ea/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Parece que você precisa de mais dinheiro... ;-)"
-#: src/net/ea/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Você não pode usar essa habilidade com esse tipo de arma!"
-#: src/net/ea/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "Você precisa de outra gema vermelha!"
-#: src/net/ea/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "Você precisa de outra jóia azul!"
-#: src/net/ea/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "Você está com muita carga para fazer isso!"
-#: src/net/ea/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "Hã? O que é isso?"
-#: src/net/ea/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "Falha ao transportar..."
-#: src/net/ea/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "Não foi possível roubar nada..."
-#: src/net/ea/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Veneno não surtiu efeito..."
-#: src/net/ea/tradehandler.cpp:107
-#: src/net/manaserv/tradehandler.cpp:116
-msgid "Request for Trade"
-msgstr "Proposta de negociação"
-
-#: src/net/ea/tradehandler.cpp:108
-#: src/net/manaserv/tradehandler.cpp:117
-#, c-format
-msgid "%s wants to trade with you, do you accept?"
-msgstr "%s quer negociar com você, você aceita?"
-
-#: src/net/ea/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
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:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Negociação impossível. O personagem não existe."
-#: src/net/ea/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "Negociação cancelada devido a uma razão desconhecida."
-#: src/net/ea/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "Negociação: Você e %s"
-#: src/net/ea/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "Negociação com %s cancelada."
-#: src/net/ea/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "Troca injusta pacote cancelado."
-#: src/net/ea/tradehandler.cpp:202
+#: src/net/tmwa/tradehandler.cpp:202
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:207
+#: src/net/tmwa/tradehandler.cpp:207
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:211
+#: src/net/tmwa/tradehandler.cpp:211
msgid "Failed adding item for unknown reason."
msgstr "Erro ao adicionar item devido a um motivo desconhecido."
-#: src/net/ea/tradehandler.cpp:224
-#: src/net/manaserv/tradehandler.cpp:149
-msgid "Trade canceled."
-msgstr "Negociação cancelada."
-
-#: src/net/ea/tradehandler.cpp:231
-#: src/net/manaserv/tradehandler.cpp:156
-msgid "Trade completed."
-msgstr "Negociação realizada."
-
-#: src/net/manaserv/beinghandler.cpp:324
-msgid "Press OK to respawn."
-msgstr "Clique em OK para repopular."
-
-#: src/net/manaserv/beinghandler.cpp:325
-msgid "You Died"
-msgstr "Você morreu"
-
-#: src/net/manaserv/charhandler.cpp:128
-#: src/net/manaserv/charhandler.cpp:196
-msgid "Not logged in."
-msgstr "Não está conectado."
-
-#: src/net/manaserv/charhandler.cpp:131
-msgid "No empty slot."
-msgstr "Sem espaço"
-
-#: src/net/manaserv/charhandler.cpp:134
-msgid "Invalid name."
-msgstr "Nome inválido."
-
-#: src/net/manaserv/charhandler.cpp:137
-msgid "Character's name already exists."
-msgstr "Nome de usuário já existe."
-
-#: src/net/manaserv/charhandler.cpp:140
-msgid "Invalid hairstyle."
-msgstr "Estilo inválido."
-
-#: src/net/manaserv/charhandler.cpp:143
-msgid "Invalid hair color."
-msgstr "Cor inválida."
-
-#: src/net/manaserv/charhandler.cpp:146
-msgid "Invalid gender."
-msgstr "Gênero inválido."
-
-#: src/net/manaserv/charhandler.cpp:149
-msgid "Character's stats are too high."
-msgstr "Atributos do personagem estão muito altos."
-
-#: src/net/manaserv/charhandler.cpp:152
-msgid "Character's stats are too low."
-msgstr "Atributos do personagem estão muito baixos."
-
-#: src/net/manaserv/charhandler.cpp:155
-msgid "One stat is zero."
-msgstr "Um atributo é zero."
-
-#: src/net/manaserv/charhandler.cpp:187
-msgid "Player deleted."
-msgstr "Personagem deletado."
-
-#: src/net/manaserv/charhandler.cpp:199
-msgid "Selection out of range."
-msgstr "Seleção fora de alcançe."
-
-#: src/net/manaserv/charhandler.cpp:202
-#, c-format
-msgid "Unknown error (%d)."
-msgstr "Erro desconhecido (%d)."
-
-#: src/net/manaserv/charhandler.cpp:242
-msgid "No gameservers are available."
-msgstr "Não há servidores disponíveis."
-
-#: src/net/manaserv/charhandler.cpp:268
-msgid "Willpower:"
-msgstr "Força de Vontade:"
-
-#: src/net/manaserv/chathandler.cpp:180
-#: src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
-#, c-format
-msgid "Topic: %s"
-msgstr "Tópico: %s"
-
-#: src/net/manaserv/chathandler.cpp:184
-#: src/net/manaserv/chathandler.cpp:262
-msgid "Players in this channel:"
-msgstr "Jogadores neste canal:"
-
-#: src/net/manaserv/chathandler.cpp:201
-msgid "Error joining channel."
-msgstr "Erro ao entrar no canal."
-
-#: src/net/manaserv/chathandler.cpp:207
-msgid "Listing channels."
-msgstr "Listando canais."
-
-#: src/net/manaserv/chathandler.cpp:219
-msgid "End of channel list."
-msgstr "Fim da lista de canais."
-
-#: src/net/manaserv/chathandler.cpp:291
-#, c-format
-msgid "%s entered the channel."
-msgstr "%s entrou no canal."
-
-#: src/net/manaserv/chathandler.cpp:296
-#, c-format
-msgid "%s left the channel."
-msgstr "%s saiu do canal."
-
-#: src/net/manaserv/chathandler.cpp:312
-#, c-format
-msgid "%s has set mode %s on user %s."
-msgstr "%s colocou o modo %s no usuário %s."
-
-#: src/net/manaserv/chathandler.cpp:322
-#, c-format
-msgid "%s has kicked %s."
-msgstr "%s expulsou %s."
-
-#: src/net/manaserv/chathandler.cpp:327
-msgid "Unknown channel event."
-msgstr "Evento de canal desconhecido."
-
-#: src/net/manaserv/generalhandler.cpp:100
-#, c-format
-msgid "Willpower %+d"
-msgstr "Força de vontade %+d"
-
-#: src/net/manaserv/generalhandler.cpp:171
-msgid "Willpower"
-msgstr "Força de Vontade"
-
-#: src/net/manaserv/guildhandler.cpp:81
-msgid "Guild created."
-msgstr "Guilda criada."
-
-#: src/net/manaserv/guildhandler.cpp:86
-msgid "Error creating guild."
-msgstr "Erro ao criar Guilda."
-
-#: src/net/manaserv/guildhandler.cpp:96
-msgid "Invite sent."
-msgstr "Convite enviado."
-
-#: src/net/manaserv/guildhandler.cpp:203
-msgid "Member was promoted successfully."
-msgstr "Membro foi promovido com sucesso."
-
-#: src/net/manaserv/guildhandler.cpp:208
-msgid "Failed to promote member."
-msgstr "Erro ao promover o membro."
-
-#: src/net/manaserv/loginhandler.cpp:87
-msgid "Wrong magic_token."
-msgstr "Token-mágico errado."
-
-#: src/net/manaserv/loginhandler.cpp:90
-#: src/net/manaserv/loginhandler.cpp:269
-msgid "Already logged in."
-msgstr "Já está conectado."
-
-#: src/net/manaserv/loginhandler.cpp:93
-#: src/net/manaserv/loginhandler.cpp:272
-msgid "Server is full."
-msgstr "Servidor cheio."
-
-#: src/net/manaserv/loginhandler.cpp:118
-msgid "New password incorrect."
-msgstr "Nova senha incorreta."
-
-#: src/net/manaserv/loginhandler.cpp:124
-#: src/net/manaserv/loginhandler.cpp:155
-msgid "Account not connected. Please login first."
-msgstr "Conta não conectada. Por favor, efetue o login primeiro."
-
-#: src/net/manaserv/loginhandler.cpp:149
-msgid "New email address incorrect."
-msgstr "Novo endereço de email incorreto."
-
-#: src/net/manaserv/loginhandler.cpp:152
-msgid "Old email address incorrect."
-msgstr "Antigo endereço de email incorreto."
-
-#: src/net/manaserv/loginhandler.cpp:158
-msgid "The new email address already exists."
-msgstr "O novo endereço de email já existe."
-
-#: src/net/manaserv/loginhandler.cpp:239
-msgid "Client registration is not allowed. Please contact server administration."
-msgstr "Registro pelo cliente não é permitido. Favor contactar o administrador do servidor."
-
-#: src/net/manaserv/loginhandler.cpp:263
-#: src/net/manaserv/loginhandler.cpp:300
-msgid "Client version is too old."
-msgstr "Versão do cliente é muito antiga."
-
-#: src/net/manaserv/loginhandler.cpp:266
-msgid "Wrong username or password."
-msgstr "Nome de usuário ou senha inválidos."
-
-#: src/net/manaserv/loginhandler.cpp:275
-msgid "Login attempt too soon after previous attempt."
-msgstr "Tentativa de login muito próxima da última tentativa."
-
-#: src/net/manaserv/loginhandler.cpp:303
-msgid "Wrong username, password or email address."
-msgstr "Nome de usuário, senha ou email inválidos."
-
-#: src/net/manaserv/loginhandler.cpp:306
-msgid "Username already exists."
-msgstr "Nome de usuário já existe."
-
-#: src/net/manaserv/loginhandler.cpp:309
-msgid "Email address already exists."
-msgstr "Endereço de email já existe."
-
-#: src/net/manaserv/loginhandler.cpp:312
-msgid "You took too long with the captcha or your response was incorrect."
-msgstr "Você demorou demais no Captcha ou sua resposta foi incorreta."
-
-#: src/net/manaserv/partyhandler.cpp:88
-msgid "Joined party."
-msgstr "Entrou para o grupo."
-
-#: src/net/manaserv/partyhandler.cpp:106
-#, c-format
-msgid "%s joined the party."
-msgstr "%s entrou para o grupo."
-
-#: src/net/manaserv/partyhandler.cpp:123
-#, c-format
-msgid "%s rejected your invite."
-msgstr "%s recusou seu convite."
-
-#: src/net/manaserv/tradehandler.cpp:96
-msgid "Accepting incoming trade requests."
-msgstr "Aceitando propostas de negócios."
-
-#: src/net/manaserv/tradehandler.cpp:98
-msgid "Ignoring incoming trade requests."
-msgstr "Ignorando propostas de negócios."
-
-#: src/net/manaserv/tradehandler.cpp:135
-#, c-format
-msgid "Trading with %s"
-msgstr "Negociando com %s"
-
-#: src/playerrelations.cpp:304
+#: src/playerrelations.cpp:310
+#, fuzzy
msgid "Completely ignore"
-msgstr "Ignorar completamente"
+msgstr "@@ignore|Ignorar completamente %s@@"
-#: src/playerrelations.cpp:318
+#: src/playerrelations.cpp:324
msgid "Print '...'"
-msgstr "Imprimir '...'"
+msgstr ""
-#: src/playerrelations.cpp:334
+#: src/playerrelations.cpp:340
msgid "Blink name"
-msgstr "Piscar nome"
-
-#: src/playerrelations.cpp:371
-msgid "Floating '...' bubble"
-msgstr "Bolha '...' flutuante"
-
-#: src/playerrelations.cpp:374
-msgid "Floating bubble"
-msgstr "Bolha Flutuante"
+msgstr ""
-#: src/resources/itemdb.cpp:52
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Ataque %+d"
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Defesa %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:114
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Item desconhecido"
-#: src/resources/itemdb.cpp:158
-#: src/resources/monsterdb.cpp:45
-#: src/resources/monsterdb.cpp:69
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "sem nome"
-#~ msgid "Changing game servers"
-#~ msgstr "Mudando servidores do jogo"
-#~ msgid "/away > Tell the other whispering players you're away from keyboard."
-#~ msgstr ""
-#~ "/away > Diz que você está longe do teclado para quem te enviar uma "
-#~ "mensagem privada ."
-#~ msgid "Command: /away <afk reason>"
-#~ msgstr "Comando: /away <motivo>"
-#~ msgid "This command tells you're away from keyboard with the given reason."
-#~ msgstr ""
-#~ "Este comando mostra que você está longe do teclado, indicando a razão "
-#~ "dada."
-#~ msgid "Command: /away"
-#~ msgstr "Comando: /away"
-#~ msgid "This command clears the away status and message."
-#~ msgstr "Este comando limpa o status e a mensagem \"away\"."
-#~ msgid "Show IP: On"
-#~ msgstr "Mostrar IP: Ligado"
-#~ msgid "Show IP: Off"
-#~ msgstr "Mostrar IP: Desligado"
-#~ msgid "Registration disabled"
-#~ msgstr "Registro desabilitado."
-#~ msgid "You need to use the website to register an account for this server."
-#~ msgstr ""
-#~ "Você precisa usar o website para registrar uma nova conta neste servidor."
-#~ msgid "Need"
-#~ msgstr "Precisa"
-#~ msgid "Clear log"
-#~ msgstr "Limpar log"
-#~ msgid "Error retreiving server list!"
-#~ msgstr "Erro ao recuperar lista!"
-#~ msgid "requires a newer version"
-#~ msgstr "requer uma versão mais nova"
-#~ msgid "requires v%s"
-#~ msgstr "requer v%s"
-#~ msgid "Log NPC dialogue"
-#~ msgstr "Log diálogos com NPC"
-#~ msgid "Disable transparency (Low CPU mode)"
-#~ msgstr "Desabilitar transparência (CPU Modo Econômico)"
-#~ msgid ""
-#~ "Applying change to OpenGL requires restart. In case OpenGL messes up your "
-#~ "game graphics, restart the game with the command line option \"--no-opengl"
-#~ "\"."
-#~ msgstr ""
-#~ "Mudanças no OpenGL requerem o reinício do cliente. Caso o OpenGL "
-#~ "atrapalhe o seu gráfico, abra o jogo através da linha de comando com a "
-#~ "seguinte opção: \"--no-opengl\"."
-#~ msgid "Deactivating OpenGL"
-#~ msgstr "Desativando OpenGL"
-#~ msgid "Transparency disabled"
-#~ msgstr "Transparência desabilitada"
-#~ msgid "You must restart to apply changes."
-#~ msgstr "Você deve reiniciar o cliente para aplicar as mudanças."
-#~ msgid "Transparency enabled"
-#~ msgstr "Transparência habilitada."
-#~ msgid "Creating guild failed, please choose a shorter name."
-#~ msgstr "Falha ao criar guilda, escolha um nome mais curto."
-#~ msgid "Creating party failed, please choose a shorter name."
-#~ msgstr "Falha ao criar grupo, escolha um nome mais curto."
-#~ msgid "Being"
-#~ msgstr "Personagem"
-#~ msgid "Other Players' Names"
-#~ msgstr "Nomes de outros jogadores"
-#~ msgid "Own Name"
-#~ msgstr "Próprio nome"
-#~ msgid "GM Names"
-#~ msgstr "Nomes dos GMs"
-#~ msgid "NPCs"
-#~ msgstr "NPCs"
-#~ msgid "Monsters"
-#~ msgstr "Monstros"
-#~ msgid "Party Members"
-#~ msgstr "Membros do grupo"
-#~ msgid "Guild Members"
-#~ msgstr "Membros da guilda"
-#~ msgid "Particle Effects"
-#~ msgstr "Efeitos de partícula"
-#~ msgid "Pickup Notification"
-#~ msgstr "Aviso ao pegar algo"
-#~ msgid "Exp Notification"
-#~ msgstr "Aviso de experiência"
-#~ msgid "Other Player Hits Monster"
-#~ msgstr "Outro Jogador Acerta Monstro"
-#~ msgid "Monster Hits Player"
-#~ msgstr "Monstro Acerta Jogador"
-#~ msgid "Critical Hit"
-#~ msgstr "Golpe crítico"
-#~ msgid "Local Player Hits Monster"
-#~ msgstr "Jogador Acerta Monstro"
-#~ msgid "Local Player Critical Hit"
-#~ msgstr "Golpe Crítico do Jogador"
-#~ msgid "Local Player Miss"
-#~ msgstr "Jogador Erra o Golpe"
-#~ msgid "Misses"
-#~ msgstr "Golpes errados"
-#~ msgid "Away"
-#~ msgstr "Fora do Teclado"
-#~ msgid "Account banned."
-#~ msgstr "Conta banida."
-#~ msgid "Account banned"
-#~ msgstr "Conta banida"
-#~ msgid ""
-#~ "Access denied. Most likely, there are too many players on this server."
-#~ msgstr "Acesso negado. Provavelmente há jogadores demais neste servidor."
-#~ msgid "Unknown char-server failure."
-#~ msgstr "Erro desconhecido do char-server."
-#~ msgid "Inviting failed, because you can't see a player called %s."
-#~ msgstr ""
-#~ "Não foi possível fazer o convite, pois você não vê um jogador chamado %s."
+#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Exp:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Dinheiro: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Trabalho:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Nível: %d"
+
+#, fuzzy
+#~ msgid "Access denied."
+#~ msgstr "Acesso negado"
+
+#, fuzzy
+#~ msgid "Unknown failure to select character."
+#~ msgstr "Erro desconhecido ao selecionar personagem"
+
+#~ msgid "Inviting like this isn't supported at the moment."
+#~ msgstr "No momento ainda não é possível convidar deste modo."
+
+#~ msgid "Willpower:"
+#~ msgstr "Força de Vontade:"
+
+#~ msgid "Willpower %+d"
+#~ msgstr "Força de vontade %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Força de Vontade:"
+
+#, fuzzy
+#~ msgid "Server is full."
+#~ msgstr "Servidor cheio"
+
#~ msgid "Text Shadow"
#~ msgstr "Sombra do Texto"
+
#~ msgid "Text Outline"
#~ msgstr "Borda do texto"
+
#~ msgid "Progress Bar Labels"
#~ msgstr "Rótulos da barra de progresso"
+
#~ msgid "Background"
#~ msgstr "Fundo"
+
#~ msgid "Highlight"
#~ msgstr "Realçar"
+
#~ msgid "Tab Highlight"
#~ msgstr "Realçar aba"
@@ -3666,212 +3693,355 @@ msgstr "sem nome"
#, fuzzy
#~ msgid "Item Is Equipped"
#~ msgstr "Item está equipado"
+
#~ msgid "GM"
#~ msgstr "GM"
+
#~ msgid "Player"
#~ msgstr "Jogador"
+
#~ msgid "Whisper"
#~ msgstr "Sussurrar"
+
#~ msgid "Is"
#~ msgstr "É"
+
#~ msgid "Server"
#~ msgstr "Servidor"
+
#~ msgid "Logger"
#~ msgstr "Histórico"
+
#~ msgid "Hyperlink"
#~ msgstr "Link"
+
+#~ msgid "Being"
+#~ msgstr "Ser"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Nomes de outros jogadores"
+
+#~ msgid "Own Name"
+#~ msgstr "Próprio nome"
+
+#~ msgid "GM Names"
+#~ msgstr "Nomes dos GMs"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCs"
+
+#~ msgid "Monsters"
+#~ msgstr "Monstros"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Tipo de item desconhecido"
+
#~ msgid "Generics"
#~ msgstr "Genéricos"
+
#~ msgid "Hats"
#~ msgstr "Chapéus"
+
#~ msgid "Usables"
#~ msgstr "Usáveis"
+
#~ msgid "Shirts"
#~ msgstr "Camisas"
#, fuzzy
#~ msgid "One Handed Weapons"
#~ msgstr "Armas para 1 mão"
+
#~ msgid "Pants"
#~ msgstr "Calças"
+
#~ msgid "Shoes"
#~ msgstr "Sapatos"
#, fuzzy
#~ msgid "Two Handed Weapons"
#~ msgstr "Armas para 1 mão"
+
#~ msgid "Shields"
#~ msgstr "Escudos"
+
#~ msgid "Rings"
#~ msgstr "Anéis"
+
#~ msgid "Necklaces"
#~ msgstr "Colares"
+
#~ msgid "Arms"
#~ msgstr "Armas"
+
#~ msgid "Ammo"
#~ msgstr "Munição"
+
+#~ msgid "Particle Effects"
+#~ msgstr "Efeitos de partícula"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "Aviso de achado"
+
+#~ msgid "Exp Notification"
+#~ msgstr "Aviso de experiência"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "Jogador acerta monstro"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "Monstro acerta jogador"
+
+#~ msgid "Critical Hit"
+#~ msgstr "Golpe crítico"
+
+#~ msgid "Misses"
+#~ msgstr "Falhas"
+
#~ msgid "HP Bar"
#~ msgstr "Barra de HP"
+
#~ msgid "3/4 HP Bar"
#~ msgstr "3/4 da barra de HP"
+
#~ msgid "1/2 HP Bar"
#~ msgstr "1/2 da barra de HP"
+
#~ msgid "1/4 HP Bar"
#~ msgstr "1/4 da barra de HP"
+
#~ msgid "no"
#~ msgstr "não"
+
#~ msgid "Buddy"
#~ msgstr "Amigo"
+
#~ msgid "Buddy List"
#~ msgstr "Lista de amigos"
+
#~ msgid "Description: %s"
#~ msgstr "Descrição: %s"
+
#~ msgid "Effect: %s"
#~ msgstr "Efeito: %s"
+
#~ msgid "Previous"
#~ msgstr "Anterior"
+
#~ msgid "New"
#~ msgstr "Novo"
+
#~ msgid "Job Level: %d"
#~ msgstr "Nível de Trabalho: %d"
+
#~ msgid "Present: "
#~ msgstr "Presente: "
+
#~ msgid "Quit Guild"
#~ msgstr "Sair da corporação"
+
#~ msgid "Ok"
#~ msgstr "Ok"
+
#~ msgid "Recent:"
#~ msgstr "Recente:"
+
#~ msgid "Magic"
#~ msgstr "Mágica"
+
#~ msgid "Cast Test Spell 1"
#~ msgstr "Lançar feitiço de teste 1"
+
#~ msgid "Cast Test Spell 2"
#~ msgstr "Lançar feitiço de teste 2"
+
#~ msgid "Cast Test Spell 3"
#~ msgstr "Lançar feitiço de teste 3"
+
#~ msgid "2 Handed Weapons"
#~ msgstr "Armas para 2 mãos"
+
#~ msgid "@@trade|Trade With %s@@"
#~ msgstr "@@trade|Negociar com %s@@"
+
#~ msgid "@@attack|Attack %s@@"
#~ msgstr "@@attack|Atacar %s@@"
+
#~ msgid "@@disregard|Disregard %s@@"
#~ msgstr "@@disregard|Desconsiderar %s@@"
+
#~ msgid "@@ignore|Ignore %s@@"
#~ msgstr "@@ignore|Ignorar %s@@"
+
#~ msgid "@@unignore|Un-Ignore %s@@"
#~ msgstr "@@unignore|Deixar de ignorar %s@@"
+
#~ msgid "@@admin-kick|Kick player@@"
#~ msgstr "@@admin-kick|Expulsar jogador@@"
+
#~ msgid "@@cancel|Cancel@@"
#~ msgstr "@@cancel|Cancelar@@"
+
#~ msgid "@@pickup|Pick up %s@@"
#~ msgstr "@@pickup|Pegar %s@@"
+
#~ msgid "@@use|Unequip@@"
#~ msgstr "@@use|Desequipar@@"
+
#~ msgid "@@use|Equip@@"
#~ msgstr "@@use|Equipar@@"
+
#~ msgid "@@use|Use@@"
#~ msgstr "@@use|Usar@@"
+
#~ msgid "@@drop|Drop@@"
#~ msgstr "@@drop|Descartar@@"
+
#~ msgid "@@split|Split@@"
#~ msgstr "@@split|Dividir@@"
+
#~ msgid "@@store|Store@@"
#~ msgstr "@@store|Guardar@@"
+
#~ msgid "@@retrieve|Retrieve@@"
#~ msgstr "@@retrieve|Retirar@@"
+
#~ msgid "Select Server"
#~ msgstr "Selecionar Servidor"
+
#~ msgid "Failed to switch to "
#~ msgstr "Falha ao mudar para "
+
#~ msgid "windowed"
#~ msgstr "em janela"
+
#~ msgid "fullscreen"
#~ msgstr "tela cheia"
+
#~ msgid "Mystery Skill"
#~ msgstr "Habilidade Mistério"
+
#~ msgid "Weapons"
#~ msgstr "Armas"
+
#~ msgid "Crafts"
#~ msgstr "Artesanatos"
+
#~ msgid "Stats"
#~ msgstr "Status"
+
#~ msgid "Total"
#~ msgstr "Total"
+
#~ msgid "Cost"
#~ msgstr "Custo"
+
#~ msgid "Attack:"
#~ msgstr "Ataque:"
+
#~ msgid "% Reflex:"
#~ msgstr "% Reflexo:"
+
#~ msgid "Remaining Status Points: %d"
#~ msgstr "Pontos de Status Restantes: %d"
+
#~ msgid "Max level"
#~ msgstr "Nível máximo"
+
#~ msgid "curl error "
#~ msgstr "Erro do curl "
+
#~ msgid " host: "
#~ msgstr " host: "
+
#~ msgid "Guilds"
#~ msgstr "Corporações"
+
#~ msgid "Buddys"
#~ msgstr "Amigos"
+
#~ msgid "Party Window"
#~ msgstr "Janela de Grupo"
+
#~ msgid "Unarmed"
#~ msgstr "Desarmado"
+
#~ msgid "Knife"
#~ msgstr "Faca"
+
#~ msgid "Sword"
#~ msgstr "Espada"
+
#~ msgid "Polearm"
#~ msgstr "Lança"
+
#~ msgid "Staff"
#~ msgstr "Cajado"
+
#~ msgid "Whip"
#~ msgstr "Chicote"
+
#~ msgid "Bow"
#~ msgstr "Arco"
+
#~ msgid "Shooting"
#~ msgstr "Tiro"
+
#~ msgid "Mace"
#~ msgstr "Cetro"
+
#~ msgid "Axe"
#~ msgstr "Machado"
+
#~ msgid "Thrown"
#~ msgstr "Arremesso"
+
#~ msgid "Craft"
#~ msgstr "Artesanato"
+
#~ msgid "Unknown Skill"
#~ msgstr "Habilidade desconhecida"
+
#~ msgid " can't be created, but it doesn't exist! Exiting."
#~ msgstr " não foi possível criar, mas ela não existe! Saindo."
+
#~ msgid "Couldn't set "
#~ msgstr "Não foi possível configurar "
+
#~ msgid " video mode: "
#~ msgstr " modo de video: "
+
#~ msgid "mana"
#~ msgstr "mana"
+
#~ msgid "Connecting to character server..."
#~ msgstr "Conectando ao servidor de personagens..."
+
#~ msgid "Connecting to account server..."
#~ msgstr "Conectando ao servidor de contas..."
+
#~ msgid "/new > Alias of create"
#~ msgstr "/new > Abreviação de create"
+
#~ msgid "Command: /new <party-name>"
#~ msgstr "Comando: /new <nome-do-grupo>"
+
#~ msgid "a"
#~ msgstr "um(a)"
+
#~ msgid "Unnamed"
#~ msgstr "Sem nome"
+
#~ msgid "@@pickup|Pick Up %s@@"
#~ msgstr "@@pegar|Pegar %s@@"
+
+#~ msgid "Save player list"
+#~ msgstr "Salvar lista de jogadores"
+
#~ msgid "Scroll radius"
#~ msgstr "Rolar radius"
+
#~ msgid "Scroll laziness"
#~ msgstr "Rolar Laziness"
-
diff --git a/po/ru.po b/po/ru.po
index aca9f443..2f15c881 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2010-02-17 06:54+0000\n"
"Last-Translator: jmb_kz <jmb_kz@mail.ru>\n"
"Language-Team: Russian <ru@li.org>\n"
@@ -20,344 +20,321 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "ÐаÑтройка"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Подключение к Ñерверу карт..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Вход"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Выбор перÑонажа"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "Подключение к Ñерверу карт..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Сервер"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Ошибка"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Пароль:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Сменить"
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Удалить региÑтрацию"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Помощь --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Отображает Ñтот текÑÑ‚"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Отображает Ð¸Ð¼Ñ ÐºÐ°Ñ€Ñ‚Ñ‹"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Отображает количеÑтво пользователей он-лайн"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > РаÑÑкажите что-нибудь о Ñебе"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Очищает Ñто окно"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > ПоÑлать приватное Ñообщение пользователю"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Вариант команды msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Вариант команды msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query> Создает вкладку Ð´Ð»Ñ Ñ‡Ð°Ñ‚Ð° Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼."
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q> Вариант query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Показать ÑпиÑок каналов"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > Создать или приÑоединитьÑÑ Ðº каналу"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > Создать группу"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "ПриглаÑить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° канал"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > ЗапиÑывать чат во внешний файл"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
"/present > Показывает ÑпиÑок игроков он-лайн (поÑылаетÑÑ Ð² окно чата, еÑли "
"включен лог)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Глобальное извещение (доÑтупно только админу)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Ð”Ð»Ñ Ð±Ð¾Ð»ÐµÐµ точной информации введите /help <команда>"
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Команда: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Эта команда показывает ÑпиÑок доÑтупных команд"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Команда: /help <команда>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Эта команда показывает помощь по <команде>."
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Команда: /announce <Ñообщение>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** доÑтупно только Ð´Ð»Ñ GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "Эта команда поÑылает <Ñообщение> вÑем игрокам в Ñети."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Команда: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Эта команда очищает лог чата."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Комманда: /new <имÑ_группы>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Эта команда показывает чиÑло пользователей в Ñети на данный момент."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Команда: /join <канал>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Команда Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð° на <канал>."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "ЕÑли <канал> не ÑущеÑтвует, он будет Ñоздан."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Команда: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Эта команда показывает ÑпиÑок вÑех каналов."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Комманда: /me <Ñообщение>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Эта команда покажет другим игрокам, что вы (делаете) <Ñообщение>."
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Комманда: /msg <Ð¸Ð¼Ñ Ð¿ÐµÑ€Ñонажа> <Ñообщение>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Команда: /whisper <Ð¸Ð¼Ñ Ð¿ÐµÑ€Ñонажа> <Ñообщение>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Команда: /w <ник> <Ñообщение>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Эта команда поÑылает текÑÑ‚ <Ñообщение> пользователю <nick>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr "ЕÑли ник Ñодержит пробелы, заключите его в кавычки (\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Команда: /query <Ð¸Ð¼Ñ Ð¿ÐµÑ€Ñонажа>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Команда: /q <Ð¸Ð¼Ñ Ð¿ÐµÑ€Ñонажа>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Эта команда ÑоздаÑÑ‚ закладку Ð´Ð»Ñ Ð»Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ вами и <Ð¸Ð¼Ñ Ð¸Ð³Ñ€Ð¾ÐºÐ°>."
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Команда: /w <ник> <Ñообщение>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Команда: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Задает тему Ð´Ð»Ñ <Ñообщение>."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Command: /create <имÑ_группы>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Эти комманды Ñоздают группу под названием <имÑ_группы>."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Комманда: /party <имÑ>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Эта команда приглашает <Ð¸Ð¼Ñ Ð¿ÐµÑ€Ñонажа> к вам в группу."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Комманда: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -365,27 +342,27 @@ msgstr ""
"Комманда получпет ÑпиÑок вÑех игроков, которых вы Ñлышите и поÑылает его "
"либо в лог-файл (еÑли включена Ñ‚Ð°ÐºÐ°Ñ Ð¾Ð¿Ñ†Ð¸Ñ), либо в окно чата."
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Команда: /record <Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr "Эта команда начнет протоколирование окна чата в файл <Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°>."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Команда: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Эта команда завершает запиÑÑŒ."
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Комманда: /toggle <режим>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
@@ -393,7 +370,7 @@ msgstr ""
"Эта комманда уÑтанавливает, будет ли нажатие клавиши Enter переключать лог "
"чата или же он (лог) будет выключен автоматичеÑки."
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -401,48 +378,48 @@ msgstr ""
"<режим> может быть \"1\", \"yes\", \"true\" дабы включить опцию или \"0\", "
"\"no\", \"false\" чтобы выключить."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Команда: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Комманда: /new <имÑ_группы>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Команда: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Эта команда показывает Ð¸Ð¼Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ карты."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Команда: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Эта команда показывает чиÑло пользователей в Ñети на данный момент."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Введите /help Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑпиÑка команд."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð»ÑÑ‚ÑŒ пуÑтые ÑообщениÑ!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -451,66 +428,66 @@ msgstr ""
"Ðевозможно Ñоздать вкладку Ð´Ð»Ñ Ð»Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ Ð¸Ð³Ñ€Ð¾ÐºÐ¾Ð¼ \"%s\"! Или вкладка "
"уже Ñоздана, или Ñтот игрок вы Ñами."
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° приÑоединение к каналу %s."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "Enter переключает Ð²Ð°Ñ Ð½Ð° окно чата."
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "Сообщение закрывает чат."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "Теперь Return переключает чат."
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Теперь Ñообщение закрывает чат."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "ÐÐ¸Ð·Ð·Ñ Ð¿Ñ€Ð¾ÑˆÐµÐ¿Ñ‚Ð°Ñ‚ÑŒ: пользователь игнорирует шептание..."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "ÐÐ¸Ð·Ð·Ñ Ð¿Ñ€Ð¾ÑˆÐµÐ¿Ñ‚Ð°Ñ‚ÑŒ: пользователь игнорирует шептание..."
@@ -522,42 +499,42 @@ msgstr ""
"/%s может принимать значение \"yes\", \"no\", \"true\", \"false\", \"1\" или "
"\"0\"."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Общие"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Снимок Ñкрана Ñохранен в ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Ошибка при Ñохранении Ñнимка Ñкрана!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "Соединение Ñ Ñервером потерÑно, завершение программы."
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Ошибка Ñети"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Игнорировать Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ торговле"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Принимать Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾ торговле"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Ðе удалоÑÑŒ загрузить карту"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Ошибка во Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ %s"
@@ -571,34 +548,34 @@ msgstr "Группа (%s)"
msgid "Buy"
msgstr "Купить"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Цена: %s / Ð’Ñего: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Выход"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "МакÑ"
@@ -612,11 +589,11 @@ msgstr "Продать"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Отмена"
@@ -692,14 +669,14 @@ msgstr "Создать перÑонажа"
msgid "Name:"
msgstr "ИмÑ:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -716,8 +693,8 @@ msgstr "Цвет волоÑ:"
msgid "Hair style:"
msgstr "Стрижка:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Создать"
@@ -773,8 +750,8 @@ msgstr "Удалить региÑтрацию"
msgid "Change Email"
msgstr "Сменить Ð°Ð´Ñ€ÐµÑ E-mail"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Удалить"
@@ -783,24 +760,24 @@ msgstr "Удалить"
msgid "Choose"
msgstr "Закрыть"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Чат"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d игроков он-лайн."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Вы прошептали %s: %s"
@@ -866,8 +843,8 @@ msgstr "Эффекты окружающей Ñреды"
msgid "Equipment"
msgstr "СнарÑжение"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "СнÑÑ‚ÑŒ"
@@ -875,7 +852,7 @@ msgstr "СнÑÑ‚ÑŒ"
msgid "Help"
msgstr "Помощь"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Закрыть"
@@ -887,81 +864,84 @@ msgstr "Инвентарь"
msgid "Storage"
msgstr "Хранение"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "ВмеÑтимоÑÑ‚ÑŒ:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Ðадеть"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "ИÑпользовать"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "БроÑить"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Разделить"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "ВеÑ:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Хранить"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Получить"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "БроÑить"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "ОК"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Ð’ÑÑ‘"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Сколько предметов продать."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Сколько предметов ÑброÑить."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "Укажите количеÑтво вещей Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "Укажите количеÑтво вещей Ð´Ð»Ñ Ð¸Ð·ÑŠÑтиÑ."
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Сколько предметов разделить."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "ВеÑ: "
@@ -992,40 +972,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Карта"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Ожидание ответа от Ñервера"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Следующий"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Применить"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "СброÑить"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1040,7 +1020,7 @@ msgstr "ДлÑ:"
msgid "Send"
msgstr "Отправить"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "Ðевозможно поÑлать ибо отправитель либо Ñообщение неверны."
@@ -1129,7 +1109,7 @@ msgstr "@@chat|Добавить в чат@@"
msgid "Pick up %s"
msgstr "ПоднÑÑ‚ÑŒ"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|Добавить в чат@@"
@@ -1202,61 +1182,61 @@ msgstr "Пароль не должен Ñодержать более %d Ñимв
msgid "Passwords do not match."
msgstr "Пароли не Ñовпадают."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Выберите Ñервер"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Сервер:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Порт:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Сервер:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Соединение..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Выборочный курÑор"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Следует указать Ð°Ð´Ñ€ÐµÑ Ð¸ порт Ñервера."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Ожидание ответа от Ñервера"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1294,53 +1274,53 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "Вот, как выглÑдит Ñей цвет"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Цвета"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Введите: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Статичный"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "ПульÑирующий"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Радуга"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Играть"
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Он-лайн: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Синий: "
@@ -1426,28 +1406,33 @@ msgstr "Игнорировано"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Разрешить торговлю"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Разрешить шептание"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "Личные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð²Ð¾ вкладках"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Показать имÑ"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "ÐÐ¸Ð·Ð·Ñ Ð¿Ñ€Ð¾Ð´Ð°Ñ‚ÑŒ!"
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Игроки"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1503,510 +1488,477 @@ msgstr "Ñредне"
msgid "max"
msgstr "макÑимальное"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Ðа полный Ñкран"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Выборочный курÑор"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Видимые имена"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Эффекты чаÑтиц"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Показать имÑ"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "Показать уведомление о подборе предмета"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "Ограничение кадр/Ñ:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Видео"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Показать имÑ"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "ПрозрачноÑÑ‚ÑŒ интерфейÑа"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Эффекты окружающей Ñреды"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "КачеÑтво чаÑтиц"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Размер шрифта"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Ðет"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Переключение в полноÑкранный режим"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Ð”Ð»Ñ Ð²ÑÑ‚ÑƒÐ¿Ð»ÐµÐ½Ð¸Ñ Ð² Ñилу выбранных наÑтроек требуетÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° игры."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Переключение на OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Переход к OpenGL требует перезагрузки игры."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Перезегрузите игру дабы Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²Ñтупили в Ñилу"
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Эффекты чаÑтиц"
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "УмениÑ"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Верх"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Очков навыков: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Очков навыков: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "УмениÑ"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Уровень: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Уровень: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Создать Гильдию"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Ð’Ñ‹ дейÑтвительно хотите выйти?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "ПриглаÑить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° канал"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "ПриглаÑить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° канал"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Ð’Ñ‹ дейÑтвительно хотите выйти?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Создать Гильдию"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Создать перÑонажа"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "ПриглаÑить пользователÑ"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Большой"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "ПринÑÑ‚ÑŒ приглашение от %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Отклонено приглашение от %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "ПринÑÑ‚ÑŒ приглашение от %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Отклонено приглашение от %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "ГильдиÑ"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Выберите Ñервер"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "Получено приглашение в группу, но уже одно еÑÑ‚ÑŒ"
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s приглашает приÑоединитьÑÑ Ðº %s группе."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "ПринÑÑ‚ÑŒ приглашение в группу"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Получено приглашение в группу, но уже одно еÑÑ‚ÑŒ"
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s приглашает Ð²Ð°Ñ Ðº Ñебе в группу."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s приглашает приÑоединитьÑÑ Ðº %s группе."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s приглашает Ð²Ð°Ñ Ðº Ñебе в группу."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s приглашает приÑоединитьÑÑ Ðº %s группе."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "ПринÑÑ‚ÑŒ приглашение в группу"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Группа"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Выберите Ñервер"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Уровень: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Деньги: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "ЖО:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "Мана:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "ПрофеÑÑиÑ: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "ПрофеÑÑиÑ:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "ЖО:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "Мана:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Exp:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Деньги: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "ПрофеÑÑиÑ:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Данные перÑонажа в порÑдке"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Очков навыков: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Уровень: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Предложить торговлю"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Подтверждено. Ждем-Ñ..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Подтвердить торговлю"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Подтверждено. Ждем-Ñ..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "ТорговлÑ: Ð’Ñ‹"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Торговать"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Добавить"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Вы получили %s."
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Вы отдаете:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Сменить"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "У Ð²Ð°Ñ Ð½ÐµÐ´Ð¾Ñтаточно денег"
@@ -2046,85 +1998,6 @@ msgstr "##1 попытатьÑÑ ÐµÑ‰Ðµ раз немного погодÑ"
msgid "Completed"
msgstr "Завершено"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Имена других игроков"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "СобÑтвенное имÑ"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "Имена ГМ"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "Боты"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "МонÑтры"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Группа"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "ГильдиÑ"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Эффекты чаÑтиц"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "Сообщение о подборе предмета"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "Сообщение об изменении опыта"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Удары игрока по монÑтру"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "Удары монÑтра по игроку"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "КритичеÑкий удар"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "Удары игрока по монÑтру"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "КритичеÑкий удар"
-
-#: src/gui/userpalette.cpp:111
-#, fuzzy
-msgid "Local Player Miss"
-msgstr "Сохранить ÑпиÑок игроков"
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Промахи"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > СпиÑок пользователей текущего канала"
@@ -2202,55 +2075,55 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Глобальное объÑвление:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Глобальное объÑвление от %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s шепчет: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "ÐÐ¸Ð·Ð·Ñ Ð¿Ð¾Ñлать пуÑтое Ñообщение!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Закрыть вкладку перешептываниÑ"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Комманда: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Закрывает вкладку перешептываниÑ"
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Команда: /where"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Эта команда показывает чиÑло пользователей в Ñети на данный момент."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr "Эта команда начнет протоколирование окна чата в файл <Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°>."
@@ -2278,397 +2151,410 @@ msgstr "Сменить"
msgid "Choose World"
msgstr "Выберите Ñервер"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "ДвигатьÑÑ Ð²Ð²ÐµÑ€Ñ…"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "ДвигатьÑÑ Ð²Ð½Ð¸Ð·"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "ДвигатьÑÑ Ð²Ð»ÐµÐ²Ð¾"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "ДвигатьÑÑ Ð²Ð¿Ñ€Ð°Ð²Ð¾"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Ðтаковать"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "ПрицелитьÑÑ Ð¸ атаковать"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "УлыбнутьÑÑ"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Говорить"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Прекратить атаку"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "ПрицелитьÑÑ Ð½Ð° ближайшего"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "ПрицелитьÑÑ Ð½Ð° NPC"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "ПрицелитьÑÑ Ð½Ð° игрока"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "ПоднÑÑ‚ÑŒ"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Скрыть окна"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "СеÑÑ‚ÑŒ"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Сделать Ñкриншот"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Разрешить/Запретить торговлю"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "Идти за курÑором мыши"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "ÐšÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ предмета %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Окно помощи"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Окно ÑтатуÑа"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Окно инвентарÑ"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Окно екипировки"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Окно навыков"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Окно мини-карты"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Окно чата"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Окно комбинаций клавиш предметов"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Окно наÑтроек"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Окно отладки"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Окно навыков"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "Окно емоций"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Окно ÑтатуÑа"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "ÐšÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ Ð´Ð»Ñ ÐµÐ¼Ð¾Ñ†Ð¸Ð¸ %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "ПереключитÑÑ Ð½Ð° чат"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Прокрутить чат вверх"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Прокрутить чат вниз"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð·Ð°ÐºÐ»Ð°Ð´ÐºÐ° чата"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ð·Ð°ÐºÐ»Ð°Ð´ÐºÐ° чата"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "Выбрать Ok"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "Игнорировать ввод 1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "Игнорировать ввод 2"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "ИÑправьте их, или игра может ÑÐµÐ±Ñ Ñтранно веÑти."
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Опции:"
-#: src/main.cpp:44
+#: src/main.cpp:48
msgid " -v --version : Display the version"
msgstr ""
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr "/help > Отображает Ñтот текÑÑ‚"
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
+msgstr ""
+
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Вы отдаете:"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "Уже в Ñети"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "Пользователь Ñ Ñ‚Ð°ÐºÐ¸Ð¼ именем уже ÑущеÑтвует"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Данные перÑонажа в порÑдке"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Данные перÑонажа в порÑдке"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2676,96 +2562,96 @@ msgstr ""
msgid "Unknown error."
msgstr "ÐеизвеÑтный предмет"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "СведениÑ"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "ПерÑонаж удален"
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Сколько предметов продать."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°."
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "Удары игрока по монÑтру"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Команда: /join <канал>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° приÑоединение к каналу %s."
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s теперь в группе."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2855,11 +2741,11 @@ msgstr "Введенный Ð°Ð´Ñ€ÐµÑ E-mail уже зарегиÑтрирова
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s теперь в группе."
@@ -2869,190 +2755,137 @@ msgstr "%s теперь в группе."
msgid "%s rejected your invite."
msgstr "Отклонено приглашение от %s."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Сила"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "Сила %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "ЛовкоÑÑ‚ÑŒ"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "ЛовкоÑÑ‚ÑŒ %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "ВыноÑливоÑÑ‚ÑŒ"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "ВыноÑливоÑÑ‚ÑŒ %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Интеллект"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Сила волиr:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Ðечего продавать..."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "СпаÑибо за покупку!"
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "ÐÐ¸Ð·Ð·Ñ ÐºÑƒÐ¿Ð¸Ñ‚ÑŒ!"
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "СпаÑибо за продажу!"
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "ÐÐ¸Ð·Ð·Ñ Ð¿Ñ€Ð¾Ð´Ð°Ñ‚ÑŒ!"
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "ÐÐ¸Ð·Ð·Ñ Ð¸Ñпользовать данный ID"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "ÐеизвеÑтный предмет"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Ðевозможно Ñоздать перÑонажа. Скорее вÑего, таке Ð¸Ð¼Ñ ÑƒÐ¶Ðµ иÑпользуетÑÑ."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "ПерÑонаж удален"
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Ðевозможно удалить перÑонажа"
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Сила:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "ВыноÑливоÑÑ‚ÑŒ:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "ЖивучеÑÑ‚ÑŒ:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Интеллект:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "ЛовкоÑÑ‚ÑŒ:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Удача:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "ÐÐ¸Ð·Ð·Ñ Ð¿Ñ€Ð¾ÑˆÐµÐ¿Ñ‚Ð°Ñ‚ÑŒ: пользователь оффлайн"
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "ÐÐ¸Ð·Ð·Ñ Ð¿Ñ€Ð¾ÑˆÐµÐ¿Ñ‚Ð°Ñ‚ÑŒ: пользователь игнорирует шептание..."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Игрок"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "Каналы не поддерживаютÑÑ!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3066,78 +2899,123 @@ msgstr "ИмÑ"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "Сила %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "ВыноÑливоÑÑ‚ÑŒ %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "ЛовкоÑÑ‚ÑŒ %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "Удача %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Ошибка авторизации"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "Ðету доÑтупных Ñерверов"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "Кто-то еще пытаетÑÑ Ð²Ð¾ÑпользоватьÑÑ Ð´Ð°Ð½Ð½Ñ‹Ð¼ аккаунтом"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "Этот аккаунт уже авторизован"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "ÐеизвеÑтный Глюк авторизации"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "Отключено от Ñервера!"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Сила"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "ВыноÑливоÑÑ‚ÑŒ"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Интеллект"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "ЛовкоÑÑ‚ÑŒ"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Удача"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Защита:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "МагичеÑÐºÐ°Ñ Ð°Ñ‚Ð°ÐºÐ°:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "МагичеÑÐºÐ°Ñ Ð·Ð°Ñ‰Ð¸Ñ‚Ð°:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% точноÑти:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% уклонениÑ:"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "КритичеÑкий удар"
@@ -3187,27 +3065,27 @@ msgstr "Эта комманда заÑтавлÑет игрока покинут
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3284,15 +3162,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3300,15 +3178,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3316,15 +3194,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "ÐÐ¸Ð·Ð·Ñ ÐµÐºÐ¸Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ!"
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "ÐÐ¸Ð·Ð·Ñ Ñ€Ð°Ð·ÐµÐºÐ¸Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ"
@@ -3386,7 +3264,7 @@ msgstr "ÐÐ¸Ð·Ð·Ñ Ð¿Ñ€Ð¾Ð´Ð°Ñ‚ÑŒ!"
msgid "Connection to server terminated. "
msgstr "Подключение к Ñерверу карт..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3394,242 +3272,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "ПриглаÑить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° канал"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "Вы получили %s."
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "У Ð’Ð°Ñ Ð½ÐµÐ´Ð¾Ñтаточный уровень!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Ð’Ñ‹ не можете Ñделать Ñто ÑейчаÑ!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Ð’Ñ‹ не можете иÑпользовать Ñто умение Ñ Ñтим видом оружиÑ!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "Ð’Ñ‹ неÑёте Ñлишком много, чтобы Ñделать Ñто!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "Ð? Что Ñто?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Яд не подейÑтвовал..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3645,57 +3518,72 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|ПолноÑтью игнорировать %s@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Ðтака %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Защита %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "Мана %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "ÐеизвеÑтный предмет"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "безымÑнный"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "ЖО:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "Мана:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Exp:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Деньги: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "ПрофеÑÑиÑ:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Уровень: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "ДоÑтуп запрещен"
@@ -3706,6 +3594,10 @@ msgstr "безымÑнный"
#~ msgid "Willpower:"
#~ msgstr "Сила волиr:"
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Сила волиr:"
+
#~ msgid "Text Shadow"
#~ msgstr "Затенение текÑта"
@@ -3747,6 +3639,21 @@ msgstr "безымÑнный"
#~ msgid "Hyperlink"
#~ msgstr "СÑылка"
+#~ msgid "Other Players' Names"
+#~ msgstr "Имена других игроков"
+
+#~ msgid "Own Name"
+#~ msgstr "СобÑтвенное имÑ"
+
+#~ msgid "GM Names"
+#~ msgstr "Имена ГМ"
+
+#~ msgid "NPCs"
+#~ msgstr "Боты"
+
+#~ msgid "Monsters"
+#~ msgstr "МонÑтры"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Вещь неизвеÑтного типа"
@@ -3788,6 +3695,29 @@ msgstr "безымÑнный"
#~ msgid "Ammo"
#~ msgstr "БоеприпаÑÑ‹"
+#~ msgid "Particle Effects"
+#~ msgstr "Эффекты чаÑтиц"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "Сообщение о подборе предмета"
+
+#~ msgid "Exp Notification"
+#~ msgstr "Сообщение об изменении опыта"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "Удары игрока по монÑтру"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "Удары монÑтра по игроку"
+
+#~ msgid "Critical Hit"
+#~ msgstr "КритичеÑкий удар"
+
+#~ msgid "Misses"
+#~ msgstr "Промахи"
+
#~ msgid "HP Bar"
#~ msgstr "Строка жизненных очков (ЖО)"
@@ -3967,3 +3897,6 @@ msgstr "безымÑнный"
#~ msgid "Scroll laziness"
#~ msgstr "ЗаторможенноÑÑ‚ÑŒ прокрутки"
+
+#~ msgid "Save player list"
+#~ msgstr "Сохранить ÑпиÑок игроков"
diff --git a/po/sk.po b/po/sk.po
index bd747b4e..585f99d8 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-06-08 22:09+0000\n"
"Last-Translator: Thorbjørn Lindeijer <bjorn@lindeijer.nl>\n"
"Language-Team: Slovak <sk@li.org>\n"
@@ -19,481 +19,458 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Nastavenie"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Pripájam sa..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Prihlásenie"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Vyberte postavu"
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Vyberte Server"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Chyba"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Heslo:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Zrušiť registráciu"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Neznámy príkaz."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Pomoc --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr ""
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr ""
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr ""
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Príkaz: /hel"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Tento príkaz zobrazí zoznam veštkých prístupných príkazov."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Príkaz: /help <príkaz>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Tento príkaz zobrazí nápovedu pre <príkaz>."
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Príkaz: /announce <správa>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** prístupné iba pre GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "Tento príkaz pošle správu <správa> všetkým pripojeným používateľom."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Príkaz: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Tento príkaz vymaže obsah logu predchádzajúceho rozhovoru."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Príkaz: /announce <správa>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Tento príkaz zobrazí poÄet aktuálne pripojených hráÄov."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr "Ak <nick> medzery v mene, použi dvojité úvodzovky (\")."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Príkaz: /clear"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Príkaz: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Tento príkaz vymaže obsah logu predchádzajúceho rozhovoru."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Príkaz: /clear"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Príkaz: /announce <správa>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Príkaz: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Tento príkaz zobrazí meno aktuálne mapy."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Príkaz: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Tento príkaz zobrazí poÄet aktuálne pripojených hráÄov."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Napíš /help pre zoznam príkazov."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -502,40 +479,40 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Nie je možné vstúpiť do párty!"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -549,34 +526,34 @@ msgstr ""
msgid "Buy"
msgstr "Kúpiť"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "UkonÄiÅ¥"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -590,11 +567,11 @@ msgstr "Predaj"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Zrušiť"
@@ -667,14 +644,14 @@ msgstr "Vytvoriť postavu"
msgid "Name:"
msgstr "Meno"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -691,8 +668,8 @@ msgstr "Farba vlasov:"
msgid "Hair style:"
msgstr "Štýl vlasov:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Vytvoriť"
@@ -748,8 +725,8 @@ msgstr "Zrušiť registráciu"
msgid "Change Email"
msgstr "Zmeniť Emailovú adresu"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Vymazať"
@@ -758,24 +735,24 @@ msgstr "Vymazať"
msgid "Choose"
msgstr "Zatvoriť"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Nápoveda pre %s: %s"
@@ -841,8 +818,8 @@ msgstr ""
msgid "Equipment"
msgstr "Vybavenie"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Odstrojiť"
@@ -850,7 +827,7 @@ msgstr "Odstrojiť"
msgid "Help"
msgstr "Nápoveda"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Zatvoriť"
@@ -862,81 +839,84 @@ msgstr "Inventár"
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Vystrojiť"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Použiť"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Zahodiť"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Zahodiť"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "Potvrdiť"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Zvoľte množstvo vecí k predaju."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Zvoľte množstvo vecí k zahodeniu."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Zvoľte množstvo vecí k rozdeleniu."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Effekt: %s"
@@ -967,40 +947,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Nasledujúci"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1015,7 +995,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1102,7 +1082,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1174,59 +1154,59 @@ msgstr "Heslo musí byť menšie %d ako písmen."
msgid "Passwords do not match."
msgstr "Heslá sa nezhodujú."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr ""
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Pripájam sa..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Vyberte Server"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1263,50 +1243,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1390,27 +1370,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1466,489 +1450,460 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Nie"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Schopnosti"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Schopnosti"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Level: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Level: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Naozaj chcete odstrániť túto postavu?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Naozaj chcete odstrániť túto postavu?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Vytvoriť postavu"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Klany, aliancie, guildy"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Level: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Peniaze: %d"
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Charakterové staty OK"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Level: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1987,79 +1942,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Klany, aliancie, guildy"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2136,55 +2018,55 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Globálne oznámenie:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Globálne oznámenie od %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "Nápoveda pre %s: %s"
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Príkaz: /where"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Tento príkaz zobrazí poÄet aktuálne pripojených hráÄov."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2209,390 +2091,403 @@ msgstr ""
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
msgid " -h --help : Display this help"
msgstr ""
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
+msgstr ""
+
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Charakterové staty OK"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Charakterové staty OK"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2600,92 +2495,92 @@ msgstr ""
msgid "Unknown error."
msgstr "Neznámy príkaz."
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Zvoľte množstvo vecí k predaju."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Neznámy príkaz."
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Neznámy príkaz."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2764,11 +2659,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2778,188 +2673,135 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Sila vôle:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Neznámy príkaz."
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Sila:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Čulosť:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Vitalita:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Inteligencia:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Obratnosť:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2973,72 +2815,117 @@ msgstr "Meno"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Vytvorenie postavy sa nepodarilo"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Vymazať"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3084,27 +2971,27 @@ msgstr "Tento príkaz zobrazí meno aktuálne mapy."
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3180,15 +3067,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3196,15 +3083,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3212,15 +3099,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3278,7 +3165,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3286,242 +3173,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Obchod sa nepodaril!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "Zobrazenie smajlíka sa nepodarilo!"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Sadnutie sa nepodarilo!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Vytvorenie postavy sa nepodarilo"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Nie je možné vstúpiť do párty!"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "Nemôžem kriÄaÅ¥!"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "EÅ¡te si nedosiahol dostatoÄne vysokú úroveÅ¥!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "Nedostatok HP!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "Nedostatok SP!"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "Nemáš žiadne poznámky!"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Práve teraz to nemôžeš robiť."
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "NemôžeÅ¡ použiÅ¥ túto zruÄnosÅ¥ s touto zbraňou!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "PotrebujeÅ¡ Äaľší Äervený gem!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "PotrebujeÅ¡ Äaľší modrý gem!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "Nosíš veľa, aby si mohol spraviť toto!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "Heh? ÄŒo to je?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "Warp sa nepodaril ..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "Nedá sa kradnúť ..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Jed nemá žiaden úÄinnok ..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3537,58 +3419,61 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Peniaze: %d"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Level: %d"
+
#~ msgid "Willpower:"
#~ msgstr "Sila vôle:"
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Sila vôle:"
+
#~ msgid "Description: %s"
#~ msgstr "Popis: %s"
diff --git a/po/sq.po b/po/sq.po
index 03ba7120..c1e27a95 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2010-01-02 10:47+0000\n"
"Last-Translator: Jat Lee <Unknown>\n"
"Language-Team: Albanian <sq@li.org>\n"
@@ -19,468 +19,448 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr ""
-#: src/client.cpp:643
+#: src/client.cpp:679
msgid "Connecting to server"
msgstr ""
-#: src/client.cpp:670
+#: src/client.cpp:706
msgid "Logging in"
msgstr ""
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
msgid "Changing game servers"
msgstr ""
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr ""
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
msgid "Password Change"
msgstr ""
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Unknown command > Komand e panjohur"
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Ndihmë--"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/ndihmë > Ndihmë përeth disa komandave"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/ku > Emri i mapit ku gjendesh"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/kush > Numri i lojtarëve online"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/unë >Trego diqka për veten"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/pastro > Pastro këtë dritare"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/mesazh > Dërgo mesazh privat te playeri që dëshiron"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/pëshpëritje > pseudonim i mesazhit"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > pseudonim i mesazhit"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -489,39 +469,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -535,34 +515,34 @@ msgstr ""
msgid "Buy"
msgstr ""
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr ""
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -576,11 +556,11 @@ msgstr ""
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr ""
@@ -653,14 +633,14 @@ msgstr ""
msgid "Name:"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -675,8 +655,8 @@ msgstr ""
msgid "Hair style:"
msgstr ""
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr ""
@@ -731,8 +711,8 @@ msgstr ""
msgid "Change Email"
msgstr ""
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr ""
@@ -740,24 +720,24 @@ msgstr ""
msgid "Choose"
msgstr ""
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -823,8 +803,8 @@ msgstr ""
msgid "Equipment"
msgstr ""
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -832,7 +812,7 @@ msgstr ""
msgid "Help"
msgstr ""
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -844,80 +824,83 @@ msgstr ""
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr ""
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr ""
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr ""
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, c-format
msgid "Weight: %s"
msgstr ""
@@ -946,40 +929,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr ""
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
msgid ""
"\n"
"> Next\n"
@@ -993,7 +976,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1079,7 +1062,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1151,56 +1134,56 @@ msgstr ""
msgid "Passwords do not match."
msgstr ""
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr ""
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr ""
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
msgid "Server type:"
msgstr ""
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
msgid "Connect"
msgstr ""
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
msgid "Custom Server"
msgstr ""
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1237,50 +1220,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1364,27 +1347,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1440,484 +1427,457 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
msgid "None"
msgstr ""
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr ""
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, c-format
msgid "Skill %d"
msgstr ""
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, c-format
msgid "Lvl: %d (%+d)"
msgstr ""
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, c-format
msgid "Lvl: %d"
msgstr ""
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, c-format
msgid "Are you sure you want to leave party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
msgid "Create Party"
msgstr ""
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-msgid "Money"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-msgid "Level"
-msgstr ""
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1956,78 +1916,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2104,53 +1992,53 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2174,389 +2062,402 @@ msgstr ""
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr "/ndihmë > Ndihmë përeth disa komandave"
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2564,91 +2465,91 @@ msgstr ""
msgid "Unknown error."
msgstr "Unknown command > Komand e panjohur"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Unknown command > Komand e panjohur"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Unknown command > Komand e panjohur"
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2725,11 +2626,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2739,187 +2640,135 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Unknown command > Komand e panjohur"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2932,70 +2781,115 @@ msgstr ""
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
msgid "Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3040,27 +2934,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3136,15 +3030,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3152,15 +3046,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3168,15 +3062,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3232,7 +3126,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3240,242 +3134,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3491,51 +3380,42 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
diff --git a/po/sv.po b/po/sv.po
index 4107d206..8949cd3b 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-07-17 05:36+0000\n"
"Last-Translator: Kess Vargavind <Unknown>\n"
"Language-Team: Swedish <sv@li.org>\n"
@@ -19,348 +19,325 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Inställningar"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Ansluter till kartservern..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Användarnamn"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "Välj karaktär"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "Ansluter till kartservern..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Server"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Fel"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Lösenord:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Ändra"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "Medlem befordrad."
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Avregistrera"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "Ogiltig uppdateringsvärd: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "Kunde inte skapa katalog för uppdateringar!"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Okänt kommando."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Hjälp --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Visa den här hjälpen"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Visa kartans namn"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Visa antalet inloggade spelare"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Säg något om dig själv"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Tömmer det här fönstret"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Skickar ett privat meddelande till en spelare"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Alias för msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Alias för msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > Skapar en flik för privata meddelanden med en annan spelare"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > Alias för query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Visa alla offentliga chattkanaler"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > GÃ¥ med i eller skapa en chattkanal"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > Skapa ny grupp"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > Bjud in en spelare till din grupp"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > Påbörja loggning av chatten till en extern fil"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > Avgör huruvida <retur> aktiverar chattfönstret eller ej"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
"/present > Lista närvarande spelare (sänds till chattloggen om loggning är "
"aktiverad)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Globalt meddelande (endast för GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Skriv /help <kommando> för mer information."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Kommando: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Det här kommandot visar en lista över alla tillgängliga kommandon."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Kommando: /help <kommando>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Det här kommandot ger mer information om <kommando>."
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Kommando: /announce <text>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** endast en GM kan använda det här kommandot ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
"Det här kommandot skickar meddelandet <text> till alla inloggade spelare."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Kommando: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Det här kommandot tömmer chattloggen."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Kommando: /item <alternativ>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Det här kommandot visar antalet spelare som är inloggade just nu."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Kommando: /join <chattkanal>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Det här kommandot låter dig gå in i <chattkanal>."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Om <chattkanal> inte existerar, skapas den."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Kommando: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Det här kommandot visar en lista över alla chattkanaler."
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Kommando: /me <meddelande>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Det här kommandet berättar för andra att du är/gör <meddelande>."
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Kommando: /msg <spelare> <meddelande>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Kommando: /whisper <spelare> <meddelande>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Kommando: /w <spelare> <meddelande>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Det här kommandot skickar <meddelande> till <spelare>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
"Om <spelare> innehåller mellanslag, måste du sätta citattecken (\") runt det."
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Kommando: /query <spelare>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Kommando: /q <spelare>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Det här kommandot försöker att skapa en flik för viskningar mellan dig och "
"<spelare>."
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Kommando: /w <spelare> <meddelande>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Kommando: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Det här kommandot sätter ämnet till <meddelande>."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Kommando: /create <grupp>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Dessa kommandon skapar <grupp>."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Kommando: /party <spelare>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Det här kommandot bjuder in <spelare> till din grupp."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Kommando: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -368,27 +345,27 @@ msgstr ""
"Det här kommandot ger en lista över spelare som finns inom höravstånd, om "
"loggning av chatten är aktiverad skickas listan till loggfilen."
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Kommando: /record <filnamn>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr "Det här kommandot startar loggning av chatten till <filnamn>."
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Kommando: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Det här kommandot slutar loggning av chatten."
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Kommando: /toggle <tillstånd>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
@@ -396,7 +373,7 @@ msgstr ""
"Det här kommandot anger huruvida retur visar/döljerer chattfönstret eller om "
"chattfönstret stänger sig själv."
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -404,48 +381,48 @@ msgstr ""
"<tillstÃ¥nd> kan vara â€1â€, â€yes†eller â€true†för att använda returtangenten "
"eller â€0â€, â€no†eller â€false†för att använda automatisk stängning."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Kommando: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "Det här kommandot visar tillståndet för huruvida retur används."
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Kommando: /item <alternativ>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Kommando: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Det här kommandot visar namnet på den karta där du befinner dig."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Kommando: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Det här kommandot visar antalet spelare som är inloggade just nu."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Skriv /help för en lista med kommandon."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "Behöver en text att viska!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -454,67 +431,67 @@ msgstr ""
"Kan inte skapa viskningsflik för smeknamnet \"%s\"! Antingen existerar "
"fliken redan eller så försöker du viska till dig själv."
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "Skickar förfrågan att gå in i chattkanalen %s."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "Du måste ange gruppens namn."
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "Retur visar/döljer chattfönstret."
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "Meddelande stänger chattfönstret."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "Retur växlar nu chattfönstrets synlighet."
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Meddelanden stänger nu chattfönstret."
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "Grupp skapad."
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "Kunde inte viska eftersom ignorerad av spelaren."
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "Kunde inte viska eftersom ignorerad av spelaren."
@@ -524,43 +501,43 @@ msgstr "Kunde inte viska eftersom ignorerad av spelaren."
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr "Alternativ till /%s är â€yesâ€, â€noâ€, â€trueâ€, â€falseâ€, â€1â€, â€0â€."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Allmänt"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Skärmbild sparades till ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Kunde inte spara skärmbild!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr ""
"Förbindelsen till servern förlorades, programmet kommer nu att avslutas."
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Nätverksfel"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Ignorerar handelserbjudanden"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Accepterar handelserbjudanden"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Kunde inte ladda karta"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Kunde inte ladda %s"
@@ -574,34 +551,34 @@ msgstr "Grupp (%s)"
msgid "Buy"
msgstr "Köp"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Pris: %s / Totalt: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Avsluta"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "Max"
@@ -615,11 +592,11 @@ msgstr "Sälj"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Avbryt"
@@ -695,14 +672,14 @@ msgstr "Skapa karaktär"
msgid "Name:"
msgstr "Namn:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -719,8 +696,8 @@ msgstr "Hårfärg:"
msgid "Hair style:"
msgstr "Frisyr:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Skapa"
@@ -776,8 +753,8 @@ msgstr "Avregistrera"
msgid "Change Email"
msgstr "Ändra epostadress"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Ta bort"
@@ -786,24 +763,24 @@ msgstr "Ta bort"
msgid "Choose"
msgstr "Stäng"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Chatt"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d spelare är närvarande."
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "Närvaro loggades till fil."
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Viskar till %s: %s"
@@ -869,8 +846,8 @@ msgstr "Omgivande FX"
msgid "Equipment"
msgstr "Utrustning"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "Avrusta"
@@ -878,7 +855,7 @@ msgstr "Avrusta"
msgid "Help"
msgstr "Hjälp"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Stäng"
@@ -890,81 +867,84 @@ msgstr "Inventarium"
msgid "Storage"
msgstr "Lagring"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "Utrymme:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Utrusta"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Använd"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Släpp"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Dela"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Vikt:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Lagra"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Hämta"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Släpp"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "Okej"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Alla"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Välj antal föremål att handla med."
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Välj antal föremål att släppa."
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "Välj antal att lagra."
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "Välj antal att hämta."
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Välj antal föremål att dela."
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Vikt: "
@@ -996,40 +976,40 @@ msgstr "Upplocksdelning avaktiverad."
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Karta"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Väntar på server"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Nästa"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Vidare"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Återställ"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1044,7 +1024,7 @@ msgstr "Till:"
msgid "Send"
msgstr "Skicka"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
"Kunde inte skicka brevet eftersom antingen avsändaren eller brevet självt är "
@@ -1136,7 +1116,7 @@ msgstr "@@name|Använd namn i chatt@@"
msgid "Pick up %s"
msgstr "Plocka upp"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|Nämn i chattfönstret@@"
@@ -1209,61 +1189,61 @@ msgstr "Lösenordet måste vara kortare än %d tecken."
msgid "Passwords do not match."
msgstr "Lösenorden stämmer inte överens."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Välj din server"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Server:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Ansluter..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Särskild muspekare"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Var vänlig skriv både adressen och porten till en server."
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Väntar på server"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1301,54 +1281,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "Så här ser färgen ut"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Färger"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Typ: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Statisk"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Pulserande"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Regnbåge"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Spektrum"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Fördröjning: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Röd: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Grön: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Blå: "
@@ -1434,28 +1414,33 @@ msgstr "Ignorerad"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Tillåt byteshandel"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Tillåt viskningar"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "Visa alla viskningar i egna flikar"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Visa namn"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "Kan inte sälja."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Spelare"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "Vid ignorering:"
@@ -1511,516 +1496,483 @@ msgstr "medium"
msgid "max"
msgstr "maximal"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Helskärm"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "Särskild muspekare"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Synliga namn"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Partikeleffekter"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Visa namn"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "Visa erhållna saker"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "i chattfönster"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "som partikel"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPS-gräns:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Video"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Visa namn"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "Text ovanför huvudet"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Genomskinlighet"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Omgivande FX"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Partikeldetaljer"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Typsnittsgrad"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Nej"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "läge och återgång till det gamla läget misslyckades också!"
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "läge och återgång till det gamla läget misslyckades också!"
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "Byte till helskärm"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Omstart krävs för att ändringarna ska synas."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "Ändrar OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Ändringar i OpenGL kräver omstart."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "Fördelning av erfarenhet inaktiverad."
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Skärmupplösning ändrad"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Starta om din klient för att ändringen ska börja gälla."
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "Inställningar för partikeleffekter ändrade."
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "Förändringar kommer att börja gälla när du byter karta."
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Färdigheter"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Upp"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "Färdighetspoäng: %d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "Färdighetspoäng: %d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Färdigheter"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Nivå: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Nivå: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "Gille skapat."
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Skapa gille"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Är du säker på att du vill avsluta?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > Bjud in en spelare till din grupp"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > Bjud in en spelare till din grupp"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Är du säker på att du vill avsluta?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Skapa gille"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Skapa karaktär"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "Bjud in spelare"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Stor"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "Accepterade injudan från %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Avslog inbjudan från %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "Accepterade injudan från %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Avslog inbjudan från %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "Kunde inte skapa gille."
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Gille"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Välj din server"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "Mottog en gruppinbjudan, men du har redan en annan inbjudan."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s har bjudit in dig till %ss grupp."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Acceptera gruppinbjudan"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Mottog en gruppinbjudan, men du har redan en annan inbjudan."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s har bjudit in dig till sin grupp."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s har bjudit in dig till %ss grupp."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s har bjudit in dig till sin grupp."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s har bjudit in dig till %ss grupp."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Acceptera gruppinbjudan"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Grupp"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Välj din server"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Nivå: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Pengar: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "EP:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "Jobb: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "Jobb:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "MP:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "EP:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Pengar: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Jobb:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Karaktärens värden okej"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "Färdighetspoäng: %d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Nivå: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Föreslå handel"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "Bekräftat. Väntar…"
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "Godkänn handel"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Godkänt. Väntar…"
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "Byteshandel: du"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Byteshandla"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Lägg till"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Du får %s."
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Du ger:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Ändra"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
"Kan inte lägga till vald sak. Det går inte att byteshandla med samma slags "
"sak flera gånger."
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Du har inte tillräckligt med pengar."
@@ -2060,85 +2012,6 @@ msgstr "##1 du försöker igen senare"
msgid "Completed"
msgstr "Färdig"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "Varelse"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Andra spelares namn"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "Eget namn"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "GM-namn"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPC:er"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Monster"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Grupp"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Gille"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Partikeleffekter"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "Upplocksnotis"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "XP-notifiering"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Spelare slår monster"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "Monster slår spelare"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Kritisk träff"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "Spelare slår monster"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Kritisk träff"
-
-#: src/gui/userpalette.cpp:111
-#, fuzzy
-msgid "Local Player Miss"
-msgstr "Kom ihåg spelarlista"
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Missar"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2218,55 +2091,55 @@ msgstr "Du måste ange vilken spelare som ska få operatörsstatus!"
msgid "Need a user to kick!"
msgstr "Du måste ange vilken spelare som ska sparkas ut!"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Globalt meddelande:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Globalt meddelande från %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s viskar: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Kan inte skicka ett tomt chattmeddelande!"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > Stänger viskningsfliken"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Kommando: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Det här kommandot stänger aktuell viskningsflik."
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Kommando: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Det här kommandot visar antalet spelare som är inloggade just nu."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr "Det här kommandot startar loggning av chatten till <filnamn>."
@@ -2294,322 +2167,335 @@ msgstr "Ändra"
msgid "Choose World"
msgstr "Välj din server"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Gå uppåt"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Gå nedåt"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Gå åt vänster"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Gå åt höger"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Attackera"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Välj & attackera"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "Smiley"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "Prata"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Sluta attackera"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Välj närmaste"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "Välj NPC"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Välj spelare"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "Plocka upp"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Dölj fönster"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "Sitt"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Skärmbild"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Tillåt/neka handel"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "GÃ¥ till muspekaren"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "Tangent för snabbåtkomst %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Hjälpfönster"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Statusfönster"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Inventorium"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Utrustningsfönster"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Färdighetsfönster"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Minikarta"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Chattfönster"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Snabbåtkomstfönster"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Inställningsfönster"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Felsökningsfönster"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Färdighetsfönster"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "Smileyfönster"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Statusfönster"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "Tangent för smiley %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "Växla chattfönster"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Rulla upp chatt"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Rulla ned chatt"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "Föregående chattflik"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "Nästa chattflik"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "Välj okej"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "Ignorera inmatning 1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "Ignorera inmatning 2"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "Se till att använda olika tangenter, annars kan det bli konstigheter."
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "Kunde inte plocka upp."
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "Du plockade upp %s [@@%d|%s@@]."
msgstr[1] "Du plockade upp %s [@@%d|%s@@]."
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Alternativ:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : Visa aktuell version"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : Visa den här hjälpen"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : Konfigurationsfil att använda"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username : Logga in med det här användarnamnet"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : Logga in med det här lösenordet"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character : Logga in med den här karaktären"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server : Namn eller IP-adress för inloggningsserver"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -p --port : Port på inloggningsserver"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host : Använd den här uppdateringsvärden"
-#: src/main.cpp:53
+#: src/main.cpp:57
#, fuzzy
msgid " -D --default : Choose default character server and character"
msgstr " -D --default : Välj förvald karaktärsserver och karaktär"
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : Ladda inte ner uppdateringar"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data : Katalog att hämta speldata från"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : Katalog att använda som hemkatalog"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : Konfigurationsfil att använda"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : Katalog att använda som hemkatalog"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : Använd inte OpenGL den här sessionen"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "Du är död."
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
"Vi beklagar att behöva meddela dig om att din karaktär dödades i strid."
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "Du är inte så värst levande längre."
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr "Liemannens svala händer sträcker sig efter din själ."
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "Spelet är slut!"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
@@ -2617,7 +2503,7 @@ msgstr ""
"Barn, barn. Din karaktär dog egentligen inte. Den… öh… kom till ett bättre "
"ställe."
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
@@ -2625,88 +2511,89 @@ msgstr ""
"Din plan att ha sönder dina fiendens vapen genom att krossa dem med din hals "
"misslyckades."
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "Jag antar att det kunde gått bättre."
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "Vill du att dina tillhörigheter ska identifieras?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "Ledsamt nog så kunde inga spår efter dig någonsin hittas…"
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "Tillintetgjord."
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr "Verkar som att som att någon gav dig ditt huvud."
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
"Du klantade till det igen, släng din kropp vid kloakerna och skaffa dig en "
"ny."
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
#, fuzzy
msgid "Press OK to respawn."
msgstr " Klicka okej för att återuppstå"
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Du dog"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "Redan inloggad"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "Användarnamnet finns redan"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Karaktärens värden okej"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Karaktärens värden okej"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2714,96 +2601,96 @@ msgstr ""
msgid "Unknown error."
msgstr "Okänt fel"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "Information"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "Karaktär borttagen."
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Välj antal föremål att handla med."
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Okänt fel"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "Ingen spelserver finns tillgänglig."
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "Ämne: %s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "Spelare slår monster"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Kommando: /join <chattkanal>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "Skickar förfrågan att gå in i chattkanalen %s."
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s anslöt sig till gruppen."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Okänt kommando."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "Gille skapat."
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "Kunde inte skapa gille."
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "Inbjudan skickad."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr "Medlem befordrad."
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "Kunde inte befordra medlem."
@@ -2894,11 +2781,11 @@ msgstr "Epostadressen finns redan"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "Anslöt dig till grupp."
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s anslöt sig till gruppen."
@@ -2908,190 +2795,137 @@ msgstr "%s anslöt sig till gruppen."
msgid "%s rejected your invite."
msgstr "%s avvisade din inbjudan."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Styrka"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "Styrka %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Smidighet"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "Smidighet %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Skicklighet"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "Skicklighet %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "Hälsa"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "Livskraft %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Intelligens"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "Intelligens %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Viljestyrka:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "Viljekraft %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "Accepterar byteshandelsförfrågningar."
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "Ignorerar byteshandelsförfrågningar."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "Förfrågan om byteshandel"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s vill byteshandla med dig, accepterar du?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "Byteshandlar med %s"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "Byteshandel avbruten."
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "Byteshandel genomförd."
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "Kunde inte sparka ut!"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "Klarade av att sparka ut!"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "Inget att sälja."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "Tack för köpet."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "Kan inte köpa."
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "Tack för en god affär."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "Kan inte sälja."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "Kan inte använda ID"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Okänt fel"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "Kan inte skapa karaktär. Troligtvis används namnet av någon annan."
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "Karaktär borttagen."
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "Kunde inte ta bort karaktär."
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Styrka:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Smidighet:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Hälsa:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Intelligens:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Skicklighet:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "Tur:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "Kunde inte viska eftersom spelaren inte är inloggad."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "Kunde inte viska eftersom ignorerad av spelaren."
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Spelare"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "Chattkanaler stöds inte!"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3106,80 +2940,125 @@ msgstr "Namn"
msgid "Request to quit denied!"
msgstr "Förfrågan om byteshandel"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "Styrka %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "Smidighet %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "Livskraft %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "Intelligens %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "Skicklighet %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "Tur %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "Behörighetskontroll misslyckades"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "Ingen server är tillgänglig"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "Någon annan försöker att använda det här kontot"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "Det här kontot är redan inloggat"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "Ett hastighetshack har upptäckts"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "Dubbel inloggning"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "Okänt anslutningsfel"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "Kopplades från servern!"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Styrka"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Smidighet"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "Hälsa"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Intelligens"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Skicklighet"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Tur"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Försvar:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "M. attack:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "M. försvar:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Träffsäkerhet:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% Kringgå:"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "Kritisk träff"
@@ -3230,29 +3109,29 @@ msgstr "Det här kommandot får spelaren att lämna gruppen."
msgid "Guild name is missing."
msgstr "Du måste ange gruppens namn."
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s är nu en medlem i din grupp."
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "Okänt injudningssvar från %s."
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3336,15 +3215,15 @@ msgstr "Kommando: /exp"
msgid "This command displays the party's current experience sharing policy."
msgstr "Det här kommandot visar om erfarenhet delas inom gruppen."
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "Upplocksdelning aktiverad."
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "Upplocksdelning avaktiverad."
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "Upplocksdelning är inte möjligt."
@@ -3353,15 +3232,15 @@ msgstr "Upplocksdelning är inte möjligt."
msgid "Item sharing unknown."
msgstr "Upplocksdelning aktiverad."
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "Fördelning av erfarenhet aktiverad."
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "Fördelning av erfarenhet inaktiverad."
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "Fördelning av erfarenhet ej möjlig."
@@ -3370,15 +3249,15 @@ msgstr "Fördelning av erfarenhet ej möjlig."
msgid "Experience sharing unknown."
msgstr "Fördelning av erfarenhet aktiverad."
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "Kunde inte använda föremål."
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "Kan inte utrusta."
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "Kan inte avrusta."
@@ -3445,7 +3324,7 @@ msgstr "Kan inte sälja."
msgid "Connection to server terminated. "
msgstr "Ansluter till kartservern..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "Kunde inte skapa grupp."
@@ -3453,243 +3332,238 @@ msgstr "Kunde inte skapa grupp."
msgid "Party successfully created."
msgstr "Grupp skapad."
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s är redan medlem i en grupp."
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s avvisade din inbjudan."
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s är nu en medlem i din grupp."
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "Okänt injudningssvar från %s."
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "Du har lämnat gruppen."
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s har lämnat din grupp."
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "En okänd medlem försökte säga: %s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > Bjud in en spelare till din grupp"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s är inte med i din grupp!"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "Stoppa i mynt för att fortsätta."
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "Du är inte död än. Du vilar bara."
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "Du finns inte längre."
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "Du har slutat att existera."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "Du är passé och har givit dig av för att träffa din skapare."
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "Du är en steling."
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "Berövad på ditt liv vilar du numera i frid."
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
"Om du inte vore så livfull skulle du vara blomnäring vid det här laget."
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "Dina metaboliska processer är nu historia."
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr "Du har trillat av pinn."
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "Du har kastat in handduken."
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr "Du tog ner skylten, kilade runt hörnet och bet i gräset."
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "Du är en före detta spelare."
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr "Du har gått till de sälla jaktmarkerna."
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "Meddelande"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr "Du bär mer än halva din vikt på dig. Du kan inte återfå hälsa."
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "Du plockade upp "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "Utrusta dig med pilar först."
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "Byteshandel misslyckades!"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "Kan inte visa smiley!"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "Kan inte sitta!"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "Kan inte skicka chattmeddelande!"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "Kan inte ansluta till gruppen!"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "Kan inte skrika!"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "Du har inte nått en tillräckligt hög nivå än!"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "Otillräckligt med HP!"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "Otillräckligt med SP!"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "Du har inga anteckningar!"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "Du kan inte göra det just nu!"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "Verkar som att du behöver mer pengar… ;-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "Det går inte att använda den här förmågan med det där vapenslaget!"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "Du behöver en till röd juvel!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "Du behöver en till blå juvel!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "Du bär på för mycket för att kunna göra det här!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "Öh? Vad är det där?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "Kartförflyttning misslyckades..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "Kunde inte stjäla något..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "Giftet tog inte..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "Byteshandel är inte möjligt. Handelspartnern är för långt borta."
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "Byteshandel är inte möjligt. Karaktären existerar inte."
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "Byteshandel avbröts av okänd anledning."
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "Byteshandel: du och %s"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "Byteshandel med %s avbruten."
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "Ett okänt paket för att avbryta byteshandeln påträffades."
@@ -3705,57 +3579,72 @@ msgstr "Kunde inte lägga till föremål. Bytespartnern har inget ledigt utrymme
msgid "Failed adding item for unknown reason."
msgstr "Kunde inte lägga till föremål av okänd anledning."
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|Ignorera %s fullständigt@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "Attack %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "Försvar %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "Hälsa %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "Mana %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "Okänt föremål"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "namnlös"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "EP:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Pengar: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Jobb:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Nivå: %d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "Tillträde nekat"
@@ -3770,6 +3659,13 @@ msgstr "namnlös"
#~ msgid "Willpower:"
#~ msgstr "Viljestyrka:"
+#~ msgid "Willpower %+d"
+#~ msgstr "Viljekraft %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Viljestyrka:"
+
#, fuzzy
#~ msgid "Server is full."
#~ msgstr "Servern är full"
@@ -3821,6 +3717,24 @@ msgstr "namnlös"
#~ msgid "Hyperlink"
#~ msgstr "Länk"
+#~ msgid "Being"
+#~ msgstr "Varelse"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Andra spelares namn"
+
+#~ msgid "Own Name"
+#~ msgstr "Eget namn"
+
+#~ msgid "GM Names"
+#~ msgstr "GM-namn"
+
+#~ msgid "NPCs"
+#~ msgstr "NPC:er"
+
+#~ msgid "Monsters"
+#~ msgstr "Monster"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Okänt föremålsslag"
@@ -3865,6 +3779,29 @@ msgstr "namnlös"
#~ msgid "Ammo"
#~ msgstr "Ammunition"
+#~ msgid "Particle Effects"
+#~ msgstr "Partikeleffekter"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "Upplocksnotis"
+
+#~ msgid "Exp Notification"
+#~ msgstr "XP-notifiering"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "Spelare slår monster"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "Monster slår spelare"
+
+#~ msgid "Critical Hit"
+#~ msgstr "Kritisk träff"
+
+#~ msgid "Misses"
+#~ msgstr "Missar"
+
#~ msgid "HP Bar"
#~ msgstr "Full hälsostapel"
@@ -4108,6 +4045,9 @@ msgstr "namnlös"
#~ msgid "Scroll laziness"
#~ msgstr "Tröghet för rullning"
+#~ msgid "Save player list"
+#~ msgstr "Kom ihåg spelarlista"
+
#~ msgid "Unable to load selection.png"
#~ msgstr "Kan inte ladda selection.png"
diff --git a/po/te.po b/po/te.po
index 9b4625ad..f24ea08a 100644
--- a/po/te.po
+++ b/po/te.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-10-13 03:45+0000\n"
"Last-Translator: వీవెనౠ(Veeven) <Unknown>\n"
"Language-Team: Telugu <te@li.org>\n"
@@ -19,470 +19,450 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr ""
-#: src/client.cpp:643
+#: src/client.cpp:679
msgid "Connecting to server"
msgstr ""
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "à°ªà±à°°à°µà±‡à°¶à°¿à°‚à°šà±"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
msgid "Changing game servers"
msgstr ""
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "పొరపాటà±"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "సంకేతపదం:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "à°—à±à°°à±à°¤à±à°¤à±†à°²à°¿à°¯à°¨à°¿ ఆదేశం."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- సహాయం--"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr ""
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr ""
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr ""
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "మరింత సమాచారం కోసం, /help <ఆదేశం> అని టైపౠచెయà±à°¯à°‚à°¡à°¿."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -491,39 +471,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "సాధారణ"
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -537,34 +517,34 @@ msgstr ""
msgid "Buy"
msgstr ""
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "వెల: %s / మొతà±à°¤à°‚: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "నిషà±à°•à±à°°à°®à°¿à°‚à°šà±"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "à°—à°°à°¿à°·à±à° "
@@ -578,11 +558,11 @@ msgstr ""
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "à°°à°¦à±à°¦à±à°šà±‡à°¯à°¿"
@@ -655,14 +635,14 @@ msgstr ""
msgid "Name:"
msgstr "పేరà±:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -679,8 +659,8 @@ msgstr "వెంటà±à°°à±à°•à°² à°°à°‚à°—à±:"
msgid "Hair style:"
msgstr "వెంటà±à°°à±à°•à°² శైలి:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "సృషà±à°Ÿà°¿à°‚à°šà±"
@@ -736,8 +716,8 @@ msgstr ""
msgid "Change Email"
msgstr "ఈమెయిలౠచిరà±à°¨à°¾à°®à°¾à°¨à°¿ మారà±à°šà±"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "తొలగించà±"
@@ -746,24 +726,24 @@ msgstr "తొలగించà±"
msgid "Choose"
msgstr "à°°à°‚à°—à±à°²à±"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -829,8 +809,8 @@ msgstr ""
msgid "Equipment"
msgstr ""
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -838,7 +818,7 @@ msgstr ""
msgid "Help"
msgstr "సహాయం"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -850,80 +830,83 @@ msgstr ""
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr ""
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "బరà±à°µà±:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr ""
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "సరే"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "à°…à°¨à±à°¨à±€"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "బరà±à°µà±: "
@@ -952,40 +935,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "పటం"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "తదà±à°ªà°°à°¿"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr ""
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1000,7 +983,7 @@ msgstr ""
msgid "Send"
msgstr "పంపించà±"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1086,7 +1069,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1158,56 +1141,56 @@ msgstr ""
msgid "Passwords do not match."
msgstr ""
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr ""
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr ""
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
msgid "Server type:"
msgstr ""
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
msgid "Connect"
msgstr ""
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
msgid "Custom Server"
msgstr ""
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1244,51 +1227,51 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "à°°à°‚à°—à±à°²à±"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "à°°à°•à°‚: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "ఇందà±à°° ధనసà±à°¸à±"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1372,27 +1355,31 @@ msgstr ""
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "ఆటగాళà±à°³à±"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1448,487 +1435,459 @@ msgstr ""
msgid "max"
msgstr "à°—à°°à°¿à°·à±à° "
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "నిండà±à°¤à±†à°°"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "కాదà±"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr ""
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, c-format
msgid "Skill %d"
msgstr ""
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "à°¸à±à°¥à°¾à°¯à°¿: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "à°¸à±à°¥à°¾à°¯à°¿: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, c-format
msgid "Are you sure you want to leave party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "సృషà±à°Ÿà°¿à°‚à°šà±"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "à°¸à±à°¥à°¾à°¯à°¿: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-msgid "Money"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "à°¸à±à°¥à°¾à°¯à°¿: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1967,78 +1926,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2115,53 +2002,53 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2185,388 +2072,401 @@ msgstr ""
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
msgid " -h --help : Display this help"
msgstr ""
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2574,91 +2474,91 @@ msgstr ""
msgid "Unknown error."
msgstr "à°—à±à°°à±à°¤à±à°¤à±†à°²à°¿à°¯à°¨à°¿ ఆదేశం."
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "à°—à±à°°à±à°¤à±à°¤à±†à°²à°¿à°¯à°¨à°¿ ఆదేశం."
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "à°—à±à°°à±à°¤à±à°¤à±†à°²à°¿à°¯à°¨à°¿ ఆదేశం."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2737,11 +2637,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2751,188 +2651,136 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "à°—à±à°°à±à°¤à±à°¤à±†à°²à°¿à°¯à°¨à°¿ ఆదేశం."
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "ఆటగాడà±"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2946,71 +2794,116 @@ msgstr "పేరà±"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "తొలగించà±"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3055,27 +2948,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3151,15 +3044,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3167,15 +3060,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3183,15 +3076,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3248,7 +3141,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3256,242 +3149,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3507,52 +3395,43 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
@@ -3574,6 +3453,10 @@ msgstr ""
#~ msgid "Rings"
#~ msgstr "ఉంగరాలà±"
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "à°¸à±à°¥à°¾à°¯à°¿: %d"
+
#~ msgid "no"
#~ msgstr "కాదà±"
diff --git a/po/th.po b/po/th.po
index 58399665..79b857b7 100644
--- a/po/th.po
+++ b/po/th.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-11-06 15:29+0000\n"
"Last-Translator: Krit Marukawisutthigul <Unknown>\n"
"Language-Team: Thai <th@li.org>\n"
@@ -19,472 +19,452 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "ตั้งค่า"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•à¹ˆà¸­..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "เข้าระบบ"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•à¹ˆà¸­..."
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "ผิดพลาด"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "รหัสผ่าน:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
msgid "Email Change"
msgstr ""
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
msgid "Unregister Successful"
msgstr ""
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr ""
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr ""
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr ""
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr ""
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr ""
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr ""
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr ""
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr ""
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr ""
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr ""
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
msgid "/createparty > Create a new party"
msgstr ""
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr ""
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr ""
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr ""
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr ""
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr ""
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr ""
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr ""
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr ""
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr ""
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr ""
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr ""
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
msgid "Command: /ignore <player>"
msgstr ""
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
msgid "This command ignores the given player regardless of current relations."
msgstr ""
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr ""
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr ""
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-msgid "Command: /away <afk reason>"
-msgstr ""
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-msgid "Command: /away"
-msgstr ""
-
-#: src/commandhandler.cpp:274
-msgid "This command clears the away status and message."
-msgstr ""
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
msgid "Command: /createparty <name>"
msgstr ""
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
msgid "Command: /unignore <player>"
msgstr ""
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr ""
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr ""
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr ""
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr ""
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr ""
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -493,39 +473,39 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
msgid "The connection to the server was lost."
msgstr ""
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
msgid "Could Not Load Map"
msgstr ""
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -539,34 +519,34 @@ msgstr ""
msgid "Buy"
msgstr "ซื้อ"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "ออà¸"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -580,11 +560,11 @@ msgstr ""
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "ยà¸à¹€à¸¥à¸´à¸"
@@ -657,14 +637,14 @@ msgstr "สร้างตัวละคร"
msgid "Name:"
msgstr "ชื่อ:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -681,8 +661,8 @@ msgstr "สีผม:"
msgid "Hair style:"
msgstr "ทรงผม:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "สร้าง"
@@ -738,8 +718,8 @@ msgstr ""
msgid "Change Email"
msgstr "เปลี่ยนที่อยู่ Email"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "ลบทิ้ง"
@@ -747,24 +727,24 @@ msgstr "ลบทิ้ง"
msgid "Choose"
msgstr ""
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -830,8 +810,8 @@ msgstr ""
msgid "Equipment"
msgstr ""
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -839,7 +819,7 @@ msgstr ""
msgid "Help"
msgstr ""
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr ""
@@ -851,81 +831,84 @@ msgstr ""
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr ""
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "ใช้"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "ทิ้ง"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr ""
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "ทิ้ง"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr ""
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, c-format
msgid "Weight: %s"
msgstr ""
@@ -954,40 +937,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "ถัดไป"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1002,7 +985,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1088,7 +1071,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1160,57 +1143,57 @@ msgstr ""
msgid "Passwords do not match."
msgstr ""
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr ""
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr ""
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
msgid "Server type:"
msgstr ""
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•à¹ˆà¸­..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
msgid "Custom Server"
msgstr ""
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
msgid "Waiting for server..."
msgstr ""
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1247,50 +1230,50 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
msgid "Delay:"
msgstr ""
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1374,27 +1357,31 @@ msgstr ""
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr ""
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1450,487 +1437,459 @@ msgstr ""
msgid "max"
msgstr ""
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr ""
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
msgid "FPS limit:"
msgstr ""
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr ""
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "ไม่"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr ""
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr ""
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, c-format
msgid "Skill %d"
msgstr ""
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "เลเวล: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "เลเวล: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¹à¸¥à¹‰à¸§à¸«à¸£à¸·à¸­à¸—ี่จะลบตัวละครนี้?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, c-format
+msgid "Invited user %s to party."
+msgstr ""
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
msgid "Member Invite to Party"
msgstr ""
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¹à¸¥à¹‰à¸§à¸«à¸£à¸·à¸­à¸—ี่จะลบตัวละครนี้?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "สร้างตัวละคร"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "เลเวล: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-msgid "Money"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:234
-msgid "Job"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, c-format
msgid "Character points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "เลเวล: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr ""
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr ""
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr ""
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -1969,78 +1928,6 @@ msgstr ""
msgid "Completed"
msgstr ""
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2117,53 +2004,53 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
msgid "Command: /ignore"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
msgid "This command ignores the other player regardless of current relations."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2187,478 +2074,491 @@ msgstr ""
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
msgid " -h --help : Display this help"
msgstr ""
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
+msgstr ""
+
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
msgid "Character's stats are too high."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
msgid "Character's stats are too low."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
msgid "Unknown error."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, c-format
msgid "Unknown error (%d)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
msgid "Error joining channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
msgid "Unknown channel event."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2737,11 +2637,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2751,187 +2651,134 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Willpower:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
msgid "Unknown char-server failure."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "Strength:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "Agility:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "Vitality:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "Intelligence:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "Dexterity:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
msgid "MVP player."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2945,71 +2792,116 @@ msgstr "ชื่อ:"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "ลบทิ้ง"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
msgid "M.Attack"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
msgid "M.Defense"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3054,27 +2946,27 @@ msgstr ""
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3150,15 +3042,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3166,15 +3058,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3182,15 +3074,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3247,7 +3139,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3255,242 +3147,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
#, c-format
-msgid "Invited user %s to party."
-msgstr ""
-
-#: src/net/tmwa/partyhandler.cpp:340
-#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3506,58 +3393,57 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
msgid "Completely ignore"
msgstr ""
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "เลเวล: %d"
+
#~ msgid "Willpower:"
#~ msgstr "Willpower:"
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Willpower:"
+
#~ msgid "Description: %s"
#~ msgstr "รายละเอียด: %s"
diff --git a/po/tr.po b/po/tr.po
index f0bf74ce..b3ddf5c2 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2010-02-12 09:43+0000\n"
"Last-Translator: Bekir AVCI <bilgi@turkuazyakit.com>\n"
"Language-Team: Turkish <tr@li.org>\n"
@@ -19,482 +19,459 @@ msgstr ""
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "Kur"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "Sunucu bekleniyor"
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Oturum Aç"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
msgid "Requesting characters"
msgstr ""
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Sunucu"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Hata"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Åžifre:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "DeÄŸiÅŸtir"
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Hesabı Kapat"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Bilinmeyen komut."
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Yardım --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Bu yardımı görüntüler"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "Harita adını gösterir"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Çevirimiçi kullanıcı sayısını görüntüler"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Hakkınızda birşey yazın"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > Bu pencereyi temizler"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > Bir kullanıcıya özel mesaj gönder"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Alias of msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Alias of msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > Diğer kullanıcılarla özel mesajlar için bir sekme yaratır."
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr ""
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Bütün genel kanalları gösterir"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "Bir kanala katıl veya bir kanal oluştur"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "Guruba bir kullanıcı davet et."
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "Guruba bir kullanıcı davet et."
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "Yazışmayı bir dış dosyaya kaydet."
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "Genel duyuru (yalnız GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Daha fazla bilgi için ,yardım/yaz <komut>."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Komut: /yardım"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Bu komut kullanılabilir bütün komutların bir listesini gösterir."
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Komut: /help <command>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Bu komut <komut> hakkında yardımı gösterir."
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Komut: / duyuru <msg>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** Sadece GM için mevcut ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "Bu komut şuanda çevirimiçi olan bütün oyunculara mesaj <msg> gönderir."
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Komut : /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Bu komut önceki yazışma girdilerini siler."
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Komut: /join <channel>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Bu komut şu anda çevrimiçi oyuncu sayısını gösterir."
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Komut: /join <channel>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr ""
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr ""
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Komut: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr ""
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Komut: /me <message>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr ""
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Komut: /msg <nick> <message>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Komut: /whisper <nick> <message>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Komut: /w <nick> <message>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Komut: /query <nick>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Komut: /q <nick>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Komut: /w <nick> <message>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Komut: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Bu komut önceki yazışma girdilerini siler."
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Komut: /party <nick>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
msgid "This command creates a new party called <name>."
msgstr ""
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Komut: /party <nick>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Bu komut <nick> adlı kişiyi partinize davet eder."
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Komut: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Komut: /record <filename>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Komut: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Komut: /toggle <state>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Komut: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Komut: / duyuru <msg>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Komut: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Bu komut geçerli haritanın adını gösterir."
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Komut: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Bu komut şu anda çevrimiçi oyuncu sayısını gösterir."
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Komutların bir listesi için /help yazın."
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "Sohbeti kapatır."
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -503,42 +480,42 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Genel"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Ekran Görüntüsü"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Ekrangörüntüsü kaydı başarısız."
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "Sunucu bağlantısı koptu,Program şimdi kapatılacak"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Ağ Hatası"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Gelen takas istekleri görmezden geliniyor."
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "Gelen takas istekleri kabul ediliyor"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Harita yüklenemedi"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -552,34 +529,34 @@ msgstr "Parti"
msgid "Buy"
msgstr "Satın al"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Fiyat: %s / Toplam: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Çıkış"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "En Fazla"
@@ -593,11 +570,11 @@ msgstr "Satış"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "Ä°ptal"
@@ -670,14 +647,14 @@ msgstr "Karakter oluÅŸturma"
msgid "Name:"
msgstr "Ä°sim:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -694,8 +671,8 @@ msgstr "Saç Rengi:"
msgid "Hair style:"
msgstr "Saç Stili:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "OluÅŸtur"
@@ -751,8 +728,8 @@ msgstr "Hesabı Kapat"
msgid "Change Email"
msgstr "DeÄŸiÅŸtir"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Sil"
@@ -761,24 +738,24 @@ msgstr "Sil"
msgid "Choose"
msgstr "Kapat"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Sohbet"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr ""
@@ -844,8 +821,8 @@ msgstr ""
msgid "Equipment"
msgstr "Ekipman"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr ""
@@ -853,7 +830,7 @@ msgstr ""
msgid "Help"
msgstr "Yardım"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Kapat"
@@ -865,80 +842,83 @@ msgstr "Envanter"
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "Donatmak"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "Kullan"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
msgid "Drop..."
msgstr ""
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Bölme"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Ağırlık:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "Depo"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "Almak"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr ""
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "Tamam"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Hepsi"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr ""
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr ""
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr ""
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Ağırlık: "
@@ -969,40 +949,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "Harita"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "Sunucu bekleniyor"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Sonraki"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Sıfırla"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1017,7 +997,7 @@ msgstr "Alıcı:"
msgid "Send"
msgstr "Gönder"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1104,7 +1084,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1176,61 +1156,61 @@ msgstr ""
msgid "Passwords do not match."
msgstr "Parolalar uyuÅŸmuyor."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Sunucu Seçin"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Sunucu:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Bağlantı Noktası:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Sunucu:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "Bağlanıyor..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "Sunucu"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr ""
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "Sunucu bekleniyor"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1268,54 +1248,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Renkler"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Türü: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Sabit"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "Darbe"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "Gökkuşağı"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Spektrum"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "BaÅŸlat"
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Kırmızı: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "YeÅŸil: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Mavi: "
@@ -1401,28 +1381,32 @@ msgstr ""
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr ""
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr ""
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Adı göster"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Oyuncular"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1478,503 +1462,470 @@ msgstr "orta"
msgid "max"
msgstr "max"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Tam ekran"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr ""
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Adı göster"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "sohbet"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPS Limit:"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Video"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Adı göster"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr ""
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
msgid "Particle detail"
msgstr ""
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Yazı tipi boyutu"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "Hayır"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
msgid "Switching to Full Screen"
msgstr ""
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Değişikliklerin etkili olması için yeniden başlatılması gerekli."
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
msgid "Changing to OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "OpenGL deÄŸiÅŸikliklerini uygulamak yeniden baÅŸlatma gerektirir."
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Ekran çözünürlüğü değiştirildi"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Beceriler"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "Yukarı"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Beceriler"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Seviye: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Seviye: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Birlik oluÅŸturma"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Çıkmak istediğinize emin misiniz?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "Guruba bir kullanıcı davet et."
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "Guruba bir kullanıcı davet et."
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Çıkmak istediğinize emin misiniz?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Birlik oluÅŸturma"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Karakter oluÅŸturma"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Büyük"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "Birlik"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Sunucu Seçin"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Parti"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Sunucu Seçin"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Seviye: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "Exp:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "Ä°ÅŸ:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "MP:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "Exp:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Para: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "Ä°ÅŸ:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "Karakter Ä°statistik Tamam"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Seviye: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr ""
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "Ticaret"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Ekle"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, c-format
msgid "You get %s"
msgstr ""
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr ""
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "DeÄŸiÅŸtir"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr ""
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "Yeterli para yok."
@@ -2013,82 +1964,6 @@ msgstr ""
msgid "Completed"
msgstr "Tamamlandı"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Diğer oyuncuların isimleri"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "GM isimleri"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPCs"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Canavarlar"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Parti"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "Birlik"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Diğer oyuncuların isimleri"
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Kritik Hit"
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Kritik Hit"
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2165,55 +2040,55 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Global duyuru:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr ""
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, c-format
msgid "%s whispers: %s"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Komut: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Komut: /where"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Bu komut şu anda çevrimiçi oyuncu sayısını gösterir."
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2240,394 +2115,407 @@ msgstr "DeÄŸiÅŸtir"
msgid "Choose World"
msgstr "Sunucu Seçin"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "Yukarı Taşı"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "Aşağı Taşı"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "Sola Taşı"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "Sağa Taşı"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Saldırı"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "KonuÅŸ"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Hedef Oyuncu"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Hedef Oyuncu"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Ekran Görüntüsü"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Durum penceresi"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Sohbet Penceresi"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Hata Ayıklama Penceresi"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Durum penceresi"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Durum penceresi"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr ""
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr "/help > Bu yardımı görüntüler"
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
msgid "You Died"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "Karakter Ä°statistik Tamam"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "Karakter Ä°statistik Tamam"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2635,92 +2523,92 @@ msgstr ""
msgid "Unknown error."
msgstr "Bilinmeyen komut."
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
msgid "Selection out of range."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Bilinmeyen komut."
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Komut: /join <channel>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Bilinmeyen komut."
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2799,11 +2687,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2813,188 +2701,136 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Güçlülük"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "Çeviklik"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "Maharet"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "yaşama gücü"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Istihbarat"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-msgid "Willpower"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Bilinmeyen komut."
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Oyuncu"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3008,73 +2844,118 @@ msgstr "Ä°sim"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Güçlülük"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "Çeviklik"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "yaşama gücü"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Istihbarat"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "Maharet"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Åžans"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "Savunma:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "Saldırı"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "Savunma:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, c-format
msgid "% Accuracy"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, c-format
msgid "% Evade"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "Kritik Hit"
@@ -3122,27 +3003,27 @@ msgstr "Bu komut geçerli haritanın adını gösterir."
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3218,15 +3099,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3234,15 +3115,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3250,15 +3131,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3316,7 +3197,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3324,242 +3205,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "Guruba bir kullanıcı davet et."
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3575,53 +3451,44 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "Tamamlandı"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "isimsiz"
@@ -3651,6 +3518,18 @@ msgstr "isimsiz"
#~ msgid "Server"
#~ msgstr "Sunucu"
+#~ msgid "Other Players' Names"
+#~ msgstr "Diğer oyuncuların isimleri"
+
+#~ msgid "GM Names"
+#~ msgstr "GM isimleri"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCs"
+
+#~ msgid "Monsters"
+#~ msgstr "Canavarlar"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Bilinmeyen Öğe Türü"
@@ -3678,6 +3557,9 @@ msgstr "isimsiz"
#~ msgid "Arms"
#~ msgstr "Silah"
+#~ msgid "Critical Hit"
+#~ msgstr "Kritik Hit"
+
#~ msgid "HP Bar"
#~ msgstr "HP Bar"
@@ -3690,6 +3572,30 @@ msgstr "isimsiz"
#~ msgid "1/4 HP Bar"
#~ msgstr "1/4 HP Bar"
+#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "Exp:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Para: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "Ä°ÅŸ:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Seviye: %d"
+
#~ msgid "no"
#~ msgstr "hayır"
diff --git a/po/uk.po b/po/uk.po
index 16268d17..778a2a42 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,359 +7,337 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
-"PO-Revision-Date: 2010-12-06 19:36+0100\n"
-"Last-Translator: Yohann Ferreira <yohann ferreira orange fr>\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
+"PO-Revision-Date: 2009-10-16 13:01+0000\n"
+"Last-Translator: tivasyk <tivasyk@gmail.com>\n"
"Language-Team: Ukrainian <uk@li.org>\n"
"Language: uk\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"
+"%10<=4 && (n%100<10 or n%100>=20) ? 1 : 2);\n"
"X-Launchpad-Export-Date: 2010-03-05 19:28+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "ÐалаштуваннÑ"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "ÐžÑ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ñ– Ñервера"
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "Логін"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "ВимагаєтьÑÑ Ð¿Ñ€Ð¸Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð´Ð¾ каналу %s."
-#: src/client.cpp:791
+#: src/client.cpp:833
msgid "Connecting to the game server"
msgstr ""
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "Сервер"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "Помилка"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "Пароль:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "Заміна"
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "Ðе зареєÑтрований"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "Ðевідомий Ñервер оновленнÑ: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "Ðеможливо Ñтворити теку Ð´Ð»Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½ÑŒ!"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "Чорт зна Ñка команда"
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- Довідка --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > Показати це вікно"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > Показати ім'Ñ Ð¼Ð°Ð¿Ð¸"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > Показати кількіÑÑ‚ÑŒ гравців он-лайн"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > Розказати щоÑÑŒ про Ñебе"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > ОчиÑтити оце вікно"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > ÐадіÑлати приватне Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувачеві"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > Варіант msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > Варіант msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > Створює закладку Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð²Ð°Ñ‚Ð½Ð¾Ñ— розмови з іншим кориÑтувачем"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > Варіант query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > Показати уÑÑ– публічні канали"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > ПриєднатиÑÑŒ чи Ñтворити канал"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/party > ЗапроÑити Ð³Ñ€Ð°Ð²Ñ†Ñ Ð´Ð¾ групи"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > ЗапроÑити Ð³Ñ€Ð°Ð²Ñ†Ñ Ð´Ð¾ групи"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > Розпочати Ð·Ð°Ð¿Ð¸Ñ Ñ‡Ð°Ñ‚Ñƒ у зовнішній файл"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > Ð’Ñтановити, чи \"Ентер\" перемикатиме Ð²Ð°Ñ Ð½Ð° вікно чату"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr ""
"/present > Показати ÑпиÑок вÑÑ–Ñ… гравців он-лайн (надÑилає в лог чату, Ñкщо "
"увімкнена Ð¾Ð¿Ñ†Ñ–Ñ Ð»Ð¾Ð³Ñƒ чату)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > Глобальне Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ (лише Ð´Ð»Ñ GM)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "Хочете знати більше - введіть /help <команда>."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "Команда: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° показує ÑпиÑок вÑÑ–Ñ… доÑтупних команд"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "Команда: /help <_команда_>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° відображає коротку інформацію про <_команда_>"
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "Команда: /announce <_текÑÑ‚_>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** доÑтупне лише Ð´Ð»Ñ GM ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr ""
"Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° надÑилає <_текÑÑ‚_> вÑім гравцÑм, що знаходÑÑ‚ÑŒÑÑ Ð² режимі он-лайн"
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "Команда: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° очищає вікно логу чату від попередніх повідомлень"
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "Команда: /join <_канал_>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "Відображає кількіÑÑ‚ÑŒ гравців он-лайн"
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "Команда: /join <_канал_>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° приєднує Ð²Ð°Ñ Ð´Ð¾ <_канал_>"
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "Якщо <_канал_> не Ñ–Ñнує, він буде Ñтворений"
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "Команда: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° показує ÑпиÑок вÑÑ–Ñ… доÑтупних каналів"
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "Команда: /me <_текÑÑ‚_>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° каже вÑім гравцÑм <_текÑÑ‚_> (або що ви робите)"
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "Команда: /msg <_ім'Ñ_> <_текÑÑ‚_>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "Команда: /whisper <_ім'Ñ_> <_текÑÑ‚_>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "Команда: /w <_ім'Ñ_> <_текÑÑ‚_>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° надÑилає <_текÑÑ‚_> гравцеві <_ім'Ñ_>."
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr ""
-"Якщо <_ім'Ñ_> міÑтить пробіли, візьміть вÑе _ім'Ñ_ в подвійні лапки (\")"
+"Якщо <_ім'Ñ_> міÑтить пробіли, візьміть вÑе _ім'Ñ_ в подвійні лапки (\r\n"
+"name surname\")"
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "Команда: /query <_ім'Ñ_>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "Команда: /q <_ім'Ñ_>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
"Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° намагаєтьÑÑ Ñтворити закладинку Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑˆÑ–Ð¿Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ñ–Ð¶ вами та "
"гравцем <_ім'Ñ_>"
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "Команда: /w <_ім'Ñ_> <_текÑÑ‚_>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "Команда: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° вÑтановлює тему каналу"
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "Команда: /party <_ім'Ñ_>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° приєднує Ð²Ð°Ñ Ð´Ð¾ <_канал_>"
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "Команда: /party <_ім'Ñ_>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° запрошує Ð³Ñ€Ð°Ð²Ñ†Ñ <_ім'Ñ_> до Ð²Ð°Ñ Ð² групу"
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "Команда: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
@@ -367,28 +345,28 @@ msgstr ""
"Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° отримує ÑпиÑок гравців, Ñкі можуть почути Ð²Ð°Ñ Ñ– надÑилає його або "
"в файл логу чату (Ñкщо увімкнена Ð¾Ð¿Ñ†Ñ–Ñ Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð»Ð¾Ð³Ñƒ), або до вікна чату"
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "Команда: /record <_файл_>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
"Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° вмикає Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñƒ чату (запиÑує веÑÑŒ вміÑÑ‚ чату у <_файл_>)"
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "Команда: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "Завершує Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¶ÑƒÑ€Ð½Ð°Ð»Ñƒ (логу) чату"
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "Команда: /toggle <_режим_>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
@@ -396,7 +374,7 @@ msgstr ""
"Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° вÑтановлює, чи буде натиÑÐ½ÐµÐ½Ð½Ñ ÐºÐ»Ð°Ð²Ñ–ÑˆÑ– Enter автоматично "
"перемикатиме на вікно чату"
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -404,48 +382,48 @@ msgstr ""
"<_режим_> може бути \"1\", \"yes\", або \"true\" щоб увімкнути опцію, або ж "
"\"0\", \"no\", чи \"false\" щоб вимкнути її."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "Команда: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "Показує режим клавіші Enter"
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "Команда: /announce <_текÑÑ‚_>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "Команда: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "Показує назву поточної локації"
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "Команда: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "Відображає кількіÑÑ‚ÑŒ гравців он-лайн"
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "Введіть /help щоб побачити ÑпиÑок вÑÑ–Ñ… команд"
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "Ðе можна надÑилати порожні повідомленнÑ!"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
@@ -454,65 +432,65 @@ msgstr ""
"Ðеможливо Ñтворити закладинку Ð´Ð»Ñ ÑÐ¿Ñ–Ð»ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð· гравцем \"%s\" - або така "
"вже Ñ–Ñнує, або ви намагаєтеÑÑŒ перешіптуватиÑÑŒ Ñам з Ñобою =Р"
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "ВимагаєтьÑÑ Ð¿Ñ€Ð¸Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð´Ð¾ каналу %s."
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "Enter перемикає на чат"
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð·Ð°ÐºÑ€Ð¸Ð²Ð°Ð¶ вікно чату"
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "Enter тепер перемикає на вікно чату"
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "Тепер Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð·Ð°ÐºÑ€Ð¸Ð²Ð°Ñ‚Ð¸Ð¼Ðµ вікно чату"
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -523,42 +501,42 @@ msgstr ""
"Можливими опціÑми Ð´Ð»Ñ /%s Ñ”: \"yes\", \"no\", \"true\", \"false\", \"1\", "
"\"0\"."
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "Загальне"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "Фотознімок екрану (Ñкріншот) збережено до теки ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñкріншоту провалилоÑÑŒ!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "Втрачено з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· Ñервером, програма завершуєтьÑÑÑ"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "Мережева помилка"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "Ð†Ð³Ð½Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… пропозицій торгівлі"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "ÐŸÑ€Ð¸Ð¹Ð¼Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… пропозицій торгівлі"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "Ðеможливо завантажити локацію"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "Помилка під Ñ‡Ð°Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ %s"
@@ -572,34 +550,34 @@ msgstr "Група (%s)"
msgid "Buy"
msgstr "Придбати"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "Ціна: %s / Загалом: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "Вийти"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "МакÑимум"
@@ -613,11 +591,11 @@ msgstr "Продати"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "СкаÑувати"
@@ -692,14 +670,14 @@ msgstr "Створити перÑонажа"
msgid "Name:"
msgstr "Ім'Ñ"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -716,8 +694,8 @@ msgstr "Колір волоÑÑÑ:"
msgid "Hair style:"
msgstr "ЗачіÑка:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "Створити"
@@ -773,8 +751,8 @@ msgstr "Ðе зареєÑтрований"
msgid "Change Email"
msgstr "Змінити адреÑу електронної пошти"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "Видалити"
@@ -783,24 +761,24 @@ msgstr "Видалити"
msgid "Choose"
msgstr "Закрити"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "Чат"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d гравців он-лайн"
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "ÐÑƒÐ´Ð¸Ñ‚Ð¾Ñ€Ñ–Ñ Ð·Ð°Ð½ÐµÑена до журналу"
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "Шепчу до %s: %s"
@@ -866,8 +844,8 @@ msgstr "Звуки оточеннÑ"
msgid "Equipment"
msgstr "Обладунки"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "ЗнÑти"
@@ -875,7 +853,7 @@ msgstr "ЗнÑти"
msgid "Help"
msgstr "Довідка"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "Закрити"
@@ -887,81 +865,84 @@ msgstr "Сумка"
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "Комірки"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "ЗнÑти"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "ВикориÑтати"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "Викинути"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "Поділити"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "Вага:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "Викинути"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "Ок"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "Ð’Ñе"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "Вкажіть кількіÑÑ‚ÑŒ предметів"
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "Вкажіть кількіÑÑ‚ÑŒ предметів, щоб викинути"
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "Вкажіть кількіÑÑ‚ÑŒ предметів Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ"
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "Вкажіть кількіÑÑ‚ÑŒ предметів Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ"
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "Вкажіть кількіÑÑ‚ÑŒ предметів Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»Ñƒ"
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "Вага: "
@@ -992,40 +973,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "ЛокаціÑ"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "ÐžÑ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ñ– Ñервера"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "Далі"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "Підтвердити"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "Спробувати знову"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1040,7 +1021,7 @@ msgstr "ДлÑ:"
msgid "Send"
msgstr "ÐадіÑлати"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "Ðеможливо надіÑлати, так Ñк адреÑант або лиÑÑ‚ некорректні"
@@ -1129,7 +1110,7 @@ msgstr "@@name|додати ім'Ñ Ð´Ð¾ чату@@"
msgid "Pick up %s"
msgstr "ПіднÑти"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|Додати до чату@@"
@@ -1202,61 +1183,61 @@ msgstr "Пароль повинен ÑкладатиÑÑŒ менш, ніж з %d
msgid "Passwords do not match."
msgstr "Ðе ідентичні паролі!"
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "Оберіть Ñервер"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "Сервер:"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Порт:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "Сервер:"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "З'єднуюÑÑŒ..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "КраÑивий вказівник"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "Будь лаÑка, введіть порт Ñ– адреÑу Ñерверу"
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "ÐžÑ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ñ– Ñервера"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1294,54 +1275,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "ОÑÑŒ, Ñк виглÑдає цей колір"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "Кольори"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "Тип: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "Статичне"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "ПульÑуюче"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "ВеÑелка"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "Спектр"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "Затримка: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "Червоний: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "Зелений: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "Синій: "
@@ -1427,28 +1408,32 @@ msgstr "Ігнорувати повніÑÑ‚ÑŽ"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "Дозволити торгівлю"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "Дозволити шепіт (приватне ÑпілкуваннÑ)"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "Шепіт (приватне ÑпілкуваннÑ) в окремих вкладках"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "Показувати ім'Ñ"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "Гравці"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr ""
@@ -1504,510 +1489,480 @@ msgstr "Ñередній"
msgid "max"
msgstr "макÑимальний"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "Ðа повний екран"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "КраÑивий вказівник"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "Видимі імена"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "Ефекти чаÑтинок"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "Показувати ім'Ñ"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "ПовідомлÑти, коли піднÑто предмет"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "у балачці"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "Ñк чаÑтинки"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ñтоти кадрів"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "Відео"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "Показувати ім'Ñ"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "ТекÑÑ‚ зверху"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "ПрозоріÑÑ‚ÑŒ інтерфейÑу"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "Звуки оточеннÑ"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "Ð”ÐµÑ‚Ð°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ ÐµÑ„ÐµÐºÑ‚Ñ–Ð² чаÑтинок"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "Розмір шрифта"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "ÐÑ–"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "ÐевдалоÑÑ Ð²Ñтановити режим Ñ– відновити попередній!"
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "ÐевдалоÑÑ Ð²Ñтановити режим Ñ– відновити попередній!"
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð½Ð° повний екран"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "Потрібно перезапуÑтити Ð´Ð»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½"
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "ÐŸÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ OpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "Потрібно перезапуÑтити Ð´Ð»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½ OpenGL"
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "Розподільчу здатніÑÑ‚ÑŒ вÑтановлено"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "Перезавантажте клієнт, щоби заÑтоÑувати зміни"
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐµÑ„ÐµÐºÑ‚Ñ–Ð² чаÑтинок заÑтоÑовано"
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "Зміни буде заÑтоÑовано піÑÐ»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼Ð°Ð¿Ð¸"
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "Ðавички"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr ""
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, c-format
msgid "Skill points available: %d"
msgstr ""
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, c-format
msgid "Skill Set %d"
msgstr ""
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "Ðавички"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "Рівень: %d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "Рівень: %d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "Створити гільдію"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "Ви дійÑно хочете вийти?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > ЗапроÑити Ð³Ñ€Ð°Ð²Ñ†Ñ Ð´Ð¾ групи"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > ЗапроÑити Ð³Ñ€Ð°Ð²Ñ†Ñ Ð´Ð¾ групи"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "Ви дійÑно хочете вийти?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "Створити гільдію"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "Створити перÑонажа"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "ЗапроÑити гравцÑ"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "Великий"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "ПрийнÑто Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %s."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "Відхилено Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %s."
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "ПрийнÑто Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %s."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "Відхилено Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %s."
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "ГільдіÑ"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "Оберіть Ñервер"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "Отримано Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð´Ð¾ групи, але одне вже Ñ”."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s запрошує Ð²Ð°Ñ Ð´Ð¾ групи %s."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð´Ð¾ групи прийнÑто"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "Отримано Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð´Ð¾ групи, але одне вже Ñ”."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s запрошує Ð²Ð°Ñ Ð¿Ñ€Ð¸Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑŒ до Ñ—Ñ… групи."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s запрошує Ð²Ð°Ñ Ð´Ð¾ групи %s."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s запрошує Ð²Ð°Ñ Ð¿Ñ€Ð¸Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑŒ до Ñ—Ñ… групи."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s запрошує Ð²Ð°Ñ Ð´Ð¾ групи %s."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð´Ð¾ групи прийнÑто"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "Група"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "Оберіть Ñервер"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "Рівень: %d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "Кошти: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "ПрофеÑÑ–Ñ: %d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "ПрофеÑÑ–Ñ:"
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "Кошти: %d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "ПрофеÑÑ–Ñ:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "ХарактериÑтики перÑонажа в нормі"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, c-format
msgid "Correction points: %d"
msgstr ""
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "Рівень: %d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "Запропонувати торгівлю"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "ПрийнÑто. Чекаємо..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "ЗгодитиÑÑ Ñ‚Ð¾Ñ€Ð³ÑƒÐ²Ð°Ñ‚Ð¸"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "Згода. Чекаємо..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "ТоргівлÑ: ти"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "ОбмінÑтиÑÑ"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "Додати"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "Ти отримуєш: %s."
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "Ти віддаєш: %s."
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "Заміна"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr "Ðе вдаєтьÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ предмет. Ðе можна накладати предмети одного типу."
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "У тебе недоÑтатньо грошей!"
@@ -2047,84 +2002,6 @@ msgstr "##1 Ñпробувати ще раз пізніше"
msgid "Completed"
msgstr "Закінчено"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "ІÑтота"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "Імена інших гравців"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "ВлаÑне ім'Ñ"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "Імена GM"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPC"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "Тварюки"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "Група"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "ГільдіÑ"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "Ефекти чаÑток"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ підбираннÑ"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ зміну доÑвіду"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "Гравець вдарив Тварюку"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "Тварюка вдарила гравцÑ"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "Критичний удар"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "Гравець вдарив Тварюку"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "Критичний удар"
-
-#: src/gui/userpalette.cpp:111
-msgid "Local Player Miss"
-msgstr ""
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "Промах"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > Показує перелік кориÑтувачів поточного каналу"
@@ -2204,55 +2081,55 @@ msgstr "Потрібно вказати кориÑтувача Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð·Ð½
msgid "Need a user to kick!"
msgstr "Потрібно вказати кориÑтувача Ð´Ð»Ñ Ð²Ð¸Ð³Ð½Ð°Ð½Ð½Ñ Ð· каналу"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "Глобальне повідомленнÑ:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "Глобальне Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %s:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s шепоче: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "Чи ж можна говорити без Ñлів?"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "Закрити вкладку приватної беÑіди"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "Команда: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° закриває вкладку приватної беÑіди"
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "Команда: /where"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "Відображає кількіÑÑ‚ÑŒ гравців он-лайн"
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2281,407 +2158,421 @@ msgstr "Заміна"
msgid "Choose World"
msgstr "Оберіть Ñервер"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "ПіднÑти"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "ОпуÑтити"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "ПереÑунути вліво"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "ПереÑунути вправо"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "Ðападати"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "Вибрати ціль і нападати"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "ЕмоціÑ"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "РозмовлÑти"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "Зупинити напад"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "Вибрати найближчу ціль"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "Вибрати комп'ютерного перÑонажа"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "Вибрати ігрока"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "ПіднÑти"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "Сховати вікна"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "ПриÑÑ–Ñти й відпочити"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "Знімок екрану"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "Дозволити/заборонити торгівлю"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "ПрÑмувати до вказівника миші"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "Скорочений доÑтуп %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "Вікно підказки"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "Вікно Ñтану"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "Вікно майна"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "Вікно екіпіровки"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "Вікно навичок"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "Вікно мінімапи"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "Вікно балачки"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "Вікно Ñкороченого доÑтупу"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "Вікно налаштувань"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Вікно зневажденнÑ"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "Вікно навичок"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "Вікно емоцій"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "Вікно Ñтану"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "Перейти до балачки"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "Гортати балачку вище"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "Гортати балачку нижче"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ° балачки"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "ÐаÑтупна вкладка балачки"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "Ðеобхідно уÑунути повтори, інакше ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ðµ бути уÑкладненим"
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "Параметри:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -h --help : показати ще раз цю довідку"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : показати ще раз цю довідку"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : файл, з Ñкого необхідно завантажити налаштуваннÑ"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -P --password : зареєÑтруватиÑÑ Ð½Ð° Ñервері зі вказаним паролем"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : зареєÑтруватиÑÑ Ð½Ð° Ñервері зі вказаним паролем"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -P --password : зареєÑтруватиÑÑ Ð½Ð° Ñервері зі вказаним паролем"
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -P --password : зареєÑтруватиÑÑ Ð½Ð° Ñервері зі вказаним паролем"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host : Ñервер, з Ñкого необхідно завантажити оновленнÑ"
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -H --update-host : Ñервер, з Ñкого необхідно завантажити оновленнÑ"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data : тека, з Ñкої необхідно завантажити данні"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : тека, котру необхідно вживати Ñк домашню"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : файл, з Ñкого необхідно завантажити налаштуваннÑ"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : тека, котру необхідно вживати Ñк домашню"
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "Ти віддаєш: %s."
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "Отримано Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð´Ð¾ групи, але одне вже Ñ”."
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "ХарактериÑтики перÑонажа в нормі"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "ХарактериÑтики перÑонажа в нормі"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2689,95 +2580,95 @@ msgstr ""
msgid "Unknown error."
msgstr "Чорт зна Ñка команда"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "Вкажіть кількіÑÑ‚ÑŒ предметів"
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "Чорт зна Ñка команда"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "Гравець вдарив Тварюку"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "Команда: /join <_канал_>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "ВимагаєтьÑÑ Ð¿Ñ€Ð¸Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð´Ð¾ каналу %s."
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "Чорт зна Ñка команда"
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2859,11 +2750,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2873,190 +2764,137 @@ msgstr ""
msgid "%s rejected your invite."
msgstr "Відхилено Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %s."
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "Сила"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "СпритніÑÑ‚ÑŒ"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "ВправніÑÑ‚ÑŒ"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "ВитриваліÑÑ‚ÑŒ"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "Інтелект"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "Шепіт"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "Ðе можна надÑилати порожні повідомленнÑ!"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "Чорт зна Ñка команда"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "Гравець"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3070,73 +2908,118 @@ msgstr "Ðазва"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
msgid "Authentication failed."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "Сила"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "СпритніÑÑ‚ÑŒ"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "ВитриваліÑÑ‚ÑŒ"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "Інтелект"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "ВправніÑÑ‚ÑŒ"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "Талан"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "ЗахиÑÑ‚:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "Маг. напад:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "Маг. захиÑÑ‚:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "ТочніÑÑ‚ÑŒ (%):"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "УхилÑÐ½Ð½Ñ (%):"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "Критичний удар"
@@ -3185,27 +3068,27 @@ msgstr "Ð¦Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° вÑтановлює тему каналу"
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3281,15 +3164,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3297,15 +3180,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3313,15 +3196,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3380,7 +3263,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3388,242 +3271,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > ЗапроÑити Ð³Ñ€Ð°Ð²Ñ†Ñ Ð´Ð¾ групи"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "Ти отримуєш: %s."
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3639,53 +3517,44 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|ПовніÑÑ‚ÑŽ ігнорувати %s@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr ""
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
@@ -3736,6 +3605,24 @@ msgstr ""
#~ msgid "Hyperlink"
#~ msgstr "ПоÑиланнÑ"
+#~ msgid "Being"
+#~ msgstr "ІÑтота"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "Імена інших гравців"
+
+#~ msgid "Own Name"
+#~ msgstr "ВлаÑне ім'Ñ"
+
+#~ msgid "GM Names"
+#~ msgstr "Імена GM"
+
+#~ msgid "NPCs"
+#~ msgstr "NPC"
+
+#~ msgid "Monsters"
+#~ msgstr "Тварюки"
+
#~ msgid "Unknown Item Type"
#~ msgstr "Ðевідомий тип предмета"
@@ -3780,6 +3667,29 @@ msgstr ""
#~ msgid "Ammo"
#~ msgstr "БоєприпаÑи"
+#~ msgid "Particle Effects"
+#~ msgstr "Ефекти чаÑток"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ підбираннÑ"
+
+#~ msgid "Exp Notification"
+#~ msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ зміну доÑвіду"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "Гравець вдарив Тварюку"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "Тварюка вдарила гравцÑ"
+
+#~ msgid "Critical Hit"
+#~ msgstr "Критичний удар"
+
+#~ msgid "Misses"
+#~ msgstr "Промах"
+
#~ msgid "HP Bar"
#~ msgstr "РÑдок HP"
@@ -3792,6 +3702,22 @@ msgstr ""
#~ msgid "1/4 HP Bar"
#~ msgstr "1/4 здоров'Ñ"
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "Кошти: %d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "ПрофеÑÑ–Ñ:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "Рівень: %d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "Шепіт"
+
#~ msgid "no"
#~ msgstr "ні"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index cb5d9b0b..26bae705 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2010-01-05 23:49+0000\n"
"Last-Translator: luojie-dune <Unknown>\n"
"Language-Team: Chinese Simplified <themanaworld-devel@lists.sourceforge."
@@ -24,488 +24,465 @@ msgstr ""
"X-Poedit-Language: Chinese\n"
"X-Poedit-SourceCharset: utf-8\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "设置"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "正在连接 地图 æœåŠ¡å™¨..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "登录"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "选择角色"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "正在连接 地图 æœåŠ¡å™¨..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "æœåŠ¡å™¨"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "错误"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "密ç ï¼š"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "改å˜"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "会员晋å‡æˆåŠŸã€‚"
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "注销"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "无效的更新主机: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "创建更新目录错误ï¼"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "未知命令。"
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- 帮助 --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help > 显示此帮助"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > 显示地图å"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > 显示在线用户数"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > 自我介ç»"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > 清除此窗å£"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > å‘é€ç§äººä¿¡æ¯ç»™ç”¨æˆ·"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > msg的别å"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > msg的别å"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > 为和其他用户之间的ç§å¯†ä¿¡æ¯å¼€å¯ä¸€ä¸ªæ–°çš„标签页"
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > query的别å"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > 显示所有公共频é“"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > 加入或者创建一个新的频é“"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > 创建一个新的帮会"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "邀请一个用户加入队ä¼"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > 开始记录èŠå¤©è‡³å¤–部文件"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > 确定<回车>键是å¦åˆ‡æ¢èŠå¤©æ—¥å¿—"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr "/present > 获å–列席的玩家列表(若开å¯logging,则å‘é€åˆ°èŠå¤©æ—¥å¿—)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > 全局通告(é™GM使用)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "输入 /help <命令>,获å–更多信æ¯ã€‚"
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "命令: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "该命令å¯æ˜¾ç¤ºæ‰€æœ‰å¯ç”¨å‘½ä»¤ã€‚"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "命令: /help <命令>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "该命令显现<命令>的帮助信æ¯"
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "命令: /announce <ä¿¡æ¯>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** åªæœ‰GMå¯ç”¨ ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "该命令会å‘é€<ä¿¡æ¯>给所有在线用户。"
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "命令: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "该命令å¯æ¸…除历å²èŠå¤©è®°å½•ã€‚"
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "命令:/item <策略>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "该æ¡å‘½ä»¤å¯æ˜¾çŽ°å½“å‰åœ¨çº¿ç”¨æˆ·æ€»æ•°ã€‚"
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "命令:/join <频é“>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "该命令让您进入<频é“>。"
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "如果<频é“>ä¸å­˜åœ¨ï¼Œè‡ªåŠ¨åˆ›å»ºã€‚"
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "命令:/list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "改命令列出所有频é“列表。"
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "命令:/me <ä¿¡æ¯>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "该命令告诉别人你正在(åšï¼‰<ä¿¡æ¯>。"
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "命令:/msg <昵称><ä¿¡æ¯>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "命令:/whisper <昵称><ä¿¡æ¯>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "命令:/w <昵称><ä¿¡æ¯>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "该命令å‘é€æ–‡æœ¬<ä¿¡æ¯>ç»™<昵称>。"
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr "如果<昵称>之间有空格,用åŒå¼•å·(\")括起æ¥ã€‚"
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "命令:/query <昵称>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "命令:/q <昵称>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr "该命令å°è¯•ä¸ºæ‚¨å’Œ<昵称>之间的密语开å¯ä¸€ä¸ªæ–°çš„标签。"
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "命令:/w <昵称><ä¿¡æ¯>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "命令: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "该命令设置主题为<讯æ¯>"
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "命令:/create <帮会å>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "这些命令创建一个被称为<帮会å>的新帮会。"
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "命令:/party <昵称>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "该命令邀请<昵称>和你èšä¼šã€‚"
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "命令: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr "该命令得到列席的玩家åå•å¹¶ä¼ é€åˆ°è®°å½•æ—¥å¿—如果记录,å¦åˆ™èŠå¤©è®°å½•ã€‚"
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "命令: /record <文件å>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr "该命令开始记录èŠå¤©æ—¥å¿—至文件<文件å>。"
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "命令: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "此命令结æŸå°†æ­¤ä¼šè¯è®°å½•"
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "命令: /toggle <状æ€>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr "该命令设置回车键是å¦åˆ‡æ¢èŠå¤©æ—¥å¿—,或者èŠå¤©æ—¥å¿—功能是å¦è‡ªåŠ¨å…³é—­ã€‚"
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr "<状æ€> å¯ç”¨â€œ1â€ã€â€œyesâ€ã€â€œtrueâ€æ¥å¼€å¯ï¼Œæˆ–以“0â€ã€â€œnoâ€ã€â€œfalseâ€å…³é—­ã€‚"
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "命令: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "该命令显示<回车>键切æ¢çŠ¶æ€"
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "命令:/item <策略>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "命令: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "该æ¡å‘½ä»¤æ˜¾ç¤ºå½“å‰åœ°å›¾å。"
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "命令: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "该æ¡å‘½ä»¤å¯æ˜¾çŽ°å½“å‰åœ¨çº¿ç”¨æˆ·æ€»æ•°ã€‚"
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "输入 /help 获å–命令列表。"
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "无法å‘é€ç©ºç™½å¯†è¯­ï¼"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr "æ— æ³•åŒ \"%s\" 建立一个ç§äººè°ˆè¯æ ‡ç­¾é¡µï¼æˆ–者已ç»å­˜åœ¨ï¼Œæˆ–者那就是自己。"
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "请求加入频é“%s。"
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "帮会å称缺失。"
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "讯æ¯å…³é—­èŠå¤©ã€‚"
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "<回车>键现在切æ¢èŠå¤©ã€‚"
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "讯æ¯çŽ°åœ¨å…³é—­èŠå¤©ã€‚"
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "帮会创建æˆåŠŸã€‚"
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "密语无法å‘é€ï¼Œä½ å·²è¢«ç”¨æˆ·å¿½ç•¥ã€‚"
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "密语无法å‘é€ï¼Œä½ å·²è¢«ç”¨æˆ·å¿½ç•¥ã€‚"
@@ -515,42 +492,42 @@ msgstr "密语无法å‘é€ï¼Œä½ å·²è¢«ç”¨æˆ·å¿½ç•¥ã€‚"
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr "/%s的选项是\"yes\",\"no\",\"true\",\"false\",\"1\",\"0\"。"
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "常规"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "å±å¹•å¿«ç…§ä¿å­˜è‡³ ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "ä¿å­˜å±å¹•å¿«ç…§å¤±è´¥ï¼"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "与æœåŠ¡å™¨è¿žæŽ¥ä¸¢å¤±,程åºå°†ä¼šé€€å‡º."
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "网络错误"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "忽略新进的交易请求"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "接å—传入的交易请求"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "无法加载地图"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "加载%s时出现错误"
@@ -564,34 +541,34 @@ msgstr "帮会(%s)"
msgid "Buy"
msgstr "è´­ä¹°"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "价格:%s / 总价:%s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "退出"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "最大"
@@ -605,11 +582,11 @@ msgstr "出售"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "å–消"
@@ -685,14 +662,14 @@ msgstr "创建角色"
msgid "Name:"
msgstr "姓å"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -709,8 +686,8 @@ msgstr "å‘色:"
msgid "Hair style:"
msgstr "å‘型:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "建立"
@@ -766,8 +743,8 @@ msgstr "注销"
msgid "Change Email"
msgstr "æ›´æ¢Email地å€"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "删除"
@@ -776,24 +753,24 @@ msgstr "删除"
msgid "Choose"
msgstr "关闭"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "èŠå¤©"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d 玩家出席。"
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "对%s密语到:%s"
@@ -859,8 +836,8 @@ msgstr "环境音效"
msgid "Equipment"
msgstr "装备"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "å¸ä¸‹è£…备"
@@ -868,7 +845,7 @@ msgstr "å¸ä¸‹è£…备"
msgid "Help"
msgstr "帮助"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "关闭"
@@ -880,81 +857,84 @@ msgstr "物å“æ "
msgid "Storage"
msgstr "仓库"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "槽:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "装备"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "使用"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "丢弃"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "分离"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "é‡é‡ï¼š"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "存储"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "å–回"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "丢弃"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "确定"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "全部"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "请选择交易的物å“æ•°é‡ã€‚"
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "请选择丢弃的物å“æ•°é‡ã€‚"
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "请选择存储的物å“æ•°é‡ã€‚"
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "请选择å–回的物å“æ•°é‡ã€‚"
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "请选择你分离的物å“çš„æ•°é‡"
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "é‡é‡ï¼š "
@@ -986,40 +966,40 @@ msgstr "物å“共享关闭。"
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "地图"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "等待æœåŠ¡å™¨ä¸­"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "下一个"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "æ交"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "é‡ç½®"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1034,7 +1014,7 @@ msgstr "至:"
msgid "Send"
msgstr "å‘é€"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "å‘é€ä¿¡ä»¶å¤±è´¥æˆ–者信件无效。"
@@ -1124,7 +1104,7 @@ msgstr "@@name|添加姓å至èŠå¤©@@"
msgid "Pick up %s"
msgstr "æ¡èµ·"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|添加到èŠå¤©@@"
@@ -1197,61 +1177,61 @@ msgstr "密ç ä¸èƒ½å°‘于%d个字符。"
msgid "Passwords do not match."
msgstr "密ç ä¸ä¸€è‡´."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "选择你的æœåŠ¡å™¨"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "æœåŠ¡å™¨ï¼š"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "端å£ï¼š"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "æœåŠ¡å™¨ï¼š"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "连接中..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "自定义鼠标"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "请输入æœåŠ¡å™¨çš„IP地å€å’Œç«¯å£"
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "等待æœåŠ¡å™¨ä¸­"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1289,54 +1269,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "这就是该色彩看起æ¥çš„æ ·å­"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "颜色"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "类型: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "é™æ­¢çš„"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "脉冲"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "彩虹"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "色谱"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "显示: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "红: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "绿: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "è“: "
@@ -1422,28 +1402,33 @@ msgstr "忽略"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "å…许交易"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "å…许密语"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "将所有密语放于标签夜"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "显示姓å"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "无法出售."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "玩家"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "当忽略时:"
@@ -1499,512 +1484,479 @@ msgstr "中"
msgid "max"
msgstr "最大"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "å…¨å±"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "自定义鼠标"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "å¯è§å§“å"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "ç²’å­æ•ˆæžœ"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "显示姓å"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "显示拾起通知"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "èŠå¤©ä¸­"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "作为å‘射武器"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPSé™åˆ¶ï¼š"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "视频"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "显示姓å"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "头顶文字"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Gui é€æ˜Žåº¦"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "环境音效"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "纹ç†ç»†èŠ‚"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "字体大å°"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "å¦"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "切æ¢åˆ°å…¨å±"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "é‡å¯ç”Ÿæ•ˆ"
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "改å˜æˆOpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "è¿ç”¨æ”¹å˜ä¸ºOpenGL需è¦é‡æ–°å¼€å§‹"
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "ç»éªŒå…±äº«å…³é—­ã€‚"
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "分辨率已å˜æ›´"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "é‡å¯æ‚¨çš„游æˆå®¢æˆ·ç«¯ä»¥ä½¿å˜æ›´ç”Ÿæ•ˆã€‚"
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "ç²’å­æ•ˆæžœè®¾ç½®å·²å˜æ›´ã€‚"
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "å˜æ›´ä¼šåœ¨åœ°å›¾æ›´æ¢æ—¶ç”Ÿæ•ˆã€‚"
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "技能"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "å‡çº§"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "技能点数:%d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "技能点数:%d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "技能"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "等级:%d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "等级:%d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "帮会已创建"
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "创建帮会"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "确定退出游æˆï¼Ÿ"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "邀请一个用户加入队ä¼"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "邀请一个用户加入队ä¼"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "确定退出游æˆï¼Ÿ"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "创建帮会"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "创建角色"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "邀请用户"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "大"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "接å—%s的邀请。"
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "æ‹’ç»%s的邀请。"
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "接å—%s的邀请。"
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "æ‹’ç»%s的邀请。"
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "帮会"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "选择你的æœåŠ¡å™¨"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "接å—到一个已ç»å­˜åœ¨çš„帮会邀请。"
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%så·²ç»é‚€è¯·ä½ åŠ å…¥å¸®ä¼š%s。"
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "接å—帮会邀请"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "接å—到一个已ç»å­˜åœ¨çš„帮会邀请。"
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%så·²ç»é‚€è¯·ä½ åŠ å…¥ä»–们的帮会。"
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%så·²ç»é‚€è¯·ä½ åŠ å…¥å¸®ä¼š%s。"
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%så·²ç»é‚€è¯·ä½ åŠ å…¥ä»–们的帮会。"
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%så·²ç»é‚€è¯·ä½ åŠ å…¥å¸®ä¼š%s。"
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "接å—帮会邀请"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "帮会"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "选择你的æœåŠ¡å™¨"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "等级:%d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "金å¸: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "HP:"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "ç»éªŒï¼š"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "MP:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "èŒä¸šï¼š%d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "èŒä¸šï¼š"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "HP:"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "MP:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "ç»éªŒï¼š"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "金钱:%d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "èŒä¸šï¼š"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "角色状æ€å¯ä»¥"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "技能点数:%d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "等级:%d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "打算交易"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "已确认。等待中……"
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "åŒæ„交易"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "å·²åŒæ„。等待中……"
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "交易:你"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "交易"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "添加"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "你得到%s。"
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "你给予:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "改å˜"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr "添加物å“失败。你ä¸èƒ½è¦†ç›–窗å£ä¸­çš„该类物å“。"
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "你没有足够的钱å¸."
@@ -2044,86 +1996,6 @@ msgstr "##1 您ç¨å€™å†æ¬¡å°è¯•"
msgid "Completed"
msgstr "已完æˆ"
-# need more contents!!!
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "存在"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "其他玩家å"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "自己的åå­—"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "GMå"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "NPCs"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "怪物"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "帮会"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "帮会"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "ç²’å­æ•ˆæžœ"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "拾起通知"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "到期通知"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "玩家攻击怪兽"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "怪兽击打玩家"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "会心一击"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "玩家攻击怪兽"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "会心一击"
-
-#: src/gui/userpalette.cpp:111
-#, fuzzy
-msgid "Local Player Miss"
-msgstr "ä¿å­˜çŽ©å®¶åˆ—表"
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "失误"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/usr > 列出当å‰é¢‘é“的用户"
@@ -2200,55 +2072,55 @@ msgstr "需è¦ä¸€ä¸ªç”¨æˆ·æ¥æ“作"
msgid "Need a user to kick!"
msgstr "踢人时需è¦æŒ‡å®šç”¨æˆ·ï¼"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "全局公告:"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "%s 全局公告:"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s悄悄的对您说: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "无法å‘é€ç©ºç™½ä¿¡æ¯ï¼"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > 关闭密语标签页"
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "命令: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "该命令关闭当å‰å¯†è¯­æ ‡ç­¾é¡µã€‚"
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "命令:/item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "该æ¡å‘½ä»¤å¯æ˜¾çŽ°å½“å‰åœ¨çº¿ç”¨æˆ·æ€»æ•°ã€‚"
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr "该命令开始记录èŠå¤©æ—¥å¿—至文件<文件å>。"
@@ -2276,412 +2148,426 @@ msgstr "改å˜"
msgid "Choose World"
msgstr "选择你的æœåŠ¡å™¨"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "å‘上移动"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "å‘下移动"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "å‘左移动"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "å‘å³ç§»åŠ¨"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "攻击"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "对准并攻击"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "笑脸"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "说è¯"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "åœæ­¢æ”»å‡»"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "对准最近目标"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "目标NPC"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "目标玩家"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "æ¡èµ·"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "éšè—窗å£"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "å下"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "å±å¹•å¿«ç…§"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "å¼€å¯/关闭交易"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "物å“å¿«æ· %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "帮助窗å£"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "状æ€çª—å£"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "物å“æ çª—å£"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "装备窗å£"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "技能窗å£"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "å°åœ°å›¾çª—å£"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "èŠå¤©çª—å£"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "物å“å¿«æ·çª—å£"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "设置窗å£"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "Debug窗å£"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "技能窗å£"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "表情快æ·çª—å£"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "状æ€çª—å£"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "表情快æ·é”®ä¸º %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "切æ¢èŠå¤©"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "å‘上滚动èŠå¤©è®°å½•"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "å‘下滚动èŠå¤©è®°å½•"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "上一个èŠå¤©çª—å£æ ‡ç­¾é¡µ"
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "下一个èŠå¤©çª—å£æ ‡ç­¾é¡µ"
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "选择OK"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "忽略输入1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "忽略输入2"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "解决按键冲çªï¼Œå¦è€…游æˆè¿‡ç¨‹ä¸­å¯èƒ½å‘生奇怪行为。"
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "无法拾å–物å“。"
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "ä½ æ¡èµ·%s [@@%d|%s@@]。"
msgstr[1] "ä½ æ¡èµ·%s [@@%d|%s@@]。"
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "选项:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version\t:显示版本å·"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help\t: 显示该帮助"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file\t: 使用的é…置文件"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U --username\t:以该用户å登录游æˆ"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password\t: 以该密ç ç™»å½•"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character\t: 以该角色登录"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server\t: 登录æœåŠ¡å™¨å或IP"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -p --port\t: 登录æœåŠ¡å™¨ç«¯å£"
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host\t: 使用该更新主机"
-#: src/main.cpp:53
+#: src/main.cpp:57
#, fuzzy
msgid " -D --default : Choose default character server and character"
msgstr " -D --default\t: 选择æŸäººè§’色æœåŠ¡å™¨å’Œè§’色"
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update\t:跳过下载更新"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d --data\t: 从此目录加载游æˆæ•°æ®"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir\t: 用该目录作为家目录"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file\t: 使用的é…置文件"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir\t: 用该目录作为家目录"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl\t:为该次会è¯å…³é—­OpenGL"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "你已玩完了。"
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr "很é—憾的告诉您,您的角色在战斗中死亡了"
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "ä½ å†ä¹Ÿä¸æ˜¯é‚£æ ·çš„生机勃勃了。"
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "游æˆç»“æŸï¼"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr "ä¸ï¼Œå­©å­ã€‚你的角色没有真正死亡。他……呃……ä¸è¿‡æ˜¯åŽ»äº†ä¸€ä¸ªæ›´å¥½çš„地方而已。"
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "被消ç­äº†ã€‚"
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
#, fuzzy
msgid "Press OK to respawn."
msgstr " 按OKé‡æ–°å¼€å§‹"
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "你完蛋了"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "å·²ç»ç™»å½•"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "用户å已存在"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "角色状æ€å¯ä»¥"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "角色状æ€å¯ä»¥"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2689,96 +2575,96 @@ msgstr ""
msgid "Unknown error."
msgstr "未明错误"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "ä¿¡æ¯"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "角色已删除。"
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "请选择交易的物å“æ•°é‡ã€‚"
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "未明错误"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "æ—  游æˆæœåŠ¡å™¨ å¯ç”¨ã€‚"
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "主题:%s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "玩家攻击怪兽"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "命令:/join <频é“>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "请求加入频é“%s。"
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s加入了帮会。"
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "未知命令。"
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "帮会已创建"
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "邀请已å‘é€ã€‚"
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr "会员晋å‡æˆåŠŸã€‚"
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "晋å‡ä¼šå‘˜å¤±è´¥ã€‚"
@@ -2869,11 +2755,11 @@ msgstr "电å­é‚®ä»¶åœ°å€å·²å­˜åœ¨"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "加入了帮会。"
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s加入了帮会。"
@@ -2883,190 +2769,137 @@ msgstr "%s加入了帮会。"
msgid "%s rejected your invite."
msgstr "%sæ‹’ç»äº†æ‚¨çš„邀请。"
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "力é‡"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "åŠ›é‡ %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "æ•æ·"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "æ•æ· %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "æ•æ·"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "æ•æ· %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "生命"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "生命 %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "智慧"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "智慧 %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "æ„志力:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "æ„志力 %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "正在接å—交易请求"
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "忽略交易请求"
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "请求交易"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s想和您进行交易,是å¦æŽ¥å—?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "与%s交易中"
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "交易å–消。"
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "交易完æˆã€‚"
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "踢出失败ï¼"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "æˆåŠŸè¸¢å‡ºï¼"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "无物å¯ä¾›å‡ºå”®ã€‚"
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "谢谢你的购买。"
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "无法购买。"
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "感谢您的出售。"
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "无法出售."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "ä¸èƒ½ä½¿ç”¨è¯¥ID"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "未明错误"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "创建角色失败。很å¯èƒ½å称已被å ç”¨ã€‚"
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "角色已删除。"
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "删除角色失败。"
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "力é‡ï¼š"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "æ•æ·ï¼š"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "生命:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "智力:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "çµå·§ï¼š"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "幸è¿ï¼š"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "密语无法å‘é€ï¼Œç”¨æˆ·å·²ç¦»çº¿ã€‚"
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "密语无法å‘é€ï¼Œä½ å·²è¢«ç”¨æˆ·å¿½ç•¥ã€‚"
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "玩家"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "èŠå¤©é¢‘é“ä¸è¢«æ”¯æŒï¼"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3081,80 +2914,125 @@ msgstr "姓å"
msgid "Request to quit denied!"
msgstr "请求交易"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "åŠ›é‡ %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "æ•æ· %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "生命 %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "智慧 %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "æ•æ· %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "å¹¸è¿ %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "验è¯å¤±è´¥"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "æ— å¯ç”¨æœåŠ¡å™¨"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "æŸäººæ­£åœ¨å°è¯•ä½¿ç”¨è¯¥å¸å·"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "该å¸å·å·²ç»ç™»å½•"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "检测到调速作弊"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "é‡å¤ç™»å½•"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "未知连接错误"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "å’ŒæœåŠ¡å™¨å¤±åŽ»è¿žæŽ¥"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "力é‡"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "æ•æ·"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "生命"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "智慧"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "æ•æ·"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "幸è¿"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "防御:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "魔攻:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "魔防:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Ac精确度:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% E回é¿çŽ‡ï¼š"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "会心一击"
@@ -3205,29 +3083,29 @@ msgstr "该命令致使玩家离开帮会"
msgid "Guild name is missing."
msgstr "帮会å称缺失。"
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s现在是你帮会中的æˆå‘˜äº†ã€‚"
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "未知邀请应答%s。"
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3307,15 +3185,15 @@ msgstr "命令:/exp"
msgid "This command displays the party's current experience sharing policy."
msgstr "该命令显示帮会现有的ç»éªŒå…±äº«ç­–略。"
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "物å“共享开å¯ã€‚"
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "物å“共享关闭。"
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "物å“共享ä¸å¯èƒ½ã€‚"
@@ -3324,15 +3202,15 @@ msgstr "物å“共享ä¸å¯èƒ½ã€‚"
msgid "Item sharing unknown."
msgstr "物å“共享开å¯ã€‚"
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "ç»éªŒå…±äº«å¼€å¯ã€‚"
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "ç»éªŒå…±äº«å…³é—­ã€‚"
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "ç»éªŒå…±äº«ä¸å¯èƒ½ã€‚"
@@ -3341,15 +3219,15 @@ msgstr "ç»éªŒå…±äº«ä¸å¯èƒ½ã€‚"
msgid "Experience sharing unknown."
msgstr "ç»éªŒå…±äº«å¼€å¯ã€‚"
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "使用物å“失败。"
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "无法装备。"
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "无法å¸è½½è£…备。"
@@ -3416,7 +3294,7 @@ msgstr "无法出售."
msgid "Connection to server terminated. "
msgstr "正在连接 地图 æœåŠ¡å™¨..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "无法创建帮会。"
@@ -3424,244 +3302,239 @@ msgstr "无法创建帮会。"
msgid "Party successfully created."
msgstr "帮会创建æˆåŠŸã€‚"
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%så·²ç»æ˜¯ä½ çš„帮会æˆå‘˜äº†ã€‚"
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%sæ‹’ç»äº†æ‚¨çš„邀请。"
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s现在是你帮会中的æˆå‘˜äº†ã€‚"
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "未知邀请应答%s。"
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "你以退出帮会"
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%så·²ç»ç¦»å¼€ä½ çš„帮会。"
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "一未知æˆå‘˜å°è¯•è¯´ï¼š%s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "邀请一个用户加入队ä¼"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%sä¸åœ¨ä½ çš„帮会中ï¼"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "投入游æˆå¸ç»§ç»­ã€‚"
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "你还没死,你åªæ˜¯åœ¨ä¼‘æ¯"
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
"<ç­–ç•¥>å¯ä»¥ä¸ºâ€œ1â€ï¼Œâ€œyesâ€ï¼Œâ€œtrueâ€å…¶ä¸­ä¹‹ä¸€ä»¥å¼€å¯ç‰©å“共享,或者 是\"0\",\"no\","
"\"false\"用æ¥ç¦æ­¢ç‰©å“共享。"
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "讯æ¯"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr "ä½ å·²æºå¸¦è¶…过åŠæ•°è´Ÿé‡ã€‚无法回å¤å¥åº·ï¼ˆä½“力)"
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "ä½ æ¡èµ· "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "请先装备弓箭。"
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "交易失败ï¼"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "å‘é€è¡¨æƒ…失败ï¼"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "原地休æ¯å¤±è´¥ï¼"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "èŠå¤©åˆ›å»ºå¤±è´¥ï¼"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "ä¸èƒ½åŠ å…¥å·¥ä¼šï¼"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "无法呼喊ï¼"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "你还没有达到足够的等级ï¼"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "HPä¸è¶³ï¼"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "SPä¸è¶³ï¼"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "没有备忘录"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "你无法办到ï¼"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "看起æ¥éœ€è¦æ›´å¤šé‡‘å¸â€¦â€¦ ;-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "此武器无法用æ¥ä½¿ç”¨æ­¤é¡¹æŠ€èƒ½ï¼"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "你需è¦å¦ä¸€é¢—红å®çŸ³ï¼"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "你需è¦å¦ä¸€é¢—è“å®çŸ³ï¼"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "你已负é‡å¤ªå¤šï¼Œæ— æ³•åŠžåˆ°ï¼"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "啊?那是什么?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "ä¼ é€å¤±è´¥..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "无法å·å–任何物å“..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "毒è¯æ— æ•ˆ..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "交易ä¸å¯èƒ½è¿›è¡Œã€‚与交易伙伴太过太过é¥è¿œ"
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "交易ä¸å¯èƒ½è¿›è¡Œã€‚角色ä¸å­˜åœ¨ã€‚"
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "交易å–消因ä¸æ˜ŽåŽŸå› ã€‚"
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "交易:您和%s"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "与%s的交易被å–消。"
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr "未处ç†çš„交易å–消分组。"
@@ -3677,53 +3550,44 @@ msgstr "添加项目失败。交易伙伴无空闲槽存放物å“。"
msgid "Failed adding item for unknown reason."
msgstr "添加项目失败,原因未知。"
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|完全忽略%s@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "攻击 %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "防护 %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "未知物å“"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "未知怪兽"
@@ -3774,6 +3638,25 @@ msgstr "未知怪兽"
#~ msgid "Hyperlink"
#~ msgstr "超链接"
+# need more contents!!!
+#~ msgid "Being"
+#~ msgstr "存在"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "其他玩家å"
+
+#~ msgid "Own Name"
+#~ msgstr "自己的åå­—"
+
+#~ msgid "GM Names"
+#~ msgstr "GMå"
+
+#~ msgid "NPCs"
+#~ msgstr "NPCs"
+
+#~ msgid "Monsters"
+#~ msgstr "怪物"
+
#~ msgid "Unknown Item Type"
#~ msgstr "未知物å“类型"
@@ -3818,6 +3701,29 @@ msgstr "未知怪兽"
#~ msgid "Ammo"
#~ msgstr "å¼¹è¯"
+#~ msgid "Particle Effects"
+#~ msgstr "ç²’å­æ•ˆæžœ"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "拾起通知"
+
+#~ msgid "Exp Notification"
+#~ msgstr "到期通知"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "玩家攻击怪兽"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "怪兽击打玩家"
+
+#~ msgid "Critical Hit"
+#~ msgstr "会心一击"
+
+#~ msgid "Misses"
+#~ msgstr "失误"
+
#~ msgid "HP Bar"
#~ msgstr "HPæ¡"
@@ -3831,6 +3737,30 @@ msgstr "未知怪兽"
#~ msgstr "1/4 HPæ¡"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "HP:"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "MP:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "ç»éªŒï¼š"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "金钱:%d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "èŒä¸šï¼š"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "等级:%d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "访问被拒ç»"
@@ -3844,6 +3774,13 @@ msgstr "未知怪兽"
#~ msgid "Willpower:"
#~ msgstr "æ„志力:"
+#~ msgid "Willpower %+d"
+#~ msgstr "æ„志力 %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "æ„志力:"
+
#, fuzzy
#~ msgid "Server is full."
#~ msgstr "æœåŠ¡å™¨æ»¡è½½"
@@ -4065,6 +4002,9 @@ msgstr "未知怪兽"
#~ msgid "@@pickup|Pick Up %s@@"
#~ msgstr "@@æ¡èµ·|æ¡èµ·%s@@"
+#~ msgid "Save player list"
+#~ msgstr "ä¿å­˜çŽ©å®¶åˆ—表"
+
#~ msgid "Scroll laziness"
#~ msgstr "Scroll laziness"
diff --git a/po/zh_HK.po b/po/zh_HK.po
index b340dd6d..70ba64d5 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2009-06-08 22:11+0000\n"
"Last-Translator: lok0919 <lok0919@gmail.com>\n"
"Language-Team: Traditional Chinese <themanaworld-devel@lists.sourceforge."
@@ -24,485 +24,462 @@ msgstr ""
"X-Poedit-Language: Chinese\n"
"X-Poedit-SourceCharset: utf-8\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "設定"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "正在連接到地圖伺æœå™¨..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "登入"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "é¸æ“‡è§’色"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "正在連接到地圖伺æœå™¨..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "更改"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "錯誤"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "密碼:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "更改"
-#: src/client.cpp:894
+#: src/client.cpp:936
msgid "Email changed successfully!"
msgstr ""
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "註冊"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, c-format
msgid "Invalid update host: %s"
msgstr ""
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr ""
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "ä¸æ˜ŽæŒ‡ä»¤"
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- 說明 --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr ""
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > 顯示地圖å稱"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > 顯示線上人數"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > 告訴一些有關你的事"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > 清除此窗å£"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > 發é€ç§äººè¨Šæ¯çµ¦çŽ©å®¶"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > ç­‰åŒmsg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > ç­‰åŒmsg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr ""
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > ç­‰åŒquery"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > 顯示所有公共頻é“"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > 加入/建立一個頻é“"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/party > 邀請玩家加入隊ä¼"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > 邀請玩家加入隊ä¼"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > 開始錄製èŠå¤©è‡³å¤–部文件"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr ""
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr "/present > ç²å–ç¾åœ¨çš„玩家å單(如果錄製èŠå¤©ä¸­ï¼Œæœƒç™¼é€åˆ°èŠå¤©è¨˜éŒ„)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > 公告 (GM only)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr ""
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "指令: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "該指令å¯é¡¯ç¤ºæ‰€æœ‰å¯ç”¨æŒ‡ä»¤ã€‚"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "指令: /help <指令>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "該指令會顯示<指令>的幫助訊æ¯"
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "指令: /announce <ä¿¡æ¯>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** åªæœ‰GMå¯ç”¨ ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "該指令會發é€<ä¿¡æ¯>給所有線上用戶。"
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "指令: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "該指令å¯ä»¥æ¸…除èŠå¤©ç´€éŒ„。"
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "/join <é »é“>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "這調指令å¯é¡¯ç¤ºç›®å‰ç·šä¸Šäººæ•¸ã€‚"
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "/join <é »é“>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "這個指令令你進入 <é »é“>."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "如果<é »é“>ä¸å­˜åœ¨ï¼Œå°‡æœƒè¢«å»ºç«‹"
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr ""
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "這個指令會列出所有頻é“"
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "/me <ä¿¡æ¯>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "這個指令會告訴其他人你正在 <ä¿¡æ¯>."
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr ""
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr ""
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr "如果<暱稱>之間有空格,用雙引號(\")括起來。"
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr ""
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr ""
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr ""
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "指令: /clear"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "指令: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "該指令å¯ä»¥æ¸…除èŠå¤©ç´€éŒ„。"
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "指令: /clear"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "這個指令令你進入 <é »é“>."
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr ""
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr ""
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr ""
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr ""
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr ""
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr ""
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr ""
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr ""
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr ""
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
msgstr ""
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr ""
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr ""
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "指令: /announce <ä¿¡æ¯>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "指令: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "這個指令顯示目å‰åœ°åœ–å。"
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "指令: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "這調指令å¯é¡¯ç¤ºç›®å‰ç·šä¸Šäººæ•¸ã€‚"
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "輸入 /help ç²å–指令列表。"
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr ""
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr ""
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr ""
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr ""
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr ""
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr ""
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
msgid "Player successfully ignored!"
msgstr ""
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
msgid "Player could not be ignored!"
msgstr ""
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
msgid "Player could not be unignored!"
msgstr ""
@@ -511,41 +488,41 @@ msgstr ""
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr ""
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr ""
-#: src/game.cpp:333
+#: src/game.cpp:342
msgid "Screenshot saved as "
msgstr ""
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr ""
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "正在連接角色伺æœå™¨..."
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr ""
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr ""
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr ""
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "ä¸èƒ½åŠ å…¥éšŠä¼ï¼"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr ""
@@ -559,34 +536,34 @@ msgstr ""
msgid "Buy"
msgstr "購買"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr ""
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr ""
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "離開"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr ""
@@ -600,11 +577,11 @@ msgstr "出售"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "å–消"
@@ -677,14 +654,14 @@ msgstr "新增角色"
msgid "Name:"
msgstr "å字:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -701,8 +678,8 @@ msgstr "ç°è‰²ï¼š"
msgid "Hair style:"
msgstr "髮型:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "創造"
@@ -758,8 +735,8 @@ msgstr "註冊"
msgid "Change Email"
msgstr "更改"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "刪除"
@@ -768,24 +745,24 @@ msgstr "刪除"
msgid "Choose"
msgstr "關閉"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr ""
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, c-format
msgid "Present: %s; %d players are present."
msgstr ""
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr ""
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "å°%sç«Šç«Šç§èªžï¼š%s"
@@ -851,8 +828,8 @@ msgstr ""
msgid "Equipment"
msgstr "è£å‚™"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "å¸ä¸‹è£å‚™"
@@ -860,7 +837,7 @@ msgstr "å¸ä¸‹è£å‚™"
msgid "Help"
msgstr "說明"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "關閉"
@@ -872,81 +849,84 @@ msgstr "物å“æ””"
msgid "Storage"
msgstr ""
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr ""
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "è£å‚™"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "使用"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "丟棄"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "分開"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr ""
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr ""
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr ""
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "丟棄"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "確定"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr ""
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "è«‹é¸æ“‡äº¤æ˜“的物å“數é‡"
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "è«‹é¸æ“‡ä¸Ÿæ£„的物å“數é‡"
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr ""
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr ""
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "è«‹é¸æ“‡ä½ è¦åˆ†é›¢çš„物å“數é‡"
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "效果:%s"
@@ -977,40 +957,40 @@ msgstr ""
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr ""
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr ""
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "下一個"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr ""
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr ""
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1025,7 +1005,7 @@ msgstr ""
msgid "Send"
msgstr ""
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr ""
@@ -1112,7 +1092,7 @@ msgstr ""
msgid "Pick up %s"
msgstr ""
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
msgid "Add to chat"
msgstr ""
@@ -1184,60 +1164,60 @@ msgstr "密碼ä¸èƒ½å°‘æ–¼%d個字元。"
msgid "Passwords do not match."
msgstr "密碼ä¸ä¸€æ¨£."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
msgid "Choose Your Server"
msgstr ""
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "伺æœå™¨ï¼š"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "Port:"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "伺æœå™¨ï¼š"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "連線中..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "自訂滑鼠標"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "請輸入伺æœæ°£å¾—IP地å€å’ŒPort"
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "正在連接到地圖伺æœå™¨..."
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1274,51 +1254,51 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr ""
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr ""
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
msgid "Type:"
msgstr ""
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr ""
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr ""
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr ""
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr ""
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "開始"
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
msgid "Red:"
msgstr ""
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
msgid "Green:"
msgstr ""
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
msgid "Blue:"
msgstr ""
@@ -1403,27 +1383,31 @@ msgstr "忽略"
msgid "???"
msgstr ""
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "å…許交易"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "å…許密語"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr ""
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
msgid "Show gender"
msgstr ""
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+msgid "Enable Chat log"
+msgstr ""
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "玩家"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "當忽略時:"
@@ -1479,494 +1463,464 @@ msgstr "中"
msgid "max"
msgstr "最大"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "全螢幕"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "自訂滑鼠標"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr ""
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr ""
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
msgid "Show own name"
msgstr ""
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr ""
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr ""
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPSé™åˆ¶ï¼š"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "顯示"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
msgid "Show damage"
msgstr ""
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr ""
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Gui é€æ˜Žåº¦"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr ""
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "ç´‹ç†ç´°ç¯€"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr ""
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "å¦"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr ""
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "切æ›å…¨èž¢å¹•"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "è«‹é‡æ–°å•Ÿå‹•"
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "切æ›ç‚ºOpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "確èªåˆ‡æ›OpenGL需è¦é‡æ–°é–‹å§‹"
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
msgid "Transparency disabled"
msgstr ""
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
msgid "Screen Resolution Changed"
msgstr ""
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr ""
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
msgid "Particle Effect Settings Changed."
msgstr ""
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr ""
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "技能"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "å‡ç´š"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "技能點數:%d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "技能點數:%d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "技能"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "等級:%d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "等級:%d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, c-format
msgid "Guild %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
msgid "Leave Guild?"
msgstr ""
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "你確定想刪除這個角色?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > 邀請玩家加入隊ä¼"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > 邀請玩家加入隊ä¼"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "你確定想刪除這個角色?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "新增角色"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
msgid "Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
msgid "Leave"
msgstr ""
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, c-format
msgid "Accepted party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, c-format
msgid "Rejected party invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, c-format
msgid "Accepted guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, c-format
msgid "Rejected guild invite from %s."
msgstr ""
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, c-format
msgid "Creating guild called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
msgid "Guild Name"
msgstr ""
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
msgid "Choose your guild's name."
msgstr ""
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
msgid "Received guild request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, c-format
msgid "%s has invited you to join the guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
msgid "Accept Guild Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr ""
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
msgid "You have been invited you to join a party."
msgstr ""
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, c-format
msgid "You have been invited to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr ""
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr ""
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr ""
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
msgid "Party Name"
msgstr ""
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
msgid "Choose your party's name."
msgstr ""
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "等級:%d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr ""
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr ""
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr ""
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr ""
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "è·æ¥­ï¼š%d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr ""
-#: src/gui/statuswindow.cpp:203
-msgid "HP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:209
-msgid "MP"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:215
-msgid "Exp"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "金錢:%d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "è·æ¥­ï¼š%d"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "角色狀態確定"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "技能點數:%d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "等級:%d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "是å¦äº¤æ˜“"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr ""
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr ""
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr ""
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "交易"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "增加"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "你付出:"
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "你付出:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "更改"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr "增加物å“失敗。你ä¸èƒ½è¦†è“‹è¦–窗中的該類物å“能。"
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr ""
@@ -2005,79 +1959,6 @@ msgstr ""
msgid "Completed"
msgstr "已完æˆ"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr ""
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr ""
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr ""
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr ""
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr ""
-
-#: src/gui/userpalette.cpp:97
-msgid "Party Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:98
-msgid "Guild Members"
-msgstr ""
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr ""
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr ""
-
-#: src/gui/userpalette.cpp:103
-msgid "Other Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:104
-msgid "Monster Hits Player"
-msgstr ""
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:107
-msgid "Local Player Hits Monster"
-msgstr ""
-
-#: src/gui/userpalette.cpp:109
-msgid "Local Player Critical Hit"
-msgstr ""
-
-#: src/gui/userpalette.cpp:111
-#, fuzzy
-msgid "Local Player Miss"
-msgstr "ä¿å­˜çŽ©å®¶åˆ—表"
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr ""
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr ""
@@ -2154,55 +2035,55 @@ msgstr ""
msgid "Need a user to kick!"
msgstr ""
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "主è¦å…¬å‘Šï¼š"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "%s 主è¦å…¬å‘Šï¼š"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "å°%sç«Šç«Šç§èªžï¼š%s"
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr ""
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "指令: /where"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "這調指令å¯é¡¯ç¤ºç›®å‰ç·šä¸Šäººæ•¸ã€‚"
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
msgid "This command stops ignoring the other player if they are being ignored."
msgstr ""
@@ -2228,392 +2109,405 @@ msgstr "更改"
msgid "Choose World"
msgstr ""
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr ""
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr ""
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr ""
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr ""
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr ""
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr ""
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr ""
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr ""
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr ""
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
msgid "Target Monster"
msgstr ""
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr ""
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr ""
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr ""
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr ""
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr ""
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr ""
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr ""
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr ""
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr ""
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr ""
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr ""
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr ""
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr ""
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr ""
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr ""
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr ""
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr ""
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
msgid "Social Window"
msgstr ""
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr ""
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
msgid "Outfits Window"
msgstr ""
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr ""
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr ""
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr ""
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr ""
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr ""
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr ""
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr ""
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr ""
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "解決按éµè¡çªï¼Œå¦å‰‡éŠæˆ²ä¸­å¯èƒ½é‡åˆ°å¥‡æ€ªè¡Œç‚ºã€‚"
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr ""
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] ""
msgstr[1] ""
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
-msgid "Options:"
+msgid "[mana-file] : The mana file is an XML file (.mana)"
msgstr ""
#: src/main.cpp:44
-msgid " -v --version : Display the version"
+msgid " used to set custom parameters"
msgstr ""
#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
+msgid "Options:"
+msgstr ""
+
+#: src/main.cpp:48
+msgid " -v --version : Display the version"
+msgstr ""
+
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr "/help > 顯示幫助"
-#: src/main.cpp:46
+#: src/main.cpp:50
msgid " -C --config-dir : Configuration directory to use"
msgstr ""
-#: src/main.cpp:47
+#: src/main.cpp:51
msgid " -U --username : Login with this username"
msgstr ""
-#: src/main.cpp:48
+#: src/main.cpp:52
msgid " -P --password : Login with this password"
msgstr ""
-#: src/main.cpp:49
+#: src/main.cpp:53
msgid " -c --character : Login with this character"
msgstr ""
-#: src/main.cpp:50
+#: src/main.cpp:54
msgid " -s --server : Login server name or IP"
msgstr ""
-#: src/main.cpp:51
+#: src/main.cpp:55
msgid " -p --port : Login server port"
msgstr ""
-#: src/main.cpp:52
+#: src/main.cpp:56
msgid " --update-host : Use this update host"
msgstr ""
-#: src/main.cpp:53
+#: src/main.cpp:57
msgid " -D --default : Choose default character server and character"
msgstr ""
-#: src/main.cpp:55
+#: src/main.cpp:59
msgid " -u --skip-update : Skip the update downloads"
msgstr ""
-#: src/main.cpp:56
+#: src/main.cpp:60
msgid " -d --data : Directory to load game data from"
msgstr ""
-#: src/main.cpp:57
-msgid " -L --localdata-dir : Directory to use as local data directory"
+#: src/main.cpp:61
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr ""
-#: src/main.cpp:58
+#: src/main.cpp:62
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr ""
+
+#: src/main.cpp:63
msgid " --screenshot-dir : Directory to store screenshots"
msgstr ""
-#: src/main.cpp:60
+#: src/main.cpp:65
msgid " --no-opengl : Disable OpenGL for this session"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
msgid "Press OK to respawn."
msgstr ""
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "你付出:"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
msgid "Not logged in."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
msgid "Character's name already exists."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "角色狀態確定"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "角色狀態確定"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2621,93 +2515,93 @@ msgstr ""
msgid "Unknown error."
msgstr "ä¸æ˜ŽæŒ‡ä»¤"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr ""
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
msgid "Player deleted."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "è«‹é¸æ“‡äº¤æ˜“的物å“數é‡"
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "ä¸æ˜ŽæŒ‡ä»¤"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
msgid "Players in this channel:"
msgstr ""
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "/join <é »é“>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
msgid "Listing channels."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, c-format
msgid "%s entered the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "ä¸æ˜ŽæŒ‡ä»¤"
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr ""
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr ""
@@ -2784,11 +2678,11 @@ msgstr ""
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr ""
@@ -2798,189 +2692,136 @@ msgstr ""
msgid "%s rejected your invite."
msgstr ""
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "力é‡"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "æ•æ·"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "閃躲"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "體力"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "智力"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr ""
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "æ„志力:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr ""
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr ""
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr ""
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr ""
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
msgid "Cannot use this ID."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "ä¸æ˜ŽæŒ‡ä»¤"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr ""
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr ""
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "玩家"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr ""
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -2994,74 +2835,119 @@ msgstr "åå­—"
msgid "Request to quit denied!"
msgstr ""
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr ""
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr ""
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "èŠå¤©æ–°å¢žå¤±æ•—ï¼"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
msgid "No servers available."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
msgid "Someone else is trying to use this account."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
msgid "This account is already logged in."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
msgid "Speed hack detected."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
msgid "Duplicated login."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
msgid "Unknown connection error."
msgstr ""
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "和伺æœå™¨å¤±åŽ»é€£ç·š"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "力é‡"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "æ•æ·"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "體力"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "智力"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "閃躲"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "幸é‹"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "防禦:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "摩攻:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "魔防:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Ac準確度:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% Eè¿´é¿çŽ‡ï¼š"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, c-format
msgid "% Critical"
msgstr ""
@@ -3109,27 +2995,27 @@ msgstr "這個指令顯示目å‰åœ°åœ–å。"
msgid "Guild name is missing."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
msgid "User is now part of your guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
msgid "Unknown guild invite response."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3205,15 +3091,15 @@ msgstr ""
msgid "This command displays the party's current experience sharing policy."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr ""
@@ -3221,15 +3107,15 @@ msgstr ""
msgid "Item sharing unknown."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr ""
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr ""
@@ -3237,15 +3123,15 @@ msgstr ""
msgid "Experience sharing unknown."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr ""
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr ""
@@ -3304,7 +3190,7 @@ msgstr ""
msgid "Connection to server terminated. "
msgstr "正在連接到地圖伺æœå™¨..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr ""
@@ -3312,242 +3198,237 @@ msgstr ""
msgid "Party successfully created."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr ""
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > 邀請玩家加入隊ä¼"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, c-format
msgid "You picked up %s."
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "交易失敗ï¼"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "顯示表情失敗ï¼"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "å下休æ¯å¤±æ•—ï¼"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "èŠå¤©æ–°å¢žå¤±æ•—ï¼"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "ä¸èƒ½åŠ å…¥éšŠä¼ï¼"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "無法大å«ï¼"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "ä½ é‚„æ²’é”到足夠等級ï¼"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "HPä¸å¤ ï¼"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "SPä¸å¤ ï¼"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "沒有備忘錄"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr ""
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "此武器無法使用此技能ï¼"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "你需è¦å†ä¸€é¡†ç´…寶石!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "你需è¦å†ä¸€æ£µè—寶石!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "你已負é‡å¤ªå¤šï¼Œä¸èƒ½å†å¤š!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "阿?那是甚麼?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "傳é€å¤±æ•—..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "無法å·å–任何物å“..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "藥水無效..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr ""
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3563,59 +3444,66 @@ msgstr ""
msgid "Failed adding item for unknown reason."
msgstr ""
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "已完æˆ"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr ""
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr ""
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "HP %+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "MP %+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr ""
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr ""
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "金錢:%d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "è·æ¥­ï¼š%d"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "等級:%d"
+
#~ msgid "Willpower:"
#~ msgstr "æ„志力:"
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "æ„志力:"
+
#~ msgid "Description: %s"
#~ msgstr "說明:%s"
@@ -3676,6 +3564,9 @@ msgstr ""
#~ msgid "Unnamed"
#~ msgstr "未知物å“"
+#~ msgid "Save player list"
+#~ msgstr "ä¿å­˜çŽ©å®¶åˆ—表"
+
#~ msgid "Scroll radius"
#~ msgstr "æ²å‹•åŠå¾‘"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 04447553..3de50504 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mana\n"
"Report-Msgid-Bugs-To: dev@manasource.org\n"
-"POT-Creation-Date: 2010-12-06 19:23+0100\n"
+"POT-Creation-Date: 2010-12-13 20:04+0100\n"
"PO-Revision-Date: 2010-01-23 17:23+0000\n"
"Last-Translator: Peierh <Unknown>\n"
"Language-Team: Traditional Chinese <themanaworld-devel@lists.sourceforge."
@@ -24,375 +24,352 @@ msgstr ""
"X-Poedit-Language: Chinese\n"
"X-Poedit-SourceCharset: utf-8\n"
-#: src/client.cpp:563 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
+#: src/client.cpp:598 src/gui/setup.cpp:43 src/gui/windowmenu.cpp:66
msgid "Setup"
msgstr "設定"
-#: src/client.cpp:643
+#: src/client.cpp:679
#, fuzzy
msgid "Connecting to server"
msgstr "正在連接到地圖伺æœå™¨..."
-#: src/client.cpp:670
+#: src/client.cpp:706
#, fuzzy
msgid "Logging in"
msgstr "登入"
-#: src/client.cpp:703
+#: src/client.cpp:739
msgid "Entering game world"
msgstr ""
-#: src/client.cpp:762
+#: src/client.cpp:804
#, fuzzy
msgid "Requesting characters"
msgstr "é¸æ“‡è§’色"
-#: src/client.cpp:791
+#: src/client.cpp:833
#, fuzzy
msgid "Connecting to the game server"
msgstr "正在連接到地圖伺æœå™¨..."
-#: src/client.cpp:801
+#: src/client.cpp:843
#, fuzzy
msgid "Changing game servers"
msgstr "伺æœå™¨"
-#: src/client.cpp:830 src/client.cpp:837 src/client.cpp:972
+#: src/client.cpp:872 src/client.cpp:879 src/client.cpp:1014
#: src/gui/changeemaildialog.cpp:156 src/gui/changepassworddialog.cpp:149
#: src/gui/charcreatedialog.cpp:177 src/gui/register.cpp:218
-#: src/gui/serverdialog.cpp:336 src/gui/unregisterdialog.cpp:133
-#: src/net/manaserv/charhandler.cpp:167 src/net/manaserv/charhandler.cpp:210
-#: src/net/tmwa/charserverhandler.cpp:138
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/gui/serverdialog.cpp:323 src/gui/unregisterdialog.cpp:133
+#: src/net/manaserv/charhandler.cpp:174 src/net/manaserv/charhandler.cpp:217
+#: src/net/tmwa/charserverhandler.cpp:134
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Error"
msgstr "錯誤"
-#: src/client.cpp:846
+#: src/client.cpp:888
msgid "Requesting registration details"
msgstr ""
-#: src/client.cpp:873
+#: src/client.cpp:915
#, fuzzy
msgid "Password Change"
msgstr "密碼:"
-#: src/client.cpp:874
+#: src/client.cpp:916
msgid "Password changed successfully!"
msgstr ""
-#: src/client.cpp:893
+#: src/client.cpp:935
#, fuzzy
msgid "Email Change"
msgstr "更改"
-#: src/client.cpp:894
+#: src/client.cpp:936
#, fuzzy
msgid "Email changed successfully!"
msgstr "æˆåŠŸæå‡æœƒå“¡."
-#: src/client.cpp:914
+#: src/client.cpp:956
#, fuzzy
msgid "Unregister Successful"
msgstr "å–消註冊"
-#: src/client.cpp:915
+#: src/client.cpp:957
msgid "Farewell, come back any time..."
msgstr ""
-#: src/client.cpp:1090 src/client.cpp:1113
+#: src/client.cpp:1138 src/client.cpp:1161
#, c-format
msgid "%s doesn't exist and can't be created! Exiting."
msgstr ""
-#: src/client.cpp:1232
+#: src/client.cpp:1281
#, fuzzy, c-format
msgid "Invalid update host: %s"
msgstr "無效的更新主機: "
-#: src/client.cpp:1266 src/client.cpp:1272
+#: src/client.cpp:1315 src/client.cpp:1321
msgid "Error creating updates directory!"
msgstr "建立更新目錄失敗ï¼"
-#: src/commandhandler.cpp:136 src/commandhandler.cpp:333
+#: src/commandhandler.cpp:131 src/commandhandler.cpp:317
msgid "Unknown command."
msgstr "ä¸æ˜ŽæŒ‡ä»¤"
-#: src/commandhandler.cpp:165
+#: src/commandhandler.cpp:160
msgid "-- Help --"
msgstr "-- 說明 --"
-#: src/commandhandler.cpp:166
+#: src/commandhandler.cpp:161
msgid "/help > Display this help"
msgstr "/help >顯示指令說明"
-#: src/commandhandler.cpp:168
+#: src/commandhandler.cpp:163
msgid "/where > Display map name"
msgstr "/where > 顯示地圖å稱"
-#: src/commandhandler.cpp:169
+#: src/commandhandler.cpp:164
msgid "/who > Display number of online users"
msgstr "/who > 顯示線上使用者的數é‡"
-#: src/commandhandler.cpp:170
+#: src/commandhandler.cpp:165
msgid "/me > Tell something about yourself"
msgstr "/me > 顯示關於自己的資訊"
-#: src/commandhandler.cpp:172
+#: src/commandhandler.cpp:167
msgid "/clear > Clears this window"
msgstr "/clear > 清除這個視窗"
-#: src/commandhandler.cpp:174
+#: src/commandhandler.cpp:169
msgid "/msg > Send a private message to a user"
msgstr "/msg > 傳é€ç§äººè¨Šæ¯çµ¦æŸä½¿ç”¨è€…"
-#: src/commandhandler.cpp:175
+#: src/commandhandler.cpp:170
msgid "/whisper > Alias of msg"
msgstr "/whisper > æ•ˆæžœåŒ msg"
-#: src/commandhandler.cpp:176
+#: src/commandhandler.cpp:171
msgid "/w > Alias of msg"
msgstr "/w > æ•ˆæžœåŒ msg"
-#: src/commandhandler.cpp:177
+#: src/commandhandler.cpp:172
msgid "/query > Makes a tab for private messages with another user"
msgstr "/query > 建立與å¦ä¸€å€‹ä½¿ç”¨è€…çš„ç§äººè¨Šæ¯åˆ†é "
-#: src/commandhandler.cpp:179
+#: src/commandhandler.cpp:174
msgid "/q > Alias of query"
msgstr "/q > æ•ˆæžœåŒ query"
-#: src/commandhandler.cpp:181
-msgid "/away > Tell the other whispering players you're away from keyboard."
-msgstr ""
-
-#: src/commandhandler.cpp:184
+#: src/commandhandler.cpp:176
msgid "/ignore > ignore a player"
msgstr ""
-#: src/commandhandler.cpp:185
+#: src/commandhandler.cpp:177
msgid "/unignore > stop ignoring a player"
msgstr ""
-#: src/commandhandler.cpp:187
+#: src/commandhandler.cpp:179
msgid "/list > Display all public channels"
msgstr "/list > 顯示所有公開頻é“"
-#: src/commandhandler.cpp:188
+#: src/commandhandler.cpp:180
msgid "/join > Join or create a channel"
msgstr "/join > 加入或建立頻é“"
-#: src/commandhandler.cpp:190
+#: src/commandhandler.cpp:182
#, fuzzy
msgid "/createparty > Create a new party"
msgstr "/create > 建立新的隊ä¼"
-#: src/commandhandler.cpp:191
+#: src/commandhandler.cpp:183
msgid "/party > Invite a user to party"
msgstr "/party > 邀請使用者組隊"
-#: src/commandhandler.cpp:193
+#: src/commandhandler.cpp:185
msgid "/record > Start recording the chat to an external file"
msgstr "/record > 開始紀錄å°è©±å…§å®¹åˆ°å¤–部檔案"
-#: src/commandhandler.cpp:195
+#: src/commandhandler.cpp:187
msgid "/toggle > Determine whether <return> toggles the chat log"
msgstr "/toggle > 是å¦åˆ‡æ›å›žèŠå¤©è¦–窗"
-#: src/commandhandler.cpp:197
+#: src/commandhandler.cpp:189
msgid "/present > Get list of players present (sent to chat log, if logging)"
msgstr "/present > å–得上線玩家的清單(如果開啟記錄,傳é€åˆ°èŠå¤©ç´€éŒ„)"
-#: src/commandhandler.cpp:200
+#: src/commandhandler.cpp:192
msgid "/announce > Global announcement (GM only)"
msgstr "/announce > 全域廣播 (GM 專用)"
-#: src/commandhandler.cpp:204
+#: src/commandhandler.cpp:196
msgid "For more information, type /help <command>."
msgstr "查看更多資訊, 輸入 /help <指令>."
-#: src/commandhandler.cpp:208
+#: src/commandhandler.cpp:200
msgid "Command: /help"
msgstr "指令: /help"
-#: src/commandhandler.cpp:209
+#: src/commandhandler.cpp:201
msgid "This command displays a list of all commands available."
msgstr "該指令å¯é¡¯ç¤ºæ‰€æœ‰å¯ç”¨æŒ‡ä»¤ã€‚"
-#: src/commandhandler.cpp:211
+#: src/commandhandler.cpp:203
msgid "Command: /help <command>"
msgstr "指令: /help <指令>"
-#: src/commandhandler.cpp:212
+#: src/commandhandler.cpp:204
msgid "This command displays help on <command>."
msgstr "該指令會顯示<指令>的幫助訊æ¯"
-#: src/commandhandler.cpp:220
+#: src/commandhandler.cpp:212
msgid "Command: /announce <msg>"
msgstr "指令: /announce <ä¿¡æ¯>"
-#: src/commandhandler.cpp:221
+#: src/commandhandler.cpp:213
msgid "*** only available to a GM ***"
msgstr "*** åªæœ‰GMå¯ç”¨ ***"
-#: src/commandhandler.cpp:222
+#: src/commandhandler.cpp:214
msgid "This command sends the message <msg> to all players currently online."
msgstr "該指令會發é€<ä¿¡æ¯>給所有線上用戶。"
-#: src/commandhandler.cpp:227
+#: src/commandhandler.cpp:219
msgid "Command: /clear"
msgstr "指令: /clear"
-#: src/commandhandler.cpp:228
+#: src/commandhandler.cpp:220
msgid "This command clears the chat log of previous chat."
msgstr "該指令å¯ä»¥æ¸…除èŠå¤©ç´€éŒ„。"
-#: src/commandhandler.cpp:232
+#: src/commandhandler.cpp:224
#, fuzzy
msgid "Command: /ignore <player>"
msgstr "/item <政策>"
-#: src/commandhandler.cpp:233
+#: src/commandhandler.cpp:225
#, fuzzy
msgid "This command ignores the given player regardless of current relations."
msgstr "這調指令å¯é¡¯ç¤ºç›®å‰ç·šä¸Šäººæ•¸ã€‚"
-#: src/commandhandler.cpp:238
+#: src/commandhandler.cpp:230
msgid "Command: /join <channel>"
msgstr "指令: /join <é »é“å稱>"
-#: src/commandhandler.cpp:239
+#: src/commandhandler.cpp:231
msgid "This command makes you enter <channel>."
msgstr "這個指令å¯ä»¥è®“你輸入 <é »é“å稱>."
-#: src/commandhandler.cpp:240
+#: src/commandhandler.cpp:232
msgid "If <channel> doesn't exist, it's created."
msgstr "å‡å¦‚ <é »é“å稱> ä¸å­˜åœ¨,那就建立."
-#: src/commandhandler.cpp:244
+#: src/commandhandler.cpp:236
msgid "Command: /list"
msgstr "指令: /list"
-#: src/commandhandler.cpp:245
+#: src/commandhandler.cpp:237
msgid "This command shows a list of all channels."
msgstr "這個指令會顯示所有頻é“的清單。"
-#: src/commandhandler.cpp:249
+#: src/commandhandler.cpp:241
msgid "Command: /me <message>"
msgstr "指令: /me <message>"
-#: src/commandhandler.cpp:250
+#: src/commandhandler.cpp:242
msgid "This command tell others you are (doing) <msg>."
msgstr "é€™å€‹æŒ‡ä»¤æœƒå‘Šè¨´å…¶ä»–äººæ‚¨æ­£åœ¨åš <msg> 的事。"
-#: src/commandhandler.cpp:254
+#: src/commandhandler.cpp:246
msgid "Command: /msg <nick> <message>"
msgstr "指令: /msg <nick> <message>"
-#: src/commandhandler.cpp:255
+#: src/commandhandler.cpp:247
msgid "Command: /whisper <nick> <message>"
msgstr "指令: /whisper <nick> <message>"
-#: src/commandhandler.cpp:256
+#: src/commandhandler.cpp:248
msgid "Command: /w <nick> <message>"
msgstr "指令: /w <nick> <message>"
-#: src/commandhandler.cpp:257
+#: src/commandhandler.cpp:249
msgid "This command sends the text <message> to <nick>."
msgstr "é€™å€‹æŒ‡ä»¤æœƒå‚³é€ <message> 的文字給 <nick>。"
-#: src/commandhandler.cpp:258 src/commandhandler.cpp:285
+#: src/commandhandler.cpp:250 src/commandhandler.cpp:269
#: src/gui/widgets/channeltab.cpp:82 src/gui/widgets/channeltab.cpp:91
#: src/net/tmwa/gui/guildtab.cpp:75 src/net/tmwa/gui/partytab.cpp:75
msgid "If the <nick> has spaces in it, enclose it in double quotes (\")."
msgstr "如果<暱稱>之間有空格,用雙引號(\")括起來。"
-#: src/commandhandler.cpp:263
+#: src/commandhandler.cpp:255
msgid "Command: /query <nick>"
msgstr "指令: /query <nick>"
-#: src/commandhandler.cpp:264
+#: src/commandhandler.cpp:256
msgid "Command: /q <nick>"
msgstr "指令: /q <nick>"
-#: src/commandhandler.cpp:265
+#: src/commandhandler.cpp:257
msgid "This command tries to make a tab for whispers betweenyou and <nick>."
msgstr "這個指令會嘗試建立您和 <nick> 之間的悄悄話分é ã€‚"
-#: src/commandhandler.cpp:270
-#, fuzzy
-msgid "Command: /away <afk reason>"
-msgstr "指令: /w <暱稱> <ä¿¡æ¯>"
-
-#: src/commandhandler.cpp:271
-msgid "This command tells you're away from keyboard with the given reason."
-msgstr ""
-
-#: src/commandhandler.cpp:273
-#, fuzzy
-msgid "Command: /away"
-msgstr "指令: /who"
-
-#: src/commandhandler.cpp:274
-#, fuzzy
-msgid "This command clears the away status and message."
-msgstr "這個指令會將主題設定為 <message>。"
-
-#: src/commandhandler.cpp:278
+#: src/commandhandler.cpp:262
#, fuzzy
msgid "Command: /createparty <name>"
msgstr "指令: /create <隊ä¼å稱>"
-#: src/commandhandler.cpp:279
+#: src/commandhandler.cpp:263
#, fuzzy
msgid "This command creates a new party called <name>."
msgstr "這些指令會建立å«åš <隊ä¼å稱> 的新隊ä¼ã€‚"
-#: src/commandhandler.cpp:283
+#: src/commandhandler.cpp:267
msgid "Command: /party <nick>"
msgstr "指令: /party <nick>"
-#: src/commandhandler.cpp:284 src/net/tmwa/gui/partytab.cpp:74
+#: src/commandhandler.cpp:268 src/net/tmwa/gui/partytab.cpp:74
msgid "This command invites <nick> to party with you."
msgstr "這個指令會邀請 <nick> 跟您組隊。"
-#: src/commandhandler.cpp:290
+#: src/commandhandler.cpp:274
msgid "Command: /present"
msgstr "指令: /present"
-#: src/commandhandler.cpp:291
+#: src/commandhandler.cpp:275
msgid ""
"This command gets a list of players within hearing and sends it to either "
"the record log if recording, or the chat log otherwise."
msgstr ""
"該指令顯示玩家有è½åˆ°ä¸¦å‚³é€åˆ°ä»»ä½•æ—¥èªŒè¨˜éŒ„,如果記錄,èŠå¤©è¨˜éŒ„或其他方å¼ã€‚"
-#: src/commandhandler.cpp:297
+#: src/commandhandler.cpp:281
msgid "Command: /record <filename>"
msgstr "指令: /record <filename>"
-#: src/commandhandler.cpp:298
+#: src/commandhandler.cpp:282
msgid "This command starts recording the chat log to the file <filename>."
msgstr "這個指令會開始將èŠå¤©ç´€éŒ„錄製為檔案 <filename>。"
-#: src/commandhandler.cpp:300
+#: src/commandhandler.cpp:284
msgid "Command: /record"
msgstr "指令: /record"
-#: src/commandhandler.cpp:301
+#: src/commandhandler.cpp:285
msgid "This command finishes a recording session."
msgstr "這個指令會çµæŸéŒ„製的作業階段。"
-#: src/commandhandler.cpp:305
+#: src/commandhandler.cpp:289
msgid "Command: /toggle <state>"
msgstr "指令: /toggle <state>"
-#: src/commandhandler.cpp:306
+#: src/commandhandler.cpp:290
msgid ""
"This command sets whether the return key should toggle the chat log, or "
"whether the chat log turns off automatically."
msgstr "這指令用來設定\"enter\"éµæ˜¯å¦åˆ‡æ›èŠå¤©è¨˜éŒ„,或者自動關閉記錄"
-#: src/commandhandler.cpp:308
+#: src/commandhandler.cpp:292
msgid ""
"<state> can be one of \"1\", \"yes\", \"true\" to turn the toggle on, or "
"\"0\", \"no\", \"false\" to turn the toggle off."
@@ -400,115 +377,115 @@ msgstr ""
"å¯ä»¥æ˜¯ \"1\"ã€\"yes\"ã€\"true\" 其中之一來代表切æ›ç‚ºé–‹ï¼Œæˆ–是 \"0\"ã€\"no"
"\"ã€\"false\" 來代表切æ›ç‚ºé—œé–‰."
-#: src/commandhandler.cpp:311
+#: src/commandhandler.cpp:295
msgid "Command: /toggle"
msgstr "指令: /toggle"
-#: src/commandhandler.cpp:312
+#: src/commandhandler.cpp:296
msgid "This command displays the return toggle status."
msgstr "這個指令顯示輸入切æ›ç‹€æ…‹"
-#: src/commandhandler.cpp:316 src/gui/widgets/whispertab.cpp:94
+#: src/commandhandler.cpp:300 src/gui/widgets/whispertab.cpp:95
#, fuzzy
msgid "Command: /unignore <player>"
msgstr "/item <政策>"
-#: src/commandhandler.cpp:317
+#: src/commandhandler.cpp:301
msgid "This command stops ignoring the given player if they are being ignored"
msgstr ""
-#: src/commandhandler.cpp:322
+#: src/commandhandler.cpp:306
msgid "Command: /where"
msgstr "指令: /where"
-#: src/commandhandler.cpp:323
+#: src/commandhandler.cpp:307
msgid "This command displays the name of the current map."
msgstr "這個指令顯示目å‰åœ°åœ–å。"
-#: src/commandhandler.cpp:327
+#: src/commandhandler.cpp:311
msgid "Command: /who"
msgstr "指令: /who"
-#: src/commandhandler.cpp:328
+#: src/commandhandler.cpp:312
msgid "This command displays the number of players currently online."
msgstr "這調指令å¯é¡¯ç¤ºç›®å‰ç·šä¸Šäººæ•¸ã€‚"
-#: src/commandhandler.cpp:334
+#: src/commandhandler.cpp:318
msgid "Type /help for a list of commands."
msgstr "輸入 /help ç²å–指令列表。"
-#: src/commandhandler.cpp:400
+#: src/commandhandler.cpp:384
msgid "Cannot send empty whispers!"
msgstr "傳é€å¯†èªžå¤±æ•—"
-#: src/commandhandler.cpp:408
+#: src/commandhandler.cpp:392
#, c-format
msgid ""
"Cannot create a whisper tab for nick \"%s\"! It either already exists, or is "
"you."
msgstr "ä¸èƒ½ä»¥å稱 \"%s\" 創建一個密語標籤! 該å稱已存在或å°æ–¹æ˜¯ä½ ."
-#: src/commandhandler.cpp:422
+#: src/commandhandler.cpp:406
#, c-format
msgid "Requesting to join channel %s."
msgstr "è¦æ±‚åƒåŠ é »é“ %s"
-#: src/commandhandler.cpp:435 src/net/tmwa/gui/partytab.cpp:109
+#: src/commandhandler.cpp:419 src/net/tmwa/gui/partytab.cpp:109
msgid "Party name is missing."
msgstr "æ¼æŽ‰éšŠä¼å稱。"
-#: src/commandhandler.cpp:448 src/commandhandler.cpp:525
-#: src/commandhandler.cpp:547
+#: src/commandhandler.cpp:432 src/commandhandler.cpp:509
+#: src/commandhandler.cpp:531
msgid "Please specify a name."
msgstr ""
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Return toggles chat."
msgstr "\"ENTER\"切æ›èŠå¤©"
-#: src/commandhandler.cpp:466
+#: src/commandhandler.cpp:450
msgid "Message closes chat."
msgstr "關閉密語"
-#: src/commandhandler.cpp:475
+#: src/commandhandler.cpp:459
msgid "Return now toggles chat."
msgstr "\"ENTER\"切æ›èŠå¤©"
-#: src/commandhandler.cpp:479
+#: src/commandhandler.cpp:463
msgid "Message now closes chat."
msgstr "切æ›èŠå¤©"
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:505
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:489
msgid "Show IP: On"
msgstr ""
-#: src/commandhandler.cpp:492 src/commandhandler.cpp:501
+#: src/commandhandler.cpp:476 src/commandhandler.cpp:485
msgid "Show IP: Off"
msgstr ""
-#: src/commandhandler.cpp:531
+#: src/commandhandler.cpp:515
msgid "Player already ignored!"
msgstr ""
-#: src/commandhandler.cpp:538
+#: src/commandhandler.cpp:522
#, fuzzy
msgid "Player successfully ignored!"
msgstr "隊ä¼å·²æˆåŠŸçš„建立。"
-#: src/commandhandler.cpp:540
+#: src/commandhandler.cpp:524
#, fuzzy
msgid "Player could not be ignored!"
msgstr "該玩家拒絕你的密語"
-#: src/commandhandler.cpp:555
+#: src/commandhandler.cpp:539
msgid "Player wasn't ignored!"
msgstr ""
-#: src/commandhandler.cpp:560
+#: src/commandhandler.cpp:544
msgid "Player no longer ignored!"
msgstr ""
-#: src/commandhandler.cpp:562
+#: src/commandhandler.cpp:546
#, fuzzy
msgid "Player could not be unignored!"
msgstr "該玩家拒絕你的密語"
@@ -518,42 +495,42 @@ msgstr "該玩家拒絕你的密語"
msgid "Options to /%s are \"yes\", \"no\", \"true\", \"false\", \"1\", \"0\"."
msgstr "/%s çš„é¸é …å¯ä»¥æ˜¯ \"yes\"ã€\"no\"ã€\"true\"ã€\"false\"ã€\"1\"ã€\"0\"。"
-#: src/game.cpp:169
+#: src/game.cpp:172
msgid "General"
msgstr "一般"
-#: src/game.cpp:333
+#: src/game.cpp:342
#, fuzzy
msgid "Screenshot saved as "
msgstr "抓圖存到 ~/"
-#: src/game.cpp:338
+#: src/game.cpp:347
msgid "Saving screenshot failed!"
msgstr "儲存抓圖失敗!"
-#: src/game.cpp:368
+#: src/game.cpp:378
#, fuzzy
msgid "The connection to the server was lost."
msgstr "已中斷連線到伺æœå™¨,程å¼å°‡è¦é›¢é–‹"
-#: src/game.cpp:372
+#: src/game.cpp:382
msgid "Network Error"
msgstr "網路錯誤"
-#: src/game.cpp:713
+#: src/game.cpp:721
msgid "Ignoring incoming trade requests"
msgstr "忽略收到的交易è¦æ±‚"
-#: src/game.cpp:720
+#: src/game.cpp:726
msgid "Accepting incoming trade requests"
msgstr "接å—收到的交易è¦æ±‚"
-#: src/game.cpp:950
+#: src/game.cpp:954
#, fuzzy
msgid "Could Not Load Map"
msgstr "無法載入地圖"
-#: src/game.cpp:951
+#: src/game.cpp:955
#, c-format
msgid "Error while loading %s"
msgstr "載入 %s 時發生錯誤"
@@ -567,34 +544,34 @@ msgstr "隊ä¼(%s)"
msgid "Buy"
msgstr "購買"
-#: src/gui/buy.cpp:69 src/gui/buy.cpp:256 src/gui/sell.cpp:71
-#: src/gui/sell.cpp:278
+#: src/gui/buy.cpp:69 src/gui/buy.cpp:261 src/gui/sell.cpp:71
+#: src/gui/sell.cpp:288
#, c-format
msgid "Price: %s / Total: %s"
msgstr "價格: %s / 總共: %s"
#. TRANSLATORS: This is a narrow symbol used to denote 'increasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:102 src/gui/npcdialog.cpp:104
-#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:430
+#: src/gui/buy.cpp:74 src/gui/itemamount.cpp:112 src/gui/npcdialog.cpp:124
+#: src/gui/sell.cpp:74 src/gui/statuswindow.cpp:463
msgid "+"
msgstr "增加"
#. TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
#. You may change this symbol if your language uses another.
-#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:101 src/gui/npcdialog.cpp:105
-#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:442
+#: src/gui/buy.cpp:77 src/gui/itemamount.cpp:111 src/gui/npcdialog.cpp:125
+#: src/gui/sell.cpp:75 src/gui/statuswindow.cpp:475
msgid "-"
msgstr "減少"
#: src/gui/buy.cpp:79 src/gui/quitdialog.cpp:40 src/gui/quitdialog.cpp:42
-#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:232
-#: src/keyboardconfig.cpp:103
+#: src/gui/quitdialog.cpp:43 src/gui/sell.cpp:77 src/gui/serverdialog.cpp:228
+#: src/keyboardconfig.cpp:102
msgid "Quit"
msgstr "離開"
-#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:354
-#: src/gui/statuswindow.cpp:429 src/gui/statuswindow.cpp:463
+#: src/gui/buy.cpp:80 src/gui/sell.cpp:78 src/gui/statuswindow.cpp:384
+#: src/gui/statuswindow.cpp:462 src/gui/statuswindow.cpp:496
msgid "Max"
msgstr "最大"
@@ -608,11 +585,11 @@ msgstr "出售"
#: src/gui/buysell.cpp:47 src/gui/changeemaildialog.cpp:55
#: src/gui/changepassworddialog.cpp:58 src/gui/charcreatedialog.cpp:79
-#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:104
+#: src/gui/connectiondialog.cpp:44 src/gui/itemamount.cpp:114
#: src/gui/npcpostdialog.cpp:57 src/gui/popupmenu.cpp:175
-#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:380
+#: src/gui/popupmenu.cpp:194 src/gui/popupmenu.cpp:389
#: src/gui/quitdialog.cpp:47 src/gui/register.cpp:74 src/gui/setup.cpp:51
-#: src/gui/socialwindow.cpp:279 src/gui/textdialog.cpp:40
+#: src/gui/socialwindow.cpp:275 src/gui/textdialog.cpp:40
#: src/gui/unregisterdialog.cpp:56 src/gui/updatewindow.cpp:144
msgid "Cancel"
msgstr "å–消"
@@ -688,14 +665,14 @@ msgstr "新增角色"
msgid "Name:"
msgstr "å字:"
-#. TRANSLATORS: This is a narrow symbol used to denote 'next'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'next'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:70 src/gui/charcreatedialog.cpp:75
#: src/gui/outfitwindow.cpp:67
msgid ">"
msgstr ""
-#. TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+#. TRANSLATORS: This is an arrow symbol used to denote 'previous'.
#. You may change this symbol if your language uses another.
#: src/gui/charcreatedialog.cpp:73 src/gui/charcreatedialog.cpp:76
#: src/gui/outfitwindow.cpp:66
@@ -712,8 +689,8 @@ msgstr "髮色:"
msgid "Hair style:"
msgstr "髮型:"
-#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:390
-#: src/gui/socialwindow.cpp:333
+#: src/gui/charcreatedialog.cpp:78 src/gui/charselectdialog.cpp:392
+#: src/gui/socialwindow.cpp:329
msgid "Create"
msgstr "創造"
@@ -769,8 +746,8 @@ msgstr "å–消註冊"
msgid "Change Email"
msgstr "變更郵件地å€"
-#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:235
-#: src/gui/setup_players.cpp:228
+#: src/gui/charselectdialog.cpp:336 src/gui/serverdialog.cpp:231
+#: src/gui/setup_players.cpp:229
msgid "Delete"
msgstr "刪除"
@@ -779,24 +756,24 @@ msgstr "刪除"
msgid "Choose"
msgstr "關閉"
-#: src/gui/charselectdialog.cpp:392 src/gui/charselectdialog.cpp:393
+#: src/gui/charselectdialog.cpp:394 src/gui/charselectdialog.cpp:395
msgid "(empty)"
msgstr ""
-#: src/gui/chat.cpp:87
+#: src/gui/chat.cpp:88
msgid "Chat"
msgstr "èŠå¤©"
-#: src/gui/chat.cpp:307
+#: src/gui/chat.cpp:311
#, fuzzy, c-format
msgid "Present: %s; %d players are present."
msgstr "%d ä½çŽ©å®¶çš„清單"
-#: src/gui/chat.cpp:325
+#: src/gui/chat.cpp:329
msgid "Attendance written to record log."
msgstr "將上線訊æ¯å¯«å…¥éŒ„製紀錄。"
-#: src/gui/chat.cpp:452
+#: src/gui/chat.cpp:493
#, c-format
msgid "Whispering to %s: %s"
msgstr "å°%sç«Šç«Šç§èªžï¼š%s"
@@ -862,8 +839,8 @@ msgstr "環境效果"
msgid "Equipment"
msgstr "è£å‚™"
-#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:87
-#: src/gui/inventorywindow.cpp:313 src/gui/popupmenu.cpp:350
+#: src/gui/equipmentwindow.cpp:87 src/gui/inventorywindow.cpp:89
+#: src/gui/inventorywindow.cpp:337 src/gui/popupmenu.cpp:359
msgid "Unequip"
msgstr "å¸ä¸‹è£å‚™"
@@ -871,7 +848,7 @@ msgstr "å¸ä¸‹è£å‚™"
msgid "Help"
msgstr "說明"
-#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:47
+#: src/gui/help.cpp:51 src/gui/npcdialog.cpp:50
msgid "Close"
msgstr "關閉"
@@ -883,81 +860,84 @@ msgstr "物å“æ””"
msgid "Storage"
msgstr "貯è—庫"
-#: src/gui/inventorywindow.cpp:80
+#: src/gui/inventorywindow.cpp:82
msgid "Slots:"
msgstr "欄ä½:"
-#: src/gui/inventorywindow.cpp:85 src/gui/inventorywindow.cpp:315
-#: src/gui/popupmenu.cpp:352
+#: src/gui/inventorywindow.cpp:87 src/gui/inventorywindow.cpp:100
+#: src/gui/inventorywindow.cpp:339 src/gui/popupmenu.cpp:361
msgid "Equip"
msgstr "è£å‚™"
-#: src/gui/inventorywindow.cpp:86 src/gui/inventorywindow.cpp:319
-#: src/gui/popupmenu.cpp:355
+#: src/gui/inventorywindow.cpp:88
msgid "Use"
msgstr "使用"
-#: src/gui/inventorywindow.cpp:99 src/gui/inventorywindow.cpp:323
-#: src/gui/popupmenu.cpp:358
+#: src/gui/inventorywindow.cpp:101 src/gui/popupmenu.cpp:364
+msgid "Activate"
+msgstr ""
+
+#: src/gui/inventorywindow.cpp:102 src/gui/inventorywindow.cpp:348
+#: src/gui/popupmenu.cpp:367
#, fuzzy
msgid "Drop..."
msgstr "丟棄"
-#: src/gui/inventorywindow.cpp:100 src/gui/popupmenu.cpp:364
+#: src/gui/inventorywindow.cpp:103 src/gui/popupmenu.cpp:373
msgid "Split"
msgstr "分開"
-#: src/gui/inventorywindow.cpp:101 src/gui/outfitwindow.cpp:51
+#: src/gui/inventorywindow.cpp:104 src/gui/outfitwindow.cpp:51
msgid "Outfits"
msgstr ""
-#: src/gui/inventorywindow.cpp:103
+#: src/gui/inventorywindow.cpp:106
msgid "Weight:"
msgstr "é‡é‡:"
-#: src/gui/inventorywindow.cpp:120 src/gui/popupmenu.cpp:369
+#: src/gui/inventorywindow.cpp:124 src/gui/popupmenu.cpp:378
msgid "Store"
msgstr "寄放"
-#: src/gui/inventorywindow.cpp:121 src/gui/popupmenu.cpp:376
+#: src/gui/inventorywindow.cpp:125 src/gui/popupmenu.cpp:385
msgid "Retrieve"
msgstr "å–回"
-#: src/gui/inventorywindow.cpp:325 src/gui/popupmenu.cpp:360
+#: src/gui/inventorywindow.cpp:350 src/gui/popupmenu.cpp:369
msgid "Drop"
msgstr "丟棄"
-#: src/gui/itemamount.cpp:103 src/gui/okdialog.cpp:42
-#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:71
-#: src/gui/trade.cpp:73
+#: src/gui/itemamount.cpp:113 src/gui/okdialog.cpp:42
+#: src/gui/quitdialog.cpp:46 src/gui/textdialog.cpp:39 src/gui/trade.cpp:72
+#: src/gui/trade.cpp:74
msgid "OK"
msgstr "確定"
-#: src/gui/itemamount.cpp:105
+#: src/gui/itemamount.cpp:115
msgid "All"
msgstr "全部"
-#: src/gui/itemamount.cpp:131
+#: src/gui/itemamount.cpp:141
msgid "Select amount of items to trade."
msgstr "è«‹é¸æ“‡äº¤æ˜“的物å“數é‡"
-#: src/gui/itemamount.cpp:134
+#: src/gui/itemamount.cpp:144
msgid "Select amount of items to drop."
msgstr "è«‹é¸æ“‡ä¸Ÿæ£„的物å“數é‡"
-#: src/gui/itemamount.cpp:137
+#: src/gui/itemamount.cpp:147
msgid "Select amount of items to store."
msgstr "é¸æ“‡è¦å„²å­˜çš„物å“數é‡ã€‚"
-#: src/gui/itemamount.cpp:140
+#: src/gui/itemamount.cpp:150
msgid "Select amount of items to retrieve."
msgstr "é¸æ“‡è¦å–回的物å“數é‡ã€‚"
-#: src/gui/itemamount.cpp:143
+#: src/gui/itemamount.cpp:153
msgid "Select amount of items to split."
msgstr "è«‹é¸æ“‡ä½ è¦åˆ†é›¢çš„物å“數é‡"
-#: src/gui/itempopup.cpp:126
+#: src/gui/itempopup.cpp:137
#, fuzzy, c-format
msgid "Weight: %s"
msgstr "é‡é‡: "
@@ -989,40 +969,40 @@ msgstr "物å“分享已åœç”¨ã€‚"
msgid "You need to use the website to register an account for this server."
msgstr ""
-#: src/gui/minimap.cpp:46 src/gui/minimap.cpp:87
+#: src/gui/minimap.cpp:45 src/gui/minimap.cpp:86
msgid "Map"
msgstr "地圖"
-#: src/gui/ministatus.cpp:157
+#: src/gui/ministatus.cpp:235
msgid "Need"
msgstr ""
-#: src/gui/npcdialog.cpp:45
+#: src/gui/npcdialog.cpp:48
msgid "Waiting for server"
msgstr "等待伺æœå™¨ä¸­"
-#: src/gui/npcdialog.cpp:46
+#: src/gui/npcdialog.cpp:49
msgid "Next"
msgstr "下一個"
-#: src/gui/npcdialog.cpp:48
+#: src/gui/npcdialog.cpp:51
msgid "Submit"
msgstr "確èª"
-#: src/gui/npcdialog.cpp:53 src/gui/npcpostdialog.cpp:41
+#: src/gui/npcdialog.cpp:73 src/gui/npcpostdialog.cpp:41
msgid "NPC"
msgstr "NPC"
-#: src/gui/npcdialog.cpp:98
+#: src/gui/npcdialog.cpp:118
msgid "Clear log"
msgstr ""
-#: src/gui/npcdialog.cpp:114
+#: src/gui/npcdialog.cpp:134
msgid "Reset"
msgstr "é‡è¨­"
#. TRANSLATORS: Please leave the \n sequences intact.
-#: src/gui/npcdialog.cpp:183
+#: src/gui/npcdialog.cpp:208
#, fuzzy
msgid ""
"\n"
@@ -1037,7 +1017,7 @@ msgstr "存至:"
msgid "Send"
msgstr "傳é€"
-#: src/gui/npcpostdialog.cpp:96
+#: src/gui/npcpostdialog.cpp:99
msgid "Failed to send as sender or letter invalid."
msgstr "無法傳é€çš„發件人或信æ¯ç„¡æ•ˆã€‚"
@@ -1127,7 +1107,7 @@ msgstr "@@name|增加èŠå¤©åå–®@@"
msgid "Pick up %s"
msgstr "撿拾"
-#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:378
+#: src/gui/popupmenu.cpp:190 src/gui/popupmenu.cpp:387
#, fuzzy
msgid "Add to chat"
msgstr "@@chat|加入èŠå¤©@@"
@@ -1200,61 +1180,61 @@ msgstr "密碼ä¸èƒ½å°‘æ–¼%d個字元。"
msgid "Passwords do not match."
msgstr "密碼ä¸ä¸€æ¨£."
-#: src/gui/serverdialog.cpp:196
+#: src/gui/serverdialog.cpp:197
#, fuzzy
msgid "Choose Your Server"
msgstr "é¸æ“‡æ‚¨çš„伺æœå™¨"
-#: src/gui/serverdialog.cpp:208 src/gui/widgets/chattab.cpp:141
+#: src/gui/serverdialog.cpp:206 src/gui/widgets/chattab.cpp:142
msgid "Server:"
msgstr "伺æœå™¨ï¼š"
-#: src/gui/serverdialog.cpp:209
+#: src/gui/serverdialog.cpp:207
msgid "Port:"
msgstr "端å£(port):"
-#: src/gui/serverdialog.cpp:211
+#: src/gui/serverdialog.cpp:208
#, fuzzy
msgid "Server type:"
msgstr "伺æœå™¨ï¼š"
-#: src/gui/serverdialog.cpp:233
+#: src/gui/serverdialog.cpp:229
#, fuzzy
msgid "Connect"
msgstr "連線中..."
-#: src/gui/serverdialog.cpp:234
+#: src/gui/serverdialog.cpp:230
#, fuzzy
msgid "Custom Server"
msgstr "自訂滑鼠標"
-#: src/gui/serverdialog.cpp:337
+#: src/gui/serverdialog.cpp:324
msgid "Please type both the address and the port of a server."
msgstr "請輸入伺æœæ°£å¾—IP地å€å’ŒPort"
-#: src/gui/serverdialog.cpp:442
+#: src/gui/serverdialog.cpp:441
#, c-format
msgid "Downloading server list...%2.2f%%"
msgstr ""
-#: src/gui/serverdialog.cpp:448
+#: src/gui/serverdialog.cpp:447
#, fuzzy
msgid "Waiting for server..."
msgstr "等待伺æœå™¨ä¸­"
-#: src/gui/serverdialog.cpp:452
+#: src/gui/serverdialog.cpp:451
msgid "Preparing download"
msgstr ""
-#: src/gui/serverdialog.cpp:456
+#: src/gui/serverdialog.cpp:455
msgid "Error retreiving server list!"
msgstr ""
-#: src/gui/serverdialog.cpp:556
+#: src/gui/serverdialog.cpp:550
msgid "requires a newer version"
msgstr ""
-#: src/gui/serverdialog.cpp:558
+#: src/gui/serverdialog.cpp:552
#, c-format
msgid "requires v%s"
msgstr ""
@@ -1292,54 +1272,54 @@ msgstr ""
msgid "Sound Engine"
msgstr ""
-#: src/gui/setup_colors.cpp:45
+#: src/gui/setup_colors.cpp:46
msgid "This is what the color looks like"
msgstr "這是é¡è‰²çœ‹èµ·ä¾†çš„樣å­"
-#: src/gui/setup_colors.cpp:50
+#: src/gui/setup_colors.cpp:51
msgid "Colors"
msgstr "é¡è‰²"
-#: src/gui/setup_colors.cpp:71
+#: src/gui/setup_colors.cpp:72
#, fuzzy
msgid "Type:"
msgstr "é¡žåž‹: "
-#: src/gui/setup_colors.cpp:82 src/gui/setup_colors.cpp:330
+#: src/gui/setup_colors.cpp:83 src/gui/setup_colors.cpp:331
msgid "Static"
msgstr "狀態"
-#: src/gui/setup_colors.cpp:84 src/gui/setup_colors.cpp:85
-#: src/gui/setup_colors.cpp:331
+#: src/gui/setup_colors.cpp:85 src/gui/setup_colors.cpp:86
+#: src/gui/setup_colors.cpp:332
msgid "Pulse"
msgstr "æš«åœ"
-#: src/gui/setup_colors.cpp:86 src/gui/setup_colors.cpp:87
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:87 src/gui/setup_colors.cpp:88
+#: src/gui/setup_colors.cpp:333
msgid "Rainbow"
msgstr "彩虹"
-#: src/gui/setup_colors.cpp:88 src/gui/setup_colors.cpp:89
-#: src/gui/setup_colors.cpp:332
+#: src/gui/setup_colors.cpp:89 src/gui/setup_colors.cpp:90
+#: src/gui/setup_colors.cpp:333
msgid "Spectrum"
msgstr "光譜"
-#: src/gui/setup_colors.cpp:93
+#: src/gui/setup_colors.cpp:94
#, fuzzy
msgid "Delay:"
msgstr "延é²: "
-#: src/gui/setup_colors.cpp:108
+#: src/gui/setup_colors.cpp:109
#, fuzzy
msgid "Red:"
msgstr "ç´…: "
-#: src/gui/setup_colors.cpp:123
+#: src/gui/setup_colors.cpp:124
#, fuzzy
msgid "Green:"
msgstr "綠: "
-#: src/gui/setup_colors.cpp:138
+#: src/gui/setup_colors.cpp:139
#, fuzzy
msgid "Blue:"
msgstr "è—: "
@@ -1425,28 +1405,33 @@ msgstr "忽略"
msgid "???"
msgstr "???"
-#: src/gui/setup_players.cpp:224
+#: src/gui/setup_players.cpp:225
msgid "Allow trading"
msgstr "å…許交易"
-#: src/gui/setup_players.cpp:226
+#: src/gui/setup_players.cpp:227
msgid "Allow whispers"
msgstr "å…許密語"
-#: src/gui/setup_players.cpp:230
+#: src/gui/setup_players.cpp:231
msgid "Put all whispers in tabs"
msgstr "將所有的悄悄話放到分é ä¸­"
-#: src/gui/setup_players.cpp:232
+#: src/gui/setup_players.cpp:233
#, fuzzy
msgid "Show gender"
msgstr "顯示å稱"
-#: src/gui/setup_players.cpp:234
+#: src/gui/setup_players.cpp:235
+#, fuzzy
+msgid "Enable Chat log"
+msgstr "ä¸èƒ½å‡ºå”®."
+
+#: src/gui/setup_players.cpp:237
msgid "Players"
msgstr "玩家"
-#: src/gui/setup_players.cpp:259
+#: src/gui/setup_players.cpp:262
msgid "When ignoring:"
msgstr "當忽略時:"
@@ -1502,514 +1487,481 @@ msgstr "中"
msgid "max"
msgstr "最大"
-#: src/gui/setup_video.cpp:219
+#: src/gui/setup_video.cpp:217
msgid "Full screen"
msgstr "全螢幕"
-#: src/gui/setup_video.cpp:220
+#: src/gui/setup_video.cpp:218
msgid "OpenGL"
msgstr "OpenGL"
-#: src/gui/setup_video.cpp:221
+#: src/gui/setup_video.cpp:219
msgid "Custom cursor"
msgstr "自訂滑鼠標"
-#: src/gui/setup_video.cpp:223
+#: src/gui/setup_video.cpp:221
msgid "Visible names"
msgstr "å¯è¦‹çš„å稱"
-#: src/gui/setup_video.cpp:225
+#: src/gui/setup_video.cpp:223
msgid "Particle effects"
msgstr "ç²’å­æ•ˆæžœ"
-#: src/gui/setup_video.cpp:227
+#: src/gui/setup_video.cpp:225
#, fuzzy
msgid "Show own name"
msgstr "顯示å稱"
-#: src/gui/setup_video.cpp:228
+#: src/gui/setup_video.cpp:226
msgid "Log NPC dialogue"
msgstr ""
-#: src/gui/setup_video.cpp:229
+#: src/gui/setup_video.cpp:227
msgid "Show pickup notification"
msgstr "顯示撿拾通知"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:231
+#: src/gui/setup_video.cpp:229
msgid "in chat"
msgstr "èŠå¤©ä¸­"
#. TRANSLATORS: Refers to "Show pickup notification"
-#: src/gui/setup_video.cpp:233
+#: src/gui/setup_video.cpp:231
msgid "as particle"
msgstr "åŒç²’å­è¨­å®š"
-#: src/gui/setup_video.cpp:238
+#: src/gui/setup_video.cpp:236
#, fuzzy
msgid "FPS limit:"
msgstr "FPSé™åˆ¶ï¼š"
-#: src/gui/setup_video.cpp:249
+#: src/gui/setup_video.cpp:247
msgid "Disable transparency (Low CPU mode)"
msgstr ""
-#: src/gui/setup_video.cpp:252
+#: src/gui/setup_video.cpp:250
msgid "Video"
msgstr "顯示"
-#: src/gui/setup_video.cpp:254
+#: src/gui/setup_video.cpp:252
#, fuzzy
msgid "Show damage"
msgstr "顯示å稱"
-#: src/gui/setup_video.cpp:260
+#: src/gui/setup_video.cpp:258
msgid "Overhead text"
msgstr "置頂文字"
-#: src/gui/setup_video.cpp:261
+#: src/gui/setup_video.cpp:259
msgid "Gui opacity"
msgstr "Gui é€æ˜Žåº¦"
-#: src/gui/setup_video.cpp:262
+#: src/gui/setup_video.cpp:260
msgid "Ambient FX"
msgstr "環境效果"
-#: src/gui/setup_video.cpp:263
+#: src/gui/setup_video.cpp:261
#, fuzzy
msgid "Particle detail"
msgstr "ç´‹ç†ç´°ç¯€"
-#: src/gui/setup_video.cpp:264
+#: src/gui/setup_video.cpp:262
msgid "Font size"
msgstr "字型大å°"
-#: src/gui/setup_video.cpp:279 src/gui/setup_video.cpp:535
-#: src/gui/setup_video.cpp:665
+#: src/gui/setup_video.cpp:277 src/gui/setup_video.cpp:532
+#: src/gui/setup_video.cpp:662
#, fuzzy
msgid "None"
msgstr "å¦"
-#: src/gui/setup_video.cpp:428
+#: src/gui/setup_video.cpp:426
#, fuzzy
msgid ""
"Failed to switch to windowed mode and restoration of old mode also failed!"
msgstr "模å¼å’Œæ¢å¾©èˆŠæ¨¡å¼ä¹Ÿæ²’有ï¼"
-#: src/gui/setup_video.cpp:434
+#: src/gui/setup_video.cpp:432
#, fuzzy
msgid ""
"Failed to switch to fullscreen mode and restoration of old mode also failed!"
msgstr "模å¼å’Œæ¢å¾©èˆŠæ¨¡å¼ä¹Ÿæ²’有ï¼"
-#: src/gui/setup_video.cpp:445
+#: src/gui/setup_video.cpp:443
#, fuzzy
msgid "Switching to Full Screen"
msgstr "切æ›å…¨èž¢å¹•"
-#: src/gui/setup_video.cpp:446
+#: src/gui/setup_video.cpp:444
msgid "Restart needed for changes to take effect."
msgstr "è«‹é‡æ–°å•Ÿå‹•"
-#: src/gui/setup_video.cpp:460
+#: src/gui/setup_video.cpp:458
#, fuzzy
msgid "Changing to OpenGL"
msgstr "切æ›ç‚ºOpenGL"
-#: src/gui/setup_video.cpp:461
+#: src/gui/setup_video.cpp:459
msgid ""
"Applying change to OpenGL requires restart. In case OpenGL messes up your "
"game graphics, restart the game with the command line option \"--no-opengl\"."
msgstr ""
-#: src/gui/setup_video.cpp:468
+#: src/gui/setup_video.cpp:466
msgid "Deactivating OpenGL"
msgstr ""
-#: src/gui/setup_video.cpp:469
+#: src/gui/setup_video.cpp:467
msgid "Applying change to OpenGL requires restart."
msgstr "確èªåˆ‡æ›OpenGL需è¦é‡æ–°é–‹å§‹"
-#: src/gui/setup_video.cpp:477
+#: src/gui/setup_video.cpp:475
#, fuzzy
msgid "Transparency disabled"
msgstr "經驗值分享已åœç”¨ã€‚"
-#: src/gui/setup_video.cpp:478 src/gui/setup_video.cpp:486
+#: src/gui/setup_video.cpp:476 src/gui/setup_video.cpp:484
msgid "You must restart to apply changes."
msgstr ""
-#: src/gui/setup_video.cpp:485
+#: src/gui/setup_video.cpp:483
msgid "Transparency enabled"
msgstr ""
-#: src/gui/setup_video.cpp:579 src/gui/setup_video.cpp:584
+#: src/gui/setup_video.cpp:576 src/gui/setup_video.cpp:581
#, fuzzy
msgid "Screen Resolution Changed"
msgstr "螢幕解æžåº¦å·²è®Šæ›´"
-#: src/gui/setup_video.cpp:580 src/gui/setup_video.cpp:585
+#: src/gui/setup_video.cpp:577 src/gui/setup_video.cpp:582
msgid "Restart your client for the change to take effect."
msgstr "è«‹é‡æ–°å•Ÿå‹•æ‚¨çš„客戶端讓變更生效。"
-#: src/gui/setup_video.cpp:582
+#: src/gui/setup_video.cpp:579
msgid "Some windows may be moved to fit the lowered resolution."
msgstr ""
-#: src/gui/setup_video.cpp:615
+#: src/gui/setup_video.cpp:612
#, fuzzy
msgid "Particle Effect Settings Changed."
msgstr "ç²’å­æ•ˆæžœè¨­å®šå€¼å·²è®Šæ›´ã€‚"
-#: src/gui/setup_video.cpp:616
+#: src/gui/setup_video.cpp:613
msgid "Changes will take effect on map change."
msgstr "變更會在地圖改變後生效。"
-#: src/gui/skilldialog.cpp:210 src/gui/windowmenu.cpp:59
+#: src/gui/skilldialog.cpp:212 src/gui/windowmenu.cpp:59
msgid "Skills"
msgstr "技能"
-#: src/gui/skilldialog.cpp:221
+#: src/gui/skilldialog.cpp:223
msgid "Up"
msgstr "å‡ç´š"
-#: src/gui/skilldialog.cpp:271
+#: src/gui/skilldialog.cpp:269
#, fuzzy, c-format
msgid "Skill points available: %d"
msgstr "技能點數:%d"
-#: src/gui/skilldialog.cpp:353
+#: src/gui/skilldialog.cpp:351
#, fuzzy, c-format
msgid "Skill Set %d"
msgstr "技能點數:%d"
-#: src/gui/skilldialog.cpp:362
+#: src/gui/skilldialog.cpp:360
#, fuzzy, c-format
msgid "Skill %d"
msgstr "技能"
-#: src/gui/skilldialog.cpp:444
+#: src/gui/skilldialog.cpp:442
#, fuzzy, c-format
msgid "Lvl: %d (%+d)"
msgstr "等級:%d"
-#: src/gui/skilldialog.cpp:455
+#: src/gui/skilldialog.cpp:453
#, fuzzy, c-format
msgid "Lvl: %d"
msgstr "等級:%d"
-#: src/gui/socialwindow.cpp:128
+#: src/gui/socialwindow.cpp:126
#, c-format
msgid "Invited user %s to guild %s."
msgstr ""
-#: src/gui/socialwindow.cpp:143
+#: src/gui/socialwindow.cpp:139
#, fuzzy, c-format
msgid "Guild %s quit requested."
msgstr "公會已æˆç«‹."
-#: src/gui/socialwindow.cpp:157
+#: src/gui/socialwindow.cpp:153
msgid "Member Invite to Guild"
msgstr ""
-#: src/gui/socialwindow.cpp:158
+#: src/gui/socialwindow.cpp:154
#, c-format
msgid "Who would you like to invite to guild %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:167
+#: src/gui/socialwindow.cpp:163
#, fuzzy
msgid "Leave Guild?"
msgstr "建立公會"
-#: src/gui/socialwindow.cpp:168
+#: src/gui/socialwindow.cpp:164
#, fuzzy, c-format
msgid "Are you sure you want to leave guild %s?"
msgstr "您確定è¦é›¢é–‹?"
-#: src/gui/socialwindow.cpp:222
+#: src/gui/socialwindow.cpp:207 src/net/tmwa/partyhandler.cpp:330
+#, fuzzy, c-format
+msgid "Invited user %s to party."
+msgstr "/party > 邀請使用者組隊"
+
+#: src/gui/socialwindow.cpp:218
#, c-format
msgid "Party %s quit requested."
msgstr ""
-#: src/gui/socialwindow.cpp:236
+#: src/gui/socialwindow.cpp:232
#, fuzzy
msgid "Member Invite to Party"
msgstr "/party > 邀請使用者組隊"
-#: src/gui/socialwindow.cpp:237
+#: src/gui/socialwindow.cpp:233
#, c-format
msgid "Who would you like to invite to party %s?"
msgstr ""
-#: src/gui/socialwindow.cpp:246
+#: src/gui/socialwindow.cpp:242
msgid "Leave Party?"
msgstr ""
-#: src/gui/socialwindow.cpp:247
+#: src/gui/socialwindow.cpp:243
#, fuzzy, c-format
msgid "Are you sure you want to leave party %s?"
msgstr "您確定è¦é›¢é–‹?"
-#: src/gui/socialwindow.cpp:276
+#: src/gui/socialwindow.cpp:272
msgid "Create Guild"
msgstr "建立公會"
-#: src/gui/socialwindow.cpp:277 src/gui/socialwindow.cpp:623
+#: src/gui/socialwindow.cpp:273 src/gui/socialwindow.cpp:620
#, fuzzy
msgid "Create Party"
msgstr "新增角色"
-#: src/gui/socialwindow.cpp:316 src/gui/windowmenu.cpp:64
+#: src/gui/socialwindow.cpp:312 src/gui/windowmenu.cpp:64
msgid "Social"
msgstr ""
-#: src/gui/socialwindow.cpp:334
+#: src/gui/socialwindow.cpp:330
#, fuzzy
msgid "Invite"
msgstr "邀請使用者"
-#: src/gui/socialwindow.cpp:335
+#: src/gui/socialwindow.cpp:331
#, fuzzy
msgid "Leave"
msgstr "大型"
-#: src/gui/socialwindow.cpp:447
+#: src/gui/socialwindow.cpp:443
#, fuzzy, c-format
msgid "Accepted party invite from %s."
msgstr "æŽ¥å— %s çš„æ´¾å°é‚€è«‹."
-#: src/gui/socialwindow.cpp:453
+#: src/gui/socialwindow.cpp:449
#, fuzzy, c-format
msgid "Rejected party invite from %s."
msgstr "拒絕 %s çš„æ´¾å°é‚€è«‹"
-#: src/gui/socialwindow.cpp:466
+#: src/gui/socialwindow.cpp:462
#, fuzzy, c-format
msgid "Accepted guild invite from %s."
msgstr "æŽ¥å— %s çš„æ´¾å°é‚€è«‹."
-#: src/gui/socialwindow.cpp:472
+#: src/gui/socialwindow.cpp:468
#, fuzzy, c-format
msgid "Rejected guild invite from %s."
msgstr "拒絕 %s çš„æ´¾å°é‚€è«‹"
-#: src/gui/socialwindow.cpp:501
+#: src/gui/socialwindow.cpp:497
msgid "Creating guild failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:507
+#: src/gui/socialwindow.cpp:504
#, fuzzy, c-format
msgid "Creating guild called %s."
msgstr "創建公會時發生錯誤."
-#: src/gui/socialwindow.cpp:523
+#: src/gui/socialwindow.cpp:520
msgid "Creating party failed, please choose a shorter name."
msgstr ""
-#: src/gui/socialwindow.cpp:529
+#: src/gui/socialwindow.cpp:527
#, c-format
msgid "Creating party called %s."
msgstr ""
-#: src/gui/socialwindow.cpp:543
+#: src/gui/socialwindow.cpp:541
#, fuzzy
msgid "Guild Name"
msgstr "公會"
-#: src/gui/socialwindow.cpp:544
+#: src/gui/socialwindow.cpp:542
#, fuzzy
msgid "Choose your guild's name."
msgstr "é¸æ“‡æ‚¨çš„伺æœå™¨"
-#: src/gui/socialwindow.cpp:556
+#: src/gui/socialwindow.cpp:554
#, fuzzy
msgid "Received guild request, but one already exists."
msgstr "收到派å°é‚€è«‹,但而有å¦ä¸€å€‹å­˜åœ¨."
-#: src/gui/socialwindow.cpp:561
+#: src/gui/socialwindow.cpp:559
#, fuzzy, c-format
msgid "%s has invited you to join the guild %s."
msgstr "%s 邀請你åƒåŠ  %s æ´¾å°."
-#: src/gui/socialwindow.cpp:566
+#: src/gui/socialwindow.cpp:564
#, fuzzy
msgid "Accept Guild Invite"
msgstr "接å—æ´¾å°é‚€è«‹"
-#: src/gui/socialwindow.cpp:578
+#: src/gui/socialwindow.cpp:576
msgid "Received party request, but one already exists."
msgstr "收到派å°é‚€è«‹,但而有å¦ä¸€å€‹å­˜åœ¨."
-#: src/gui/socialwindow.cpp:588
+#: src/gui/socialwindow.cpp:585
#, fuzzy
msgid "You have been invited you to join a party."
msgstr "%s 邀請你åƒåŠ ä»–們的派å°."
-#: src/gui/socialwindow.cpp:592
+#: src/gui/socialwindow.cpp:589
#, fuzzy, c-format
msgid "You have been invited to join the %s party."
msgstr "%s 邀請你åƒåŠ  %s æ´¾å°."
-#: src/gui/socialwindow.cpp:600
+#: src/gui/socialwindow.cpp:597
#, c-format
msgid "%s has invited you to join their party."
msgstr "%s 邀請你åƒåŠ ä»–們的派å°."
-#: src/gui/socialwindow.cpp:605
+#: src/gui/socialwindow.cpp:602
#, c-format
msgid "%s has invited you to join the %s party."
msgstr "%s 邀請你åƒåŠ  %s æ´¾å°."
-#: src/gui/socialwindow.cpp:613
+#: src/gui/socialwindow.cpp:610
msgid "Accept Party Invite"
msgstr "接å—æ´¾å°é‚€è«‹"
-#: src/gui/socialwindow.cpp:624
+#: src/gui/socialwindow.cpp:621
msgid "Cannot create party. You are already in a party"
msgstr ""
-#: src/gui/socialwindow.cpp:629
+#: src/gui/socialwindow.cpp:626
#, fuzzy
msgid "Party Name"
msgstr "隊ä¼"
-#: src/gui/socialwindow.cpp:630
+#: src/gui/socialwindow.cpp:627
#, fuzzy
msgid "Choose your party's name."
msgstr "é¸æ“‡æ‚¨çš„伺æœå™¨"
-#: src/gui/specialswindow.cpp:85 src/gui/windowmenu.cpp:62
+#: src/gui/specialswindow.cpp:79 src/gui/windowmenu.cpp:62
msgid "Specials"
msgstr ""
-#: src/gui/specialswindow.cpp:174
-#, c-format
-msgid "Specials Set %d"
-msgstr ""
-
-#: src/gui/specialswindow.cpp:191
-#, c-format
-msgid "Special %d"
-msgstr ""
-
-#: src/gui/statuswindow.cpp:109 src/gui/statuswindow.cpp:253
+#: src/gui/statuswindow.cpp:113 src/gui/statuswindow.cpp:215
+#: src/gui/statuswindow.cpp:262
#, c-format
msgid "Level: %d"
msgstr "等級:%d"
-#: src/gui/statuswindow.cpp:110 src/gui/statuswindow.cpp:220
+#: src/gui/statuswindow.cpp:114 src/gui/statuswindow.cpp:208
+#: src/gui/statuswindow.cpp:239
#, c-format
msgid "Money: %s"
msgstr "金錢: %s"
-#: src/gui/statuswindow.cpp:113
+#: src/gui/statuswindow.cpp:117
msgid "HP:"
msgstr "體力 :"
-#: src/gui/statuswindow.cpp:118
+#: src/gui/statuswindow.cpp:122
msgid "Exp:"
msgstr "經驗值:"
-#: src/gui/statuswindow.cpp:123
+#: src/gui/statuswindow.cpp:130
msgid "MP:"
msgstr "魔力:"
-#: src/gui/statuswindow.cpp:141 src/gui/statuswindow.cpp:228
+#: src/gui/statuswindow.cpp:158 src/gui/statuswindow.cpp:275
#, c-format
msgid "Job: %d"
msgstr "è·æ¥­ï¼š%d"
-#: src/gui/statuswindow.cpp:142
+#: src/gui/statuswindow.cpp:159
msgid "Job:"
msgstr "è·æ¥­:"
-#: src/gui/statuswindow.cpp:203
-#, fuzzy
-msgid "HP"
-msgstr "體力 :"
-
-#: src/gui/statuswindow.cpp:209
-#, fuzzy
-msgid "MP"
-msgstr "魔力:"
-
-#: src/gui/statuswindow.cpp:215
-#, fuzzy
-msgid "Exp"
-msgstr "經驗值:"
-
-#: src/gui/statuswindow.cpp:224
-#, fuzzy
-msgid "Money"
-msgstr "金錢:%d"
-
-#: src/gui/statuswindow.cpp:234
-#, fuzzy
-msgid "Job"
-msgstr "è·æ¥­:"
-
-#: src/gui/statuswindow.cpp:238
+#: src/gui/statuswindow.cpp:211 src/gui/statuswindow.cpp:247
#, fuzzy, c-format
msgid "Character points: %d"
msgstr "角色狀態確定"
-#: src/gui/statuswindow.cpp:244
+#: src/gui/statuswindow.cpp:255
#, fuzzy, c-format
msgid "Correction points: %d"
msgstr "技能點數:%d"
-#: src/gui/statuswindow.cpp:257
-#, fuzzy
-msgid "Level"
-msgstr "等級:%d"
-
-#: src/gui/trade.cpp:52
+#: src/gui/trade.cpp:53
msgid "Propose trade"
msgstr "是å¦äº¤æ˜“"
-#: src/gui/trade.cpp:53
+#: src/gui/trade.cpp:54
msgid "Confirmed. Waiting..."
msgstr "已確èªã€‚è«‹ç¨å€™..."
-#: src/gui/trade.cpp:54
+#: src/gui/trade.cpp:55
msgid "Agree trade"
msgstr "åŒæ„交易"
-#: src/gui/trade.cpp:55
+#: src/gui/trade.cpp:56
msgid "Agreed. Waiting..."
msgstr "å·²åŒæ„。請ç¨å€™..."
-#: src/gui/trade.cpp:58
+#: src/gui/trade.cpp:59
msgid "Trade: You"
msgstr "交易:您"
-#: src/gui/trade.cpp:72 src/gui/trade.cpp:73
+#: src/gui/trade.cpp:73 src/gui/trade.cpp:74
msgid "Trade"
msgstr "交易"
-#: src/gui/trade.cpp:75
+#: src/gui/trade.cpp:76
msgid "Add"
msgstr "增加"
-#: src/gui/trade.cpp:97 src/gui/trade.cpp:133
+#: src/gui/trade.cpp:98 src/gui/trade.cpp:134
#, fuzzy, c-format
msgid "You get %s"
msgstr "您得到 %s。"
-#: src/gui/trade.cpp:98
+#: src/gui/trade.cpp:99
msgid "You give:"
msgstr "你付出:"
-#: src/gui/trade.cpp:102
+#: src/gui/trade.cpp:103
msgid "Change"
msgstr "更改"
-#: src/gui/trade.cpp:273
+#: src/gui/trade.cpp:262
msgid "Failed adding item. You can not overlap one kind of item on the window."
msgstr "增加物å“失敗。你ä¸èƒ½è¦†è“‹è¦–窗中的該類物å“能。"
-#: src/gui/trade.cpp:316
+#: src/gui/trade.cpp:304
msgid "You don't have enough money."
msgstr "你沒有足夠的金錢."
@@ -2049,85 +2001,6 @@ msgstr "##1 您ç¨å¾Œå†è©¦ä¸€æ¬¡"
msgid "Completed"
msgstr "已完æˆ"
-#: src/gui/userpalette.cpp:91
-msgid "Being"
-msgstr "物件"
-
-#: src/gui/userpalette.cpp:92
-msgid "Other Players' Names"
-msgstr "其他使用者åå­—"
-
-#: src/gui/userpalette.cpp:93
-msgid "Own Name"
-msgstr "我的åå­—"
-
-#: src/gui/userpalette.cpp:94
-msgid "GM Names"
-msgstr "éŠæˆ²ç®¡ç†è€…åå­—"
-
-#: src/gui/userpalette.cpp:95
-msgid "NPCs"
-msgstr "電腦"
-
-#: src/gui/userpalette.cpp:96
-msgid "Monsters"
-msgstr "怪物"
-
-#: src/gui/userpalette.cpp:97
-#, fuzzy
-msgid "Party Members"
-msgstr "隊ä¼"
-
-#: src/gui/userpalette.cpp:98
-#, fuzzy
-msgid "Guild Members"
-msgstr "公會"
-
-#: src/gui/userpalette.cpp:99
-msgid "Particle Effects"
-msgstr "ç²’å­æ•ˆæžœ"
-
-#: src/gui/userpalette.cpp:100
-msgid "Pickup Notification"
-msgstr "撿拾通知"
-
-#: src/gui/userpalette.cpp:101
-msgid "Exp Notification"
-msgstr "經驗值通知"
-
-#: src/gui/userpalette.cpp:103
-#, fuzzy
-msgid "Other Player Hits Monster"
-msgstr "玩家攻擊怪物"
-
-#: src/gui/userpalette.cpp:104
-#, fuzzy
-msgid "Monster Hits Player"
-msgstr "怪物攻擊玩家"
-
-#: src/gui/userpalette.cpp:105
-msgid "Critical Hit"
-msgstr "致命一擊"
-
-#: src/gui/userpalette.cpp:107
-#, fuzzy
-msgid "Local Player Hits Monster"
-msgstr "玩家攻擊怪物"
-
-#: src/gui/userpalette.cpp:109
-#, fuzzy
-msgid "Local Player Critical Hit"
-msgstr "致命一擊"
-
-#: src/gui/userpalette.cpp:111
-#, fuzzy
-msgid "Local Player Miss"
-msgstr "ä¿å­˜çŽ©å®¶åˆ—表"
-
-#: src/gui/userpalette.cpp:112
-msgid "Misses"
-msgstr "失誤"
-
#: src/gui/widgets/channeltab.cpp:49
msgid "/users > Lists the users in the current channel"
msgstr "/users > 列出在目å‰é »é“的使用者"
@@ -2204,55 +2077,55 @@ msgstr "需è¦æŒ‡å®šè¦æˆç‚º op 的使用者ï¼"
msgid "Need a user to kick!"
msgstr "需è¦æŒ‡å®šè¦è¸¢æŽ‰çš„使用者ï¼"
-#: src/gui/widgets/chattab.cpp:120
+#: src/gui/widgets/chattab.cpp:121
msgid "Global announcement:"
msgstr "主è¦å…¬å‘Šï¼š"
-#: src/gui/widgets/chattab.cpp:126
+#: src/gui/widgets/chattab.cpp:127
#, c-format
msgid "Global announcement from %s:"
msgstr "%s 主è¦å…¬å‘Šï¼š"
-#: src/gui/widgets/chattab.cpp:152
+#: src/gui/widgets/chattab.cpp:153
#, fuzzy, c-format
msgid "%s whispers: %s"
msgstr "%s 的悄悄話: "
-#: src/gui/widgets/whispertab.cpp:52
+#: src/gui/widgets/whispertab.cpp:53
msgid "Cannot send empty chat!"
msgstr "ä¸èƒ½å‚³é€ç©ºçš„èŠå¤©è¨Šæ¯ï¼"
-#: src/gui/widgets/whispertab.cpp:71
+#: src/gui/widgets/whispertab.cpp:72
msgid "/ignore > Ignore the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:72
+#: src/gui/widgets/whispertab.cpp:73
msgid "/unignore > Stop ignoring the other player"
msgstr ""
-#: src/gui/widgets/whispertab.cpp:73
+#: src/gui/widgets/whispertab.cpp:74
msgid "/close > Close the whisper tab"
msgstr "/close > 關閉悄悄話分é "
-#: src/gui/widgets/whispertab.cpp:83
+#: src/gui/widgets/whispertab.cpp:84
msgid "Command: /close"
msgstr "指令: /close"
-#: src/gui/widgets/whispertab.cpp:84
+#: src/gui/widgets/whispertab.cpp:85
msgid "This command closes the current whisper tab."
msgstr "這個指令會關閉目å‰çš„悄悄話分é ã€‚"
-#: src/gui/widgets/whispertab.cpp:88
+#: src/gui/widgets/whispertab.cpp:89
#, fuzzy
msgid "Command: /ignore"
msgstr "指令: /item"
-#: src/gui/widgets/whispertab.cpp:89
+#: src/gui/widgets/whispertab.cpp:90
#, fuzzy
msgid "This command ignores the other player regardless of current relations."
msgstr "這調指令å¯é¡¯ç¤ºç›®å‰ç·šä¸Šäººæ•¸ã€‚"
-#: src/gui/widgets/whispertab.cpp:95
+#: src/gui/widgets/whispertab.cpp:96
#, fuzzy
msgid "This command stops ignoring the other player if they are being ignored."
msgstr "這個指令會開始將èŠå¤©ç´€éŒ„錄製為檔案 <filename>。"
@@ -2280,412 +2153,426 @@ msgstr "更改"
msgid "Choose World"
msgstr "é¸æ“‡æ‚¨çš„伺æœå™¨"
-#: src/keyboardconfig.cpp:40
+#: src/keyboardconfig.cpp:39
msgid "Move Up"
msgstr "上移"
-#: src/keyboardconfig.cpp:41
+#: src/keyboardconfig.cpp:40
msgid "Move Down"
msgstr "下移"
-#: src/keyboardconfig.cpp:42
+#: src/keyboardconfig.cpp:41
msgid "Move Left"
msgstr "左移"
-#: src/keyboardconfig.cpp:43
+#: src/keyboardconfig.cpp:42
msgid "Move Right"
msgstr "å³ç§»"
-#: src/keyboardconfig.cpp:44 src/net/tmwa/generalhandler.cpp:224
+#: src/keyboardconfig.cpp:43 src/net/tmwa/generalhandler.cpp:237
msgid "Attack"
msgstr "攻擊"
-#: src/keyboardconfig.cpp:45
+#: src/keyboardconfig.cpp:44
msgid "Target & Attack"
msgstr "尋找目標攻擊"
-#: src/keyboardconfig.cpp:46
+#: src/keyboardconfig.cpp:45
msgid "Smilie"
msgstr "å²èŠå§†åƒæŽ‰å¦³äº†~~"
-#: src/keyboardconfig.cpp:47
+#: src/keyboardconfig.cpp:46
msgid "Talk"
msgstr "說話"
-#: src/keyboardconfig.cpp:48
+#: src/keyboardconfig.cpp:47
msgid "Stop Attack"
msgstr "åœæ­¢æ”»æ“Š"
-#: src/keyboardconfig.cpp:49
+#: src/keyboardconfig.cpp:48
#, fuzzy
msgid "Target Monster"
msgstr "最接近的目標"
-#: src/keyboardconfig.cpp:50
+#: src/keyboardconfig.cpp:49
msgid "Target NPC"
msgstr "以 NPC 為目標"
-#: src/keyboardconfig.cpp:51
+#: src/keyboardconfig.cpp:50
msgid "Target Player"
msgstr "以玩家為目標"
-#: src/keyboardconfig.cpp:52
+#: src/keyboardconfig.cpp:51
msgid "Pickup"
msgstr "撿拾"
-#: src/keyboardconfig.cpp:53
+#: src/keyboardconfig.cpp:52
msgid "Hide Windows"
msgstr "éš±è—視窗"
-#: src/keyboardconfig.cpp:54
+#: src/keyboardconfig.cpp:53
msgid "Sit"
msgstr "å下"
-#: src/keyboardconfig.cpp:55
+#: src/keyboardconfig.cpp:54
msgid "Screenshot"
msgstr "螢幕快照"
-#: src/keyboardconfig.cpp:56
+#: src/keyboardconfig.cpp:55
msgid "Enable/Disable Trading"
msgstr "啟用/åœç”¨äº¤æ˜“"
-#: src/keyboardconfig.cpp:57
+#: src/keyboardconfig.cpp:56
msgid "Find Path to Mouse"
msgstr "尋找至滑鼠的路徑"
-#: src/keyboardconfig.cpp:58 src/keyboardconfig.cpp:59
-#: src/keyboardconfig.cpp:60 src/keyboardconfig.cpp:61
-#: src/keyboardconfig.cpp:62 src/keyboardconfig.cpp:63
-#: src/keyboardconfig.cpp:64 src/keyboardconfig.cpp:65
-#: src/keyboardconfig.cpp:66 src/keyboardconfig.cpp:67
-#: src/keyboardconfig.cpp:68 src/keyboardconfig.cpp:69
+#: src/keyboardconfig.cpp:57 src/keyboardconfig.cpp:58
+#: src/keyboardconfig.cpp:59 src/keyboardconfig.cpp:60
+#: src/keyboardconfig.cpp:61 src/keyboardconfig.cpp:62
+#: src/keyboardconfig.cpp:63 src/keyboardconfig.cpp:64
+#: src/keyboardconfig.cpp:65 src/keyboardconfig.cpp:66
+#: src/keyboardconfig.cpp:67 src/keyboardconfig.cpp:68
#, c-format
msgid "Item Shortcut %d"
msgstr "物å“æ·å¾‘éµ %d"
-#: src/keyboardconfig.cpp:70
+#: src/keyboardconfig.cpp:69
msgid "Help Window"
msgstr "說明視窗"
-#: src/keyboardconfig.cpp:71
+#: src/keyboardconfig.cpp:70
msgid "Status Window"
msgstr "狀態視窗"
-#: src/keyboardconfig.cpp:72
+#: src/keyboardconfig.cpp:71
msgid "Inventory Window"
msgstr "物å“欄視窗"
-#: src/keyboardconfig.cpp:73
+#: src/keyboardconfig.cpp:72
msgid "Equipment Window"
msgstr "物å“視窗"
-#: src/keyboardconfig.cpp:74
+#: src/keyboardconfig.cpp:73
msgid "Skill Window"
msgstr "技能視窗"
-#: src/keyboardconfig.cpp:75
+#: src/keyboardconfig.cpp:74
msgid "Minimap Window"
msgstr "迷你地圖視窗"
-#: src/keyboardconfig.cpp:76
+#: src/keyboardconfig.cpp:75
msgid "Chat Window"
msgstr "èŠå¤©è¦–窗"
-#: src/keyboardconfig.cpp:77
+#: src/keyboardconfig.cpp:76
msgid "Item Shortcut Window"
msgstr "物å“æ·å¾‘éµè¦–窗"
-#: src/keyboardconfig.cpp:78
+#: src/keyboardconfig.cpp:77
msgid "Setup Window"
msgstr "設定視窗"
-#: src/keyboardconfig.cpp:79
+#: src/keyboardconfig.cpp:78
msgid "Debug Window"
msgstr "程å¼é™¤éŒ¯è¦–窗"
-#: src/keyboardconfig.cpp:80
+#: src/keyboardconfig.cpp:79
#, fuzzy
msgid "Social Window"
msgstr "技能視窗"
-#: src/keyboardconfig.cpp:81
+#: src/keyboardconfig.cpp:80
msgid "Emote Shortcut Window"
msgstr "表情æ·å¾‘éµè¦–窗"
-#: src/keyboardconfig.cpp:82
+#: src/keyboardconfig.cpp:81
#, fuzzy
msgid "Outfits Window"
msgstr "狀態視窗"
-#: src/keyboardconfig.cpp:83
+#: src/keyboardconfig.cpp:82
msgid "Wear Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:84
+#: src/keyboardconfig.cpp:83
msgid "Copy Outfit"
msgstr ""
-#: src/keyboardconfig.cpp:85 src/keyboardconfig.cpp:86
-#: src/keyboardconfig.cpp:87 src/keyboardconfig.cpp:88
-#: src/keyboardconfig.cpp:89 src/keyboardconfig.cpp:90
-#: src/keyboardconfig.cpp:91 src/keyboardconfig.cpp:92
-#: src/keyboardconfig.cpp:93 src/keyboardconfig.cpp:94
-#: src/keyboardconfig.cpp:95 src/keyboardconfig.cpp:96
+#: src/keyboardconfig.cpp:84 src/keyboardconfig.cpp:85
+#: src/keyboardconfig.cpp:86 src/keyboardconfig.cpp:87
+#: src/keyboardconfig.cpp:88 src/keyboardconfig.cpp:89
+#: src/keyboardconfig.cpp:90 src/keyboardconfig.cpp:91
+#: src/keyboardconfig.cpp:92 src/keyboardconfig.cpp:93
+#: src/keyboardconfig.cpp:94 src/keyboardconfig.cpp:95
#, c-format
msgid "Emote Shortcut %d"
msgstr "表情æ·å¾‘éµ %d"
-#: src/keyboardconfig.cpp:97
+#: src/keyboardconfig.cpp:96
msgid "Toggle Chat"
msgstr "切æ›èŠå¤©"
-#: src/keyboardconfig.cpp:98
+#: src/keyboardconfig.cpp:97
msgid "Scroll Chat Up"
msgstr "å°‡èŠå¤©å‘上æ²å‹•"
-#: src/keyboardconfig.cpp:99
+#: src/keyboardconfig.cpp:98
msgid "Scroll Chat Down"
msgstr "å°‡èŠå¤©å‘下æ²å‹•"
-#: src/keyboardconfig.cpp:100
+#: src/keyboardconfig.cpp:99
msgid "Previous Chat Tab"
msgstr "å‰ä¸€å€‹èŠå¤©åˆ†é "
-#: src/keyboardconfig.cpp:101
+#: src/keyboardconfig.cpp:100
msgid "Next Chat Tab"
msgstr "下一個èŠå¤©åˆ†é "
-#: src/keyboardconfig.cpp:102
+#: src/keyboardconfig.cpp:101
msgid "Select OK"
msgstr "é¸æ“‡ç¢ºå®š"
-#: src/keyboardconfig.cpp:104
+#: src/keyboardconfig.cpp:103
msgid "Ignore input 1"
msgstr "忽略輸入 1"
-#: src/keyboardconfig.cpp:105
+#: src/keyboardconfig.cpp:104
msgid "Ignore input 2"
msgstr "忽略輸入 2"
-#: src/keyboardconfig.cpp:184
+#: src/keyboardconfig.cpp:183
#, fuzzy, c-format
msgid ""
"Conflict \"%s\" and \"%s\" keys. Resolve them, or gameplay may result in "
"strange behaviour."
msgstr "解決按éµè¡çªï¼Œå¦å‰‡éŠæˆ²ä¸­å¯èƒ½é‡åˆ°å¥‡æ€ªè¡Œç‚ºã€‚"
-#: src/localplayer.cpp:1248
+#: src/localplayer.cpp:985
msgid "Unable to pick up item."
msgstr "ä¸èƒ½æ‹¾å–物å“."
#. TRANSLATORS: This sentence may be translated differently
#. for different grammatical numbers (singular, plural, ...)
-#: src/localplayer.cpp:1257
+#: src/localplayer.cpp:994
#, fuzzy, c-format
msgid "You picked up %d [@@%d|%s@@]."
msgid_plural "You picked up %d [@@%d|%s@@]."
msgstr[0] "你拾å–了 %s [@@%d|%s@@]."
msgstr[1] "你拾å–了 %s [@@%d|%s@@]."
-#: src/localplayer.cpp:1435
-msgid "Away"
-msgstr ""
-
#: src/main.cpp:42
msgid "mana [options] [mana-file]"
msgstr ""
#: src/main.cpp:43
+msgid "[mana-file] : The mana file is an XML file (.mana)"
+msgstr ""
+
+#: src/main.cpp:44
+msgid " used to set custom parameters"
+msgstr ""
+
+#: src/main.cpp:45
+msgid " to the mana client."
+msgstr ""
+
+#: src/main.cpp:47
msgid "Options:"
msgstr "é¸é …:"
-#: src/main.cpp:44
+#: src/main.cpp:48
#, fuzzy
msgid " -v --version : Display the version"
msgstr " -v --version : 顯示éŠæˆ²ç‰ˆæœ¬"
-#: src/main.cpp:45
+#: src/main.cpp:49
#, fuzzy
msgid " -h --help : Display this help"
msgstr " -h --help : 顯示求助說明"
-#: src/main.cpp:46
+#: src/main.cpp:50
#, fuzzy
msgid " -C --config-dir : Configuration directory to use"
msgstr " -C --config-file : 使用此設定檔"
-#: src/main.cpp:47
+#: src/main.cpp:51
#, fuzzy
msgid " -U --username : Login with this username"
msgstr " -U -username : 使用此帳號登入"
-#: src/main.cpp:48
+#: src/main.cpp:52
#, fuzzy
msgid " -P --password : Login with this password"
msgstr " -P --password : 用此密碼登入"
-#: src/main.cpp:49
+#: src/main.cpp:53
#, fuzzy
msgid " -c --character : Login with this character"
msgstr " -c --character : 用此帳號登入"
-#: src/main.cpp:50
+#: src/main.cpp:54
#, fuzzy
msgid " -s --server : Login server name or IP"
msgstr " -s --server : 登錄伺æœå™¨åŸ å稱或IPä½å€"
-#: src/main.cpp:51
+#: src/main.cpp:55
#, fuzzy
msgid " -p --port : Login server port"
msgstr " -p --port : 登錄伺æœå™¨åŸ "
-#: src/main.cpp:52
+#: src/main.cpp:56
#, fuzzy
msgid " --update-host : Use this update host"
msgstr " -H --update-host : 使用此更新伺æœå™¨"
-#: src/main.cpp:53
+#: src/main.cpp:57
#, fuzzy
msgid " -D --default : Choose default character server and character"
msgstr " -D --default : é¸æ“‡é è¨­çš„角色伺æœå™¨åŠè§’色"
-#: src/main.cpp:55
+#: src/main.cpp:59
#, fuzzy
msgid " -u --skip-update : Skip the update downloads"
msgstr " -u --skip-update : ä¸ä½¿ç”¨æ›´æ–°"
-#: src/main.cpp:56
+#: src/main.cpp:60
#, fuzzy
msgid " -d --data : Directory to load game data from"
msgstr " -d -data : 指定éŠæˆ²è³‡æ–™æ‰€åœ¨çš„目錄"
-#: src/main.cpp:57
+#: src/main.cpp:61
#, fuzzy
-msgid " -L --localdata-dir : Directory to use as local data directory"
+msgid " --localdata-dir : Directory to use as local data directory"
msgstr " -S --home-dir : 設定此目錄為家目錄"
-#: src/main.cpp:58
+#: src/main.cpp:62
+#, fuzzy
+msgid " --chat-log-dir : Chat log dir to use"
+msgstr " -C --config-file : 使用此設定檔"
+
+#: src/main.cpp:63
#, fuzzy
msgid " --screenshot-dir : Directory to store screenshots"
msgstr " -S --home-dir : 設定此目錄為家目錄"
-#: src/main.cpp:60
+#: src/main.cpp:65
#, fuzzy
msgid " --no-opengl : Disable OpenGL for this session"
msgstr " -O --no-opengl : ä¸ä½¿ç”¨OpenGL"
-#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:103
+#: src/net/manaserv/beinghandler.cpp:303 src/net/tmwa/playerhandler.cpp:94
msgid "You are dead."
msgstr "您已經死亡。"
-#: src/net/manaserv/beinghandler.cpp:305 src/net/tmwa/playerhandler.cpp:104
+#: src/net/manaserv/beinghandler.cpp:304 src/net/tmwa/playerhandler.cpp:95
msgid "We regret to inform you that your character was killed in battle."
msgstr "我們很éºæ†¾çš„通知您,您的角色已經在戰鬥中被殺了。"
-#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:106
+#: src/net/manaserv/beinghandler.cpp:306 src/net/tmwa/playerhandler.cpp:97
msgid "You are not that alive anymore."
msgstr "您ä¸å†æ˜¯é‚£éº¼æœ‰æ´»åŠ›ã€‚"
-#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:107
+#: src/net/manaserv/beinghandler.cpp:307 src/net/tmwa/playerhandler.cpp:98
msgid "The cold hands of the grim reaper are grabbing for your soul."
msgstr "殘酷的死神用冰冷的手正在抽出你的éˆé­‚。"
-#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:108
+#: src/net/manaserv/beinghandler.cpp:308 src/net/tmwa/playerhandler.cpp:99
msgid "Game Over!"
msgstr "éŠæˆ²çµæŸï¼"
-#: src/net/manaserv/beinghandler.cpp:310 src/net/tmwa/playerhandler.cpp:110
+#: src/net/manaserv/beinghandler.cpp:309 src/net/tmwa/playerhandler.cpp:101
msgid ""
"No, kids. Your character did not really die. It... err... went to a better "
"place."
msgstr "ä¸ï¼Œå­©å­ã€‚您的角色並沒有真的死掉。他...呃...去了更好的地方。"
-#: src/net/manaserv/beinghandler.cpp:312 src/net/tmwa/playerhandler.cpp:112
+#: src/net/manaserv/beinghandler.cpp:311 src/net/tmwa/playerhandler.cpp:103
msgid ""
"Your plan of breaking your enemies weapon by bashing it with your throat "
"failed."
msgstr "您想讓敵人的武器æ’入您的喉嚨好折斷它的計畫失敗了。"
-#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:114
+#: src/net/manaserv/beinghandler.cpp:313 src/net/tmwa/playerhandler.cpp:105
msgid "I guess this did not run too well."
msgstr "我猜這並沒有跑得很好"
-#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:116
+#: src/net/manaserv/beinghandler.cpp:314 src/net/tmwa/playerhandler.cpp:107
msgid "Do you want your possessions identified?"
msgstr "您想è¦é‘‘定你的財產嗎?"
-#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:118
+#: src/net/manaserv/beinghandler.cpp:315 src/net/tmwa/playerhandler.cpp:109
msgid "Sadly, no trace of you was ever found..."
msgstr "很悲傷的,沒有人發ç¾ä½ çš„蹤跡..."
-#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:120
+#: src/net/manaserv/beinghandler.cpp:316 src/net/tmwa/playerhandler.cpp:111
msgid "Annihilated."
msgstr "ç°é£›ç…™æ»…了。"
-#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:122
+#: src/net/manaserv/beinghandler.cpp:317 src/net/tmwa/playerhandler.cpp:113
msgid "Looks like you got your head handed to you."
msgstr "看起來你把你的頭拿在手上。"
-#: src/net/manaserv/beinghandler.cpp:319 src/net/tmwa/playerhandler.cpp:124
+#: src/net/manaserv/beinghandler.cpp:318 src/net/tmwa/playerhandler.cpp:115
msgid ""
"You screwed up again, dump your body down the tubes and get you another one."
msgstr "ä½ åˆè¢«å¹¹æŽ‰å•¦!!!躺在地上一次åˆä¸€æ¬¡!!"
-#: src/net/manaserv/beinghandler.cpp:324
+#: src/net/manaserv/beinghandler.cpp:323
#, fuzzy
msgid "Press OK to respawn."
msgstr " 請按確èªå•Ÿå‹•"
-#: src/net/manaserv/beinghandler.cpp:325
+#: src/net/manaserv/beinghandler.cpp:324
#, fuzzy
msgid "You Died"
msgstr "您已經死亡"
-#: src/net/manaserv/charhandler.cpp:134 src/net/manaserv/charhandler.cpp:202
+#: src/net/manaserv/charhandler.cpp:138 src/net/manaserv/charhandler.cpp:209
#, fuzzy
msgid "Not logged in."
msgstr "已經登入"
-#: src/net/manaserv/charhandler.cpp:137
+#: src/net/manaserv/charhandler.cpp:141
msgid "No empty slot."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:140
+#: src/net/manaserv/charhandler.cpp:144
msgid "Invalid name."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:143
+#: src/net/manaserv/charhandler.cpp:147
#, fuzzy
msgid "Character's name already exists."
msgstr "å字已經有人使用"
-#: src/net/manaserv/charhandler.cpp:146
+#: src/net/manaserv/charhandler.cpp:150
msgid "Invalid hairstyle."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:149
+#: src/net/manaserv/charhandler.cpp:153
msgid "Invalid hair color."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:152
+#: src/net/manaserv/charhandler.cpp:156
msgid "Invalid gender."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:155
+#: src/net/manaserv/charhandler.cpp:159
#, fuzzy
msgid "Character's stats are too high."
msgstr "角色狀態確定"
-#: src/net/manaserv/charhandler.cpp:158
+#: src/net/manaserv/charhandler.cpp:162
#, fuzzy
msgid "Character's stats are too low."
msgstr "角色狀態確定"
-#: src/net/manaserv/charhandler.cpp:161
-msgid "One stat is zero."
+#: src/net/manaserv/charhandler.cpp:165
+#, c-format
+msgid "At least one statis out of the permitted range: (%u - %u)."
msgstr ""
-#: src/net/manaserv/charhandler.cpp:164 src/net/manaserv/loginhandler.cpp:96
+#: src/net/manaserv/charhandler.cpp:171 src/net/manaserv/loginhandler.cpp:96
#: src/net/manaserv/loginhandler.cpp:127 src/net/manaserv/loginhandler.cpp:161
#: src/net/manaserv/loginhandler.cpp:279 src/net/manaserv/loginhandler.cpp:316
#: src/net/tmwa/loginhandler.cpp:95 src/net/tmwa/loginhandler.cpp:182
@@ -2693,96 +2580,96 @@ msgstr ""
msgid "Unknown error."
msgstr "ä¸æ˜Žçš„錯誤"
-#: src/net/manaserv/charhandler.cpp:193 src/net/tmwa/charserverhandler.cpp:150
+#: src/net/manaserv/charhandler.cpp:200 src/net/tmwa/charserverhandler.cpp:146
msgid "Info"
msgstr "資訊"
-#: src/net/manaserv/charhandler.cpp:193
+#: src/net/manaserv/charhandler.cpp:200
#, fuzzy
msgid "Player deleted."
msgstr "玩家已刪除"
-#: src/net/manaserv/charhandler.cpp:205
+#: src/net/manaserv/charhandler.cpp:212
#, fuzzy
msgid "Selection out of range."
msgstr "è«‹é¸æ“‡äº¤æ˜“的物å“數é‡"
-#: src/net/manaserv/charhandler.cpp:208
+#: src/net/manaserv/charhandler.cpp:215
#, fuzzy, c-format
msgid "Unknown error (%d)."
msgstr "ä¸æ˜Žçš„錯誤"
-#: src/net/manaserv/charhandler.cpp:242
+#: src/net/manaserv/charhandler.cpp:250
msgid "No gameservers are available."
msgstr "沒有å¯ç”¨çš„éŠæˆ²ä¼ºæœå™¨ã€‚"
-#: src/net/manaserv/chathandler.cpp:180 src/net/manaserv/chathandler.cpp:301
-#: src/net/manaserv/guildhandler.cpp:259
+#: src/net/manaserv/chathandler.cpp:187 src/net/manaserv/chathandler.cpp:313
+#: src/net/manaserv/guildhandler.cpp:260
#, c-format
msgid "Topic: %s"
msgstr "主題: %s"
-#: src/net/manaserv/chathandler.cpp:184 src/net/manaserv/chathandler.cpp:262
+#: src/net/manaserv/chathandler.cpp:191 src/net/manaserv/chathandler.cpp:274
#, fuzzy
msgid "Players in this channel:"
msgstr "玩家攻擊怪物"
-#: src/net/manaserv/chathandler.cpp:201
+#: src/net/manaserv/chathandler.cpp:208
#, fuzzy
msgid "Error joining channel."
msgstr "指令: /join <é »é“å稱>"
-#: src/net/manaserv/chathandler.cpp:207
+#: src/net/manaserv/chathandler.cpp:214
#, fuzzy
msgid "Listing channels."
msgstr "è¦æ±‚åƒåŠ é »é“ %s"
-#: src/net/manaserv/chathandler.cpp:219
+#: src/net/manaserv/chathandler.cpp:226
msgid "End of channel list."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:291
+#: src/net/manaserv/chathandler.cpp:303
#, fuzzy, c-format
msgid "%s entered the channel."
msgstr "%s åƒåŠ äº†é€™å€‹æ´¾å°."
-#: src/net/manaserv/chathandler.cpp:296
+#: src/net/manaserv/chathandler.cpp:308
#, c-format
msgid "%s left the channel."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:312
+#: src/net/manaserv/chathandler.cpp:324
#, c-format
msgid "%s has set mode %s on user %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:322
+#: src/net/manaserv/chathandler.cpp:334
#, c-format
msgid "%s has kicked %s."
msgstr ""
-#: src/net/manaserv/chathandler.cpp:327
+#: src/net/manaserv/chathandler.cpp:339
#, fuzzy
msgid "Unknown channel event."
msgstr "ä¸æ˜ŽæŒ‡ä»¤"
-#: src/net/manaserv/guildhandler.cpp:81
+#: src/net/manaserv/guildhandler.cpp:82
msgid "Guild created."
msgstr "公會已æˆç«‹."
-#: src/net/manaserv/guildhandler.cpp:86
+#: src/net/manaserv/guildhandler.cpp:87
msgid "Error creating guild."
msgstr "創建公會時發生錯誤."
-#: src/net/manaserv/guildhandler.cpp:96
+#: src/net/manaserv/guildhandler.cpp:97
msgid "Invite sent."
msgstr "發出邀請."
-#: src/net/manaserv/guildhandler.cpp:203
+#: src/net/manaserv/guildhandler.cpp:204
msgid "Member was promoted successfully."
msgstr "æˆåŠŸæå‡æœƒå“¡."
-#: src/net/manaserv/guildhandler.cpp:208
+#: src/net/manaserv/guildhandler.cpp:209
msgid "Failed to promote member."
msgstr "無法æå‡æœƒå“¡."
@@ -2873,11 +2760,11 @@ msgstr "é›»å­éƒµä»¶å·²ç¶“存在"
msgid "You took too long with the captcha or your response was incorrect."
msgstr ""
-#: src/net/manaserv/partyhandler.cpp:88
+#: src/net/manaserv/partyhandler.cpp:87
msgid "Joined party."
msgstr "åƒåŠ æ´¾å°."
-#: src/net/manaserv/partyhandler.cpp:106
+#: src/net/manaserv/partyhandler.cpp:105
#, c-format
msgid "%s joined the party."
msgstr "%s åƒåŠ äº†é€™å€‹æ´¾å°."
@@ -2887,190 +2774,137 @@ msgstr "%s åƒåŠ äº†é€™å€‹æ´¾å°."
msgid "%s rejected your invite."
msgstr "%s 拒絕您的邀請。"
-#: src/net/manaserv/stats.cpp:56 src/net/tmwa/generalhandler.cpp:217
-msgid "Strength"
-msgstr "力é‡"
-
-#: src/net/manaserv/stats.cpp:58 src/net/tmwa/generalhandler.cpp:101
-#, c-format
-msgid "Strength %+d"
-msgstr "åŠ›é‡ %+d"
-
-#: src/net/manaserv/stats.cpp:68 src/net/tmwa/generalhandler.cpp:218
-msgid "Agility"
-msgstr "æ•æ·"
-
-#: src/net/manaserv/stats.cpp:70 src/net/tmwa/generalhandler.cpp:102
-#, c-format
-msgid "Agility %+d"
-msgstr "æ•æ· %+d"
-
-#: src/net/manaserv/stats.cpp:80 src/net/tmwa/generalhandler.cpp:221
-msgid "Dexterity"
-msgstr "閃躲"
-
-#: src/net/manaserv/stats.cpp:82 src/net/tmwa/generalhandler.cpp:105
-#, c-format
-msgid "Dexterity %+d"
-msgstr "閃躲 %+d"
-
-#: src/net/manaserv/stats.cpp:92 src/net/tmwa/generalhandler.cpp:219
-msgid "Vitality"
-msgstr "體力"
-
-#: src/net/manaserv/stats.cpp:94 src/net/tmwa/generalhandler.cpp:103
-#, c-format
-msgid "Vitality %+d"
-msgstr "體力 %+d"
-
-#: src/net/manaserv/stats.cpp:104 src/net/tmwa/generalhandler.cpp:220
-msgid "Intelligence"
-msgstr "智力"
-
-#: src/net/manaserv/stats.cpp:106 src/net/tmwa/generalhandler.cpp:104
-#, c-format
-msgid "Intelligence %+d"
-msgstr "智力 %+d"
-
-#: src/net/manaserv/stats.cpp:116
-#, fuzzy
-msgid "Willpower"
-msgstr "æ„志力:"
-
-#: src/net/manaserv/stats.cpp:118
-#, c-format
-msgid "Willpower %+d"
-msgstr "æ„志力 %+d"
-
-#: src/net/manaserv/tradehandler.cpp:96
+#: src/net/manaserv/tradehandler.cpp:95
msgid "Accepting incoming trade requests."
msgstr "接å—傳入的交易è¦æ±‚."
-#: src/net/manaserv/tradehandler.cpp:98
+#: src/net/manaserv/tradehandler.cpp:97
msgid "Ignoring incoming trade requests."
msgstr "拒絕傳入的交易è¦æ±‚."
-#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:107
+#: src/net/manaserv/tradehandler.cpp:115 src/net/tmwa/tradehandler.cpp:109
msgid "Request for Trade"
msgstr "è¦æ±‚交易"
-#: src/net/manaserv/tradehandler.cpp:117 src/net/tmwa/tradehandler.cpp:108
+#: src/net/manaserv/tradehandler.cpp:116 src/net/tmwa/tradehandler.cpp:110
#, c-format
msgid "%s wants to trade with you, do you accept?"
msgstr "%s 請求交易, 是å¦æŽ¥å—?"
-#: src/net/manaserv/tradehandler.cpp:135
+#: src/net/manaserv/tradehandler.cpp:134
#, c-format
msgid "Trading with %s"
msgstr "與 %s 交易."
-#: src/net/manaserv/tradehandler.cpp:149 src/net/tmwa/tradehandler.cpp:224
+#: src/net/manaserv/tradehandler.cpp:148 src/net/tmwa/tradehandler.cpp:224
msgid "Trade canceled."
msgstr "交易已å–消。"
-#: src/net/manaserv/tradehandler.cpp:156 src/net/tmwa/tradehandler.cpp:231
+#: src/net/manaserv/tradehandler.cpp:155 src/net/tmwa/tradehandler.cpp:231
msgid "Trade completed."
msgstr "交易已完æˆã€‚"
-#: src/net/tmwa/adminhandler.cpp:65
+#: src/net/tmwa/adminhandler.cpp:64
msgid "Kick failed!"
msgstr "踢人失敗ï¼"
-#: src/net/tmwa/adminhandler.cpp:67
+#: src/net/tmwa/adminhandler.cpp:66
msgid "Kick succeeded!"
msgstr "踢人æˆåŠŸï¼"
-#: src/net/tmwa/buysellhandler.cpp:110
+#: src/net/tmwa/buysellhandler.cpp:109
msgid "Nothing to sell."
msgstr "沒有任何物å“å¯å‡ºå”®."
-#: src/net/tmwa/buysellhandler.cpp:117
+#: src/net/tmwa/buysellhandler.cpp:116
msgid "Thanks for buying."
msgstr "è¬è¬å…‰è‡¨."
-#: src/net/tmwa/buysellhandler.cpp:124
+#: src/net/tmwa/buysellhandler.cpp:123
msgid "Unable to buy."
msgstr "ä¸èƒ½è³¼è²·."
-#: src/net/tmwa/buysellhandler.cpp:130
+#: src/net/tmwa/buysellhandler.cpp:129
msgid "Thanks for selling."
msgstr "è¬è¬ä½ çš„出售."
-#: src/net/tmwa/buysellhandler.cpp:132
+#: src/net/tmwa/buysellhandler.cpp:131
msgid "Unable to sell."
msgstr "ä¸èƒ½å‡ºå”®."
-#: src/net/tmwa/charserverhandler.cpp:105
+#: src/net/tmwa/charserverhandler.cpp:103
msgid "Access denied. Most likely, there are too many players on this server."
msgstr ""
-#: src/net/tmwa/charserverhandler.cpp:109
+#: src/net/tmwa/charserverhandler.cpp:107
#, fuzzy
msgid "Cannot use this ID."
msgstr "ä¸èƒ½ä½¿ç”¨é€™å€‹ ID"
-#: src/net/tmwa/charserverhandler.cpp:112
+#: src/net/tmwa/charserverhandler.cpp:110
#, fuzzy
msgid "Unknown char-server failure."
msgstr "ä¸æ˜Žçš„錯誤"
-#: src/net/tmwa/charserverhandler.cpp:138
+#: src/net/tmwa/charserverhandler.cpp:134
msgid "Failed to create character. Most likely the name is already taken."
msgstr "建立角色失敗。最有å¯èƒ½çš„情形是該å稱已經被使用了。"
-#: src/net/tmwa/charserverhandler.cpp:150
+#: src/net/tmwa/charserverhandler.cpp:146
msgid "Character deleted."
msgstr "角色被刪除."
-#: src/net/tmwa/charserverhandler.cpp:155
+#: src/net/tmwa/charserverhandler.cpp:151
msgid "Failed to delete character."
msgstr "刪除角色失敗。"
-#: src/net/tmwa/charserverhandler.cpp:259
+#: src/net/tmwa/charserverhandler.cpp:266
msgid "Strength:"
msgstr "力é‡:"
-#: src/net/tmwa/charserverhandler.cpp:260
+#: src/net/tmwa/charserverhandler.cpp:267
msgid "Agility:"
msgstr "æ•æ·:"
-#: src/net/tmwa/charserverhandler.cpp:261
+#: src/net/tmwa/charserverhandler.cpp:268
msgid "Vitality:"
msgstr "體力:"
-#: src/net/tmwa/charserverhandler.cpp:262
+#: src/net/tmwa/charserverhandler.cpp:269
msgid "Intelligence:"
msgstr "智力:"
-#: src/net/tmwa/charserverhandler.cpp:263
+#: src/net/tmwa/charserverhandler.cpp:270
msgid "Dexterity:"
msgstr "閃躲:"
-#: src/net/tmwa/charserverhandler.cpp:264
+#: src/net/tmwa/charserverhandler.cpp:271
msgid "Luck:"
msgstr "幸é‹:"
-#: src/net/tmwa/chathandler.cpp:80
-msgid "Whisper could not be sent, user is offline."
+#: src/net/tmwa/chathandler.cpp:87
+#, fuzzy, c-format
+msgid "Whisper could not be sent, %s is offline."
msgstr "該玩家已離線,無法é€å‡ºå¯†èªž."
-#: src/net/tmwa/chathandler.cpp:84
-msgid "Whisper could not be sent, ignored by user."
+#: src/net/tmwa/chathandler.cpp:96
+#, fuzzy, c-format
+msgid "Whisper could not be sent, ignored by %s."
msgstr "該玩家拒絕你的密語"
-#: src/net/tmwa/chathandler.cpp:190
+#: src/net/tmwa/chathandler.cpp:230
#, fuzzy
msgid "MVP player."
msgstr "玩家"
-#: src/net/tmwa/chathandler.cpp:223 src/net/tmwa/chathandler.cpp:229
-#: src/net/tmwa/chathandler.cpp:234 src/net/tmwa/chathandler.cpp:239
-#: src/net/tmwa/chathandler.cpp:244 src/net/tmwa/chathandler.cpp:249
-#: src/net/tmwa/chathandler.cpp:254 src/net/tmwa/chathandler.cpp:259
+#: src/net/tmwa/chathandler.cpp:265 src/net/tmwa/chathandler.cpp:271
+#: src/net/tmwa/chathandler.cpp:276 src/net/tmwa/chathandler.cpp:281
+#: src/net/tmwa/chathandler.cpp:286 src/net/tmwa/chathandler.cpp:291
+#: src/net/tmwa/chathandler.cpp:296 src/net/tmwa/chathandler.cpp:301
msgid "Channels are not supported!"
msgstr "é »é“ä¸æ”¯æ´ï¼"
-#: src/net/tmwa/gamehandler.cpp:87
+#: src/net/tmwa/gamehandler.cpp:88
#, c-format
msgid "Online users: %d"
msgstr ""
@@ -3085,80 +2919,125 @@ msgstr "åå­—"
msgid "Request to quit denied!"
msgstr "è¦æ±‚交易"
+#: src/net/tmwa/generalhandler.cpp:102
+#, c-format
+msgid "Strength %+d"
+msgstr "åŠ›é‡ %+d"
+
+#: src/net/tmwa/generalhandler.cpp:103
+#, c-format
+msgid "Agility %+d"
+msgstr "æ•æ· %+d"
+
+#: src/net/tmwa/generalhandler.cpp:104
+#, c-format
+msgid "Vitality %+d"
+msgstr "體力 %+d"
+
+#: src/net/tmwa/generalhandler.cpp:105
+#, c-format
+msgid "Intelligence %+d"
+msgstr "智力 %+d"
+
#: src/net/tmwa/generalhandler.cpp:106
#, c-format
+msgid "Dexterity %+d"
+msgstr "閃躲 %+d"
+
+#: src/net/tmwa/generalhandler.cpp:107
+#, c-format
msgid "Luck %+d"
msgstr "å¹¸é‹ %+d"
-#: src/net/tmwa/generalhandler.cpp:129
+#: src/net/tmwa/generalhandler.cpp:132
#, fuzzy
msgid "Authentication failed."
msgstr "驗證失敗"
-#: src/net/tmwa/generalhandler.cpp:132
+#: src/net/tmwa/generalhandler.cpp:135
#, fuzzy
msgid "No servers available."
msgstr "沒有å¯ç”¨çš„伺æœå™¨"
-#: src/net/tmwa/generalhandler.cpp:136
+#: src/net/tmwa/generalhandler.cpp:139
#, fuzzy
msgid "Someone else is trying to use this account."
msgstr "此帳號正在使用中"
-#: src/net/tmwa/generalhandler.cpp:139
+#: src/net/tmwa/generalhandler.cpp:142
#, fuzzy
msgid "This account is already logged in."
msgstr "這個帳號已經登入"
-#: src/net/tmwa/generalhandler.cpp:142
+#: src/net/tmwa/generalhandler.cpp:145
#, fuzzy
msgid "Speed hack detected."
msgstr "使用加速器"
-#: src/net/tmwa/generalhandler.cpp:145
+#: src/net/tmwa/generalhandler.cpp:148
#, fuzzy
msgid "Duplicated login."
msgstr "é‡è¤‡ç™»å…¥"
-#: src/net/tmwa/generalhandler.cpp:148
+#: src/net/tmwa/generalhandler.cpp:151
#, fuzzy
msgid "Unknown connection error."
msgstr "ä¸æ˜Žçš„連線錯誤"
-#: src/net/tmwa/generalhandler.cpp:206
+#: src/net/tmwa/generalhandler.cpp:209
msgid "Got disconnected from server!"
msgstr "和伺æœå™¨å¤±åŽ»é€£ç·š"
-#: src/net/tmwa/generalhandler.cpp:222
+#: src/net/tmwa/generalhandler.cpp:230
+msgid "Strength"
+msgstr "力é‡"
+
+#: src/net/tmwa/generalhandler.cpp:231
+msgid "Agility"
+msgstr "æ•æ·"
+
+#: src/net/tmwa/generalhandler.cpp:232
+msgid "Vitality"
+msgstr "體力"
+
+#: src/net/tmwa/generalhandler.cpp:233
+msgid "Intelligence"
+msgstr "智力"
+
+#: src/net/tmwa/generalhandler.cpp:234
+msgid "Dexterity"
+msgstr "閃躲"
+
+#: src/net/tmwa/generalhandler.cpp:235
msgid "Luck"
msgstr "幸é‹"
-#: src/net/tmwa/generalhandler.cpp:225
+#: src/net/tmwa/generalhandler.cpp:238
#, fuzzy
msgid "Defense"
msgstr "防禦:"
-#: src/net/tmwa/generalhandler.cpp:226
+#: src/net/tmwa/generalhandler.cpp:239
#, fuzzy
msgid "M.Attack"
msgstr "摩攻:"
-#: src/net/tmwa/generalhandler.cpp:227
+#: src/net/tmwa/generalhandler.cpp:240
#, fuzzy
msgid "M.Defense"
msgstr "魔防:"
-#: src/net/tmwa/generalhandler.cpp:228
+#: src/net/tmwa/generalhandler.cpp:241
#, fuzzy, c-format
msgid "% Accuracy"
msgstr "% Ac準確度:"
-#: src/net/tmwa/generalhandler.cpp:229
+#: src/net/tmwa/generalhandler.cpp:242
#, fuzzy, c-format
msgid "% Evade"
msgstr "% Eè¿´é¿çŽ‡ï¼š"
-#: src/net/tmwa/generalhandler.cpp:230
+#: src/net/tmwa/generalhandler.cpp:243
#, fuzzy, c-format
msgid "% Critical"
msgstr "致命一擊"
@@ -3209,29 +3088,29 @@ msgstr "這個指令會使玩家離開隊ä¼ã€‚"
msgid "Guild name is missing."
msgstr "æ¼æŽ‰éšŠä¼å稱。"
-#: src/net/tmwa/guildhandler.cpp:295
+#: src/net/tmwa/guildhandler.cpp:296
msgid "Could not inivte user to guild."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:300
+#: src/net/tmwa/guildhandler.cpp:301
msgid "User rejected guild invite."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:305
+#: src/net/tmwa/guildhandler.cpp:306
#, fuzzy
msgid "User is now part of your guild."
msgstr "%s ç¾åœ¨å·²ç¶“是您隊ä¼çš„æˆå“¡ã€‚"
-#: src/net/tmwa/guildhandler.cpp:310
+#: src/net/tmwa/guildhandler.cpp:311
msgid "Your guild is full."
msgstr ""
-#: src/net/tmwa/guildhandler.cpp:315
+#: src/net/tmwa/guildhandler.cpp:316
#, fuzzy
msgid "Unknown guild invite response."
msgstr "給 %s çš„ä¸æ˜Žé‚€è«‹å›žæ‡‰ã€‚"
-#: src/net/tmwa/guildhandler.cpp:392
+#: src/net/tmwa/guildhandler.cpp:393
msgid "Guild creation isn't supported yet."
msgstr ""
@@ -3311,15 +3190,15 @@ msgstr "指令: /exp"
msgid "This command displays the party's current experience sharing policy."
msgstr "這個指令會顯示此隊ä¼ç›®å‰çš„經驗值分享政策。"
-#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:201
+#: src/net/tmwa/gui/partytab.cpp:132 src/net/tmwa/partyhandler.cpp:196
msgid "Item sharing enabled."
msgstr "物å“分享已啟用。"
-#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:207
+#: src/net/tmwa/gui/partytab.cpp:135 src/net/tmwa/partyhandler.cpp:202
msgid "Item sharing disabled."
msgstr "物å“分享已åœç”¨ã€‚"
-#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:213
+#: src/net/tmwa/gui/partytab.cpp:138 src/net/tmwa/partyhandler.cpp:208
msgid "Item sharing not possible."
msgstr "物å“分享ä¸å¯èƒ½ã€‚"
@@ -3328,15 +3207,15 @@ msgstr "物å“分享ä¸å¯èƒ½ã€‚"
msgid "Item sharing unknown."
msgstr "物å“分享已啟用。"
-#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:177
+#: src/net/tmwa/gui/partytab.cpp:167 src/net/tmwa/partyhandler.cpp:172
msgid "Experience sharing enabled."
msgstr "經驗值分享已啟用。"
-#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:183
+#: src/net/tmwa/gui/partytab.cpp:170 src/net/tmwa/partyhandler.cpp:178
msgid "Experience sharing disabled."
msgstr "經驗值分享已åœç”¨ã€‚"
-#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:189
+#: src/net/tmwa/gui/partytab.cpp:173 src/net/tmwa/partyhandler.cpp:184
msgid "Experience sharing not possible."
msgstr "經驗值分享ä¸å¯èƒ½ã€‚"
@@ -3345,15 +3224,15 @@ msgstr "經驗值分享ä¸å¯èƒ½ã€‚"
msgid "Experience sharing unknown."
msgstr "經驗值分享已啟用。"
-#: src/net/tmwa/inventoryhandler.cpp:289
+#: src/net/tmwa/inventoryhandler.cpp:285
msgid "Failed to use item."
msgstr "ä¸èƒ½ä½¿ç”¨è©²ç‰©å“."
-#: src/net/tmwa/inventoryhandler.cpp:406
+#: src/net/tmwa/inventoryhandler.cpp:399
msgid "Unable to equip."
msgstr "無法è£å‚™ã€‚"
-#: src/net/tmwa/inventoryhandler.cpp:417
+#: src/net/tmwa/inventoryhandler.cpp:410
msgid "Unable to unequip."
msgstr "無法å¸ä¸‹è£å‚™ã€‚"
@@ -3420,7 +3299,7 @@ msgstr "ä¸èƒ½å‡ºå”®."
msgid "Connection to server terminated. "
msgstr "正在連接到地圖伺æœå™¨..."
-#: src/net/tmwa/partyhandler.cpp:81
+#: src/net/tmwa/partyhandler.cpp:82
msgid "Could not create party."
msgstr "無法建立隊ä¼ã€‚"
@@ -3428,242 +3307,237 @@ msgstr "無法建立隊ä¼ã€‚"
msgid "Party successfully created."
msgstr "隊ä¼å·²æˆåŠŸçš„建立。"
-#: src/net/tmwa/partyhandler.cpp:121
+#: src/net/tmwa/partyhandler.cpp:119
#, c-format
msgid "%s is already a member of a party."
msgstr "%s 已經是隊ä¼çš„一員。"
-#: src/net/tmwa/partyhandler.cpp:125
+#: src/net/tmwa/partyhandler.cpp:123
#, c-format
msgid "%s refused your invitation."
msgstr "%s 拒絕您的邀請。"
-#: src/net/tmwa/partyhandler.cpp:129
+#: src/net/tmwa/partyhandler.cpp:127
#, c-format
msgid "%s is now a member of your party."
msgstr "%s ç¾åœ¨å·²ç¶“是您隊ä¼çš„æˆå“¡ã€‚"
-#: src/net/tmwa/partyhandler.cpp:133
+#: src/net/tmwa/partyhandler.cpp:131
#, c-format
msgid "Unknown invite response for %s."
msgstr "給 %s çš„ä¸æ˜Žé‚€è«‹å›žæ‡‰ã€‚"
-#: src/net/tmwa/partyhandler.cpp:241
+#: src/net/tmwa/partyhandler.cpp:236
msgid "You have left the party."
msgstr "您已經離開此隊ä¼ã€‚"
-#: src/net/tmwa/partyhandler.cpp:252
+#: src/net/tmwa/partyhandler.cpp:246
#, c-format
msgid "%s has left your party."
msgstr "%s 已經離開您的隊ä¼ã€‚"
-#: src/net/tmwa/partyhandler.cpp:304
+#: src/net/tmwa/partyhandler.cpp:299
#, c-format
msgid "An unknown member tried to say: %s"
msgstr "ä¸æ˜Žçš„æˆå“¡è©¦è‘—è¦èªªï¼š%s"
#: src/net/tmwa/partyhandler.cpp:335
-#, fuzzy, c-format
-msgid "Invited user %s to party."
-msgstr "/party > 邀請使用者組隊"
-
-#: src/net/tmwa/partyhandler.cpp:340
#, c-format
msgid "Inviting failed, because you can't see a player called %s."
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:345
+#: src/net/tmwa/partyhandler.cpp:340
msgid "You can only inivte when you are in a party!"
msgstr ""
-#: src/net/tmwa/partyhandler.cpp:374
+#: src/net/tmwa/partyhandler.cpp:368
#, c-format
msgid "%s is not in your party!"
msgstr "%s ä¸åœ¨æ‚¨çš„隊ä¼ä¸­ï¼"
-#: src/net/tmwa/playerhandler.cpp:109
+#: src/net/tmwa/playerhandler.cpp:100
msgid "Insert coin to continue."
msgstr "請投入金幣"
-#: src/net/tmwa/playerhandler.cpp:127
+#: src/net/tmwa/playerhandler.cpp:118
msgid "You're not dead yet. You're just resting."
msgstr "您還沒有死。您ç¾åœ¨åªæ˜¯åœ¨ä¼‘æ¯ã€‚"
-#: src/net/tmwa/playerhandler.cpp:128
+#: src/net/tmwa/playerhandler.cpp:119
msgid "You are no more."
msgstr "你已經沒有更多"
-#: src/net/tmwa/playerhandler.cpp:129
+#: src/net/tmwa/playerhandler.cpp:120
msgid "You have ceased to be."
msgstr "ä½ å·²ä¸å†æ˜¯."
-#: src/net/tmwa/playerhandler.cpp:130
+#: src/net/tmwa/playerhandler.cpp:121
msgid "You've expired and gone to meet your maker."
msgstr "你已經éŽæœŸäº†,請求助管ç†å“¡"
-#: src/net/tmwa/playerhandler.cpp:131
+#: src/net/tmwa/playerhandler.cpp:122
msgid "You're a stiff."
msgstr "身體僵硬"
-#: src/net/tmwa/playerhandler.cpp:132
+#: src/net/tmwa/playerhandler.cpp:123
msgid "Bereft of life, you rest in peace."
msgstr "失去了生命,您安詳的休æ¯äº†ã€‚"
-#: src/net/tmwa/playerhandler.cpp:133
+#: src/net/tmwa/playerhandler.cpp:124
msgid "If you weren't so animated, you'd be pushing up the daisies."
msgstr "如果你沒有這樣åš,ä½ å°±ä¸æœƒä¸Šå¤©å ‚了!!"
-#: src/net/tmwa/playerhandler.cpp:134
+#: src/net/tmwa/playerhandler.cpp:125
msgid "Your metabolic processes are now history."
msgstr "你的傳奇已經是éŽåŽ»å¼äº†!!"
-#: src/net/tmwa/playerhandler.cpp:135
+#: src/net/tmwa/playerhandler.cpp:126
msgid "You're off the twig."
msgstr "你折斷了樹æž"
-#: src/net/tmwa/playerhandler.cpp:136
+#: src/net/tmwa/playerhandler.cpp:127
msgid "You've kicked the bucket."
msgstr "你踢了水桶"
-#: src/net/tmwa/playerhandler.cpp:137
+#: src/net/tmwa/playerhandler.cpp:128
msgid ""
"You've shuffled off your mortal coil, run down the curtain and joined the "
"bleedin' choir invisibile."
msgstr "死掉了...."
-#: src/net/tmwa/playerhandler.cpp:139
+#: src/net/tmwa/playerhandler.cpp:130
msgid "You are an ex-player."
msgstr "您已是å‰-玩家。"
-#: src/net/tmwa/playerhandler.cpp:140
+#: src/net/tmwa/playerhandler.cpp:131
msgid "You're pining for the fjords."
msgstr "你正走å‘地ç„!!"
-#: src/net/tmwa/playerhandler.cpp:256 src/net/tmwa/playerhandler.cpp:317
+#: src/net/tmwa/playerhandler.cpp:246 src/net/tmwa/playerhandler.cpp:285
msgid "Message"
msgstr "訊æ¯"
-#: src/net/tmwa/playerhandler.cpp:257
+#: src/net/tmwa/playerhandler.cpp:247
msgid ""
"You are carrying more than half your weight. You are unable to regain health."
msgstr "您已經攜帶超éŽè² é‡èƒ½åŠ›çš„一åŠã€‚您將無法æ¢å¾©ç”Ÿå‘½ã€‚"
-#: src/net/tmwa/playerhandler.cpp:344
+#: src/net/tmwa/playerhandler.cpp:313
#, fuzzy, c-format
msgid "You picked up %s."
msgstr "您已經撿起 "
-#: src/net/tmwa/playerhandler.cpp:380
+#: src/net/tmwa/playerhandler.cpp:348
msgid "Cannot raise skill!"
msgstr ""
-#: src/net/tmwa/playerhandler.cpp:543
+#: src/net/tmwa/playerhandler.cpp:488
msgid "Equip arrows first."
msgstr "å…ˆè£å‚™ç®­."
-#: src/net/tmwa/specialhandler.cpp:147
+#: src/net/tmwa/specialhandler.cpp:144
msgid "Trade failed!"
msgstr "交易失敗ï¼"
-#: src/net/tmwa/specialhandler.cpp:150
+#: src/net/tmwa/specialhandler.cpp:147
msgid "Emote failed!"
msgstr "顯示表情失敗ï¼"
-#: src/net/tmwa/specialhandler.cpp:153
+#: src/net/tmwa/specialhandler.cpp:150
msgid "Sit failed!"
msgstr "å下休æ¯å¤±æ•—ï¼"
-#: src/net/tmwa/specialhandler.cpp:156
+#: src/net/tmwa/specialhandler.cpp:153
msgid "Chat creating failed!"
msgstr "èŠå¤©æ–°å¢žå¤±æ•—ï¼"
-#: src/net/tmwa/specialhandler.cpp:159
+#: src/net/tmwa/specialhandler.cpp:156
msgid "Could not join party!"
msgstr "ä¸èƒ½åŠ å…¥éšŠä¼ï¼"
-#: src/net/tmwa/specialhandler.cpp:162
+#: src/net/tmwa/specialhandler.cpp:159
msgid "Cannot shout!"
msgstr "無法大å«ï¼"
-#: src/net/tmwa/specialhandler.cpp:171
+#: src/net/tmwa/specialhandler.cpp:168
msgid "You have not yet reached a high enough lvl!"
msgstr "ä½ é‚„æ²’é”到足夠等級ï¼"
-#: src/net/tmwa/specialhandler.cpp:174
+#: src/net/tmwa/specialhandler.cpp:171
msgid "Insufficient HP!"
msgstr "HPä¸å¤ ï¼"
-#: src/net/tmwa/specialhandler.cpp:177
+#: src/net/tmwa/specialhandler.cpp:174
msgid "Insufficient SP!"
msgstr "SPä¸å¤ ï¼"
-#: src/net/tmwa/specialhandler.cpp:180
+#: src/net/tmwa/specialhandler.cpp:177
msgid "You have no memos!"
msgstr "沒有備忘錄"
-#: src/net/tmwa/specialhandler.cpp:183
+#: src/net/tmwa/specialhandler.cpp:180
msgid "You cannot do that right now!"
msgstr "您ç¾åœ¨ä¸èƒ½é‚£éº¼åšï¼"
-#: src/net/tmwa/specialhandler.cpp:186
+#: src/net/tmwa/specialhandler.cpp:183
msgid "Seems you need more money... ;-)"
msgstr "看來您需è¦æ›´å¤šéŒ¢... ;-)"
-#: src/net/tmwa/specialhandler.cpp:189
+#: src/net/tmwa/specialhandler.cpp:186
msgid "You cannot use this skill with that kind of weapon!"
msgstr "此武器無法使用此技能ï¼"
-#: src/net/tmwa/specialhandler.cpp:192
+#: src/net/tmwa/specialhandler.cpp:189
msgid "You need another red gem!"
msgstr "你需è¦å†ä¸€é¡†ç´…寶石!"
-#: src/net/tmwa/specialhandler.cpp:195
+#: src/net/tmwa/specialhandler.cpp:192
msgid "You need another blue gem!"
msgstr "你需è¦å†ä¸€æ£µè—寶石!"
-#: src/net/tmwa/specialhandler.cpp:198
+#: src/net/tmwa/specialhandler.cpp:195
msgid "You're carrying to much to do this!"
msgstr "你已負é‡å¤ªå¤šï¼Œä¸èƒ½å†å¤š!"
-#: src/net/tmwa/specialhandler.cpp:201
+#: src/net/tmwa/specialhandler.cpp:198
msgid "Huh? What's that?"
msgstr "阿?那是甚麼?"
-#: src/net/tmwa/specialhandler.cpp:210
+#: src/net/tmwa/specialhandler.cpp:207
msgid "Warp failed..."
msgstr "傳é€å¤±æ•—..."
-#: src/net/tmwa/specialhandler.cpp:213
+#: src/net/tmwa/specialhandler.cpp:210
msgid "Could not steal anything..."
msgstr "無法å·å–任何物å“..."
-#: src/net/tmwa/specialhandler.cpp:216
+#: src/net/tmwa/specialhandler.cpp:213
msgid "Poison had no effect..."
msgstr "藥水無效..."
-#: src/net/tmwa/tradehandler.cpp:124
+#: src/net/tmwa/tradehandler.cpp:126
msgid "Trading isn't possible. Trade partner is too far away."
msgstr "交易無法進行。交易å°è±¡å¤ªé äº†ã€‚"
-#: src/net/tmwa/tradehandler.cpp:128
+#: src/net/tmwa/tradehandler.cpp:130
msgid "Trading isn't possible. Character doesn't exist."
msgstr "無法進行交易。該角色ä¸å­˜åœ¨ã€‚"
-#: src/net/tmwa/tradehandler.cpp:132
+#: src/net/tmwa/tradehandler.cpp:134
msgid "Trade cancelled due to an unknown reason."
msgstr "由於ä¸æ˜Žçš„原因已å–消交易。"
-#: src/net/tmwa/tradehandler.cpp:137
+#: src/net/tmwa/tradehandler.cpp:139
#, c-format
msgid "Trade: You and %s"
msgstr "交易: 你和 %s"
-#: src/net/tmwa/tradehandler.cpp:144
+#: src/net/tmwa/tradehandler.cpp:146
#, c-format
msgid "Trade with %s cancelled."
msgstr "å–消和 %s 的交易."
-#: src/net/tmwa/tradehandler.cpp:153
+#: src/net/tmwa/tradehandler.cpp:154
msgid "Unhandled trade cancel packet."
msgstr ""
@@ -3679,53 +3553,44 @@ msgstr "加入物å“失敗。交易å°è±¡æ²’有空的欄ä½ã€‚"
msgid "Failed adding item for unknown reason."
msgstr "由於ä¸æ˜Žçš„原因加入物å“失敗。"
-#: src/playerrelations.cpp:312
+#: src/playerrelations.cpp:310
#, fuzzy
msgid "Completely ignore"
msgstr "@@ignore|完全忽視 %s@@"
-#: src/playerrelations.cpp:326
+#: src/playerrelations.cpp:324
msgid "Print '...'"
msgstr ""
-#: src/playerrelations.cpp:342
+#: src/playerrelations.cpp:340
msgid "Blink name"
msgstr ""
-#: src/playerrelations.cpp:379
-msgid "Floating '...' bubble"
-msgstr ""
-
-#: src/playerrelations.cpp:382
-msgid "Floating bubble"
-msgstr ""
-
-#: src/resources/itemdb.cpp:53
+#: src/resources/itemdb.cpp:44
#, c-format
msgid "Attack %+d"
msgstr "攻擊 %+d"
-#: src/resources/itemdb.cpp:54
+#: src/resources/itemdb.cpp:45
#, c-format
msgid "Defense %+d"
msgstr "防禦 %+d"
-#: src/resources/itemdb.cpp:55
+#: src/resources/itemdb.cpp:46
#, c-format
msgid "HP %+d"
msgstr "體力%+d"
-#: src/resources/itemdb.cpp:56
+#: src/resources/itemdb.cpp:47
#, c-format
msgid "MP %+d"
msgstr "魔力%+d"
-#: src/resources/itemdb.cpp:117
+#: src/resources/itemdb.cpp:92
msgid "Unknown item"
msgstr "ä¸æ˜Žçš„物å“"
-#: src/resources/itemdb.cpp:162 src/resources/monsterdb.cpp:74
-#: src/resources/monsterinfo.cpp:29
+#: src/resources/itemdb.cpp:135 src/resources/monsterdb.cpp:77
msgid "unnamed"
msgstr "未知物å“"
@@ -3776,6 +3641,24 @@ msgstr "未知物å“"
#~ msgid "Hyperlink"
#~ msgstr "超連çµ"
+#~ msgid "Being"
+#~ msgstr "物件"
+
+#~ msgid "Other Players' Names"
+#~ msgstr "其他使用者åå­—"
+
+#~ msgid "Own Name"
+#~ msgstr "我的åå­—"
+
+#~ msgid "GM Names"
+#~ msgstr "éŠæˆ²ç®¡ç†è€…åå­—"
+
+#~ msgid "NPCs"
+#~ msgstr "電腦"
+
+#~ msgid "Monsters"
+#~ msgstr "怪物"
+
#~ msgid "Unknown Item Type"
#~ msgstr "ä¸æ˜Žç‰©å“é¡žåž‹"
@@ -3820,6 +3703,29 @@ msgstr "未知物å“"
#~ msgid "Ammo"
#~ msgstr "ç®­"
+#~ msgid "Particle Effects"
+#~ msgstr "ç²’å­æ•ˆæžœ"
+
+#~ msgid "Pickup Notification"
+#~ msgstr "撿拾通知"
+
+#~ msgid "Exp Notification"
+#~ msgstr "經驗值通知"
+
+#, fuzzy
+#~ msgid "Player Hits Monster"
+#~ msgstr "玩家攻擊怪物"
+
+#, fuzzy
+#~ msgid "Monster Hits Player"
+#~ msgstr "怪物攻擊玩家"
+
+#~ msgid "Critical Hit"
+#~ msgstr "致命一擊"
+
+#~ msgid "Misses"
+#~ msgstr "失誤"
+
#~ msgid "HP Bar"
#~ msgstr "è¡€é‡"
@@ -3833,6 +3739,30 @@ msgstr "未知物å“"
#~ msgstr "1/4 è¡€é‡"
#, fuzzy
+#~ msgid "HP"
+#~ msgstr "體力 :"
+
+#, fuzzy
+#~ msgid "MP"
+#~ msgstr "魔力:"
+
+#, fuzzy
+#~ msgid "Exp"
+#~ msgstr "經驗值:"
+
+#, fuzzy
+#~ msgid "Money"
+#~ msgstr "金錢:%d"
+
+#, fuzzy
+#~ msgid "Job"
+#~ msgstr "è·æ¥­:"
+
+#, fuzzy
+#~ msgid "Level"
+#~ msgstr "等級:%d"
+
+#, fuzzy
#~ msgid "Access denied."
#~ msgstr "å­˜å–被拒"
@@ -3846,6 +3776,13 @@ msgstr "未知物å“"
#~ msgid "Willpower:"
#~ msgstr "æ„志力:"
+#~ msgid "Willpower %+d"
+#~ msgstr "æ„志力 %+d"
+
+#, fuzzy
+#~ msgid "Willpower"
+#~ msgstr "æ„志力:"
+
#, fuzzy
#~ msgid "Server is full."
#~ msgstr "伺æœå™¨äººæ•¸å·²æ»¿"
@@ -4108,6 +4045,9 @@ msgstr "未知物å“"
#~ msgid "Command: /whisper <nick> <msg>"
#~ msgstr "指令: /whisper <暱稱> <ä¿¡æ¯>"
+#~ msgid "Command: /w <nick> <msg>"
+#~ msgstr "指令: /w <暱稱> <ä¿¡æ¯>"
+
#~ msgid "This command sends the message <msg> to <nick>."
#~ msgstr "這個指令發é€è¨Šæ¯ <msg> 給 <nick>"
@@ -4120,6 +4060,9 @@ msgstr "未知物å“"
#~ msgid "@@pickup|Pick Up %s@@"
#~ msgstr "@@æ’¿èµ·|æ’¿èµ·%s@@"
+#~ msgid "Save player list"
+#~ msgstr "ä¿å­˜çŽ©å®¶åˆ—表"
+
#~ msgid "Scroll radius"
#~ msgstr "æ²å‹•åŠå¾‘"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 35af94fb..f0c988dd 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -308,8 +308,6 @@ SET(SRCS
gui/textdialog.h
gui/textpopup.cpp
gui/textpopup.h
- gui/theme.cpp
- gui/theme.h
gui/trade.cpp
gui/trade.h
gui/truetypefont.cpp
@@ -318,8 +316,6 @@ SET(SRCS
gui/unregisterdialog.h
gui/updatewindow.cpp
gui/updatewindow.h
- gui/userpalette.cpp
- gui/userpalette.h
gui/viewport.cpp
gui/viewport.h
gui/windowmenu.cpp
@@ -358,6 +354,8 @@ SET(SRCS
resources/ambientlayer.h
resources/animation.cpp
resources/animation.h
+ resources/beinginfo.cpp
+ resources/beinginfo.h
resources/colordb.cpp
resources/colordb.h
resources/dye.cpp
@@ -380,8 +378,6 @@ SET(SRCS
resources/mapreader.h
resources/monsterdb.cpp
resources/monsterdb.h
- resources/monsterinfo.cpp
- resources/monsterinfo.h
resources/music.cpp
resources/music.h
resources/npcdb.cpp
@@ -392,8 +388,14 @@ SET(SRCS
resources/resourcemanager.h
resources/soundeffect.h
resources/soundeffect.cpp
+ resources/specialdb.cpp
+ resources/specialdb.h
resources/spritedef.h
resources/spritedef.cpp
+ resources/theme.cpp
+ resources/theme.h
+ resources/userpalette.cpp
+ resources/userpalette.h
resources/wallpaper.cpp
resources/wallpaper.h
utils/base64.cpp
@@ -414,6 +416,12 @@ SET(SRCS
utils/xml.h
utils/zlib.cpp
utils/zlib.h
+ actor.cpp
+ actor.h
+ actorsprite.cpp
+ actorsprite.h
+ actorspritemanager.cpp
+ actorspritemanager.h
animatedsprite.cpp
animatedsprite.h
animationparticle.cpp
@@ -422,8 +430,8 @@ SET(SRCS
avatar.h
being.cpp
being.h
- beingmanager.cpp
- beingmanager.h
+ chatlog.cpp
+ chatlog.h
client.cpp
client.h
channel.cpp
@@ -432,18 +440,21 @@ SET(SRCS
channelmanager.h
commandhandler.cpp
commandhandler.h
- configlistener.h
+ compoundsprite.cpp
+ compoundsprite.h
configuration.cpp
configuration.h
+ defaults.cpp
+ defaults.h
effectmanager.cpp
effectmanager.h
emoteshortcut.cpp
emoteshortcut.h
equipment.h
+ event.cpp
+ event.h
flooritem.cpp
flooritem.h
- flooritemmanager.cpp
- flooritemmanager.h
game.cpp
game.h
graphics.cpp
@@ -453,6 +464,8 @@ SET(SRCS
guild.h
imageparticle.cpp
imageparticle.h
+ imagesprite.cpp
+ imagesprite.h
inventory.cpp
inventory.h
item.cpp
@@ -463,6 +476,8 @@ SET(SRCS
joystick.h
keyboardconfig.cpp
keyboardconfig.h
+ listener.cpp
+ listener.h
localplayer.cpp
localplayer.h
log.cpp
@@ -471,10 +486,6 @@ SET(SRCS
main.h
map.cpp
map.h
- monster.cpp
- monster.h
- npc.cpp
- npc.h
openglgraphics.cpp
openglgraphics.h
particle.cpp
@@ -486,8 +497,8 @@ SET(SRCS
particleemitterprop.h
party.cpp
party.h
- player.cpp
- player.h
+ playerinfo.cpp
+ playerinfo.h
playerrelations.cpp
playerrelations.h
position.cpp
@@ -514,6 +525,7 @@ SET(SRCS
tileset.h
units.cpp
units.h
+ variabledata.h
vector.cpp
vector.h
)
@@ -570,6 +582,8 @@ SET(SRCS_TMWA
SET(SRCS_MANA
net/manaserv/adminhandler.cpp
net/manaserv/adminhandler.h
+ net/manaserv/attributes.cpp
+ net/manaserv/attributes.h
net/manaserv/beinghandler.cpp
net/manaserv/beinghandler.h
net/manaserv/buysellhandler.cpp
@@ -580,6 +594,7 @@ SET(SRCS_MANA
net/manaserv/chathandler.h
net/manaserv/connection.cpp
net/manaserv/connection.h
+ net/manaserv/defines.h
net/manaserv/effecthandler.cpp
net/manaserv/effecthandler.h
net/manaserv/gamehandler.cpp
@@ -610,11 +625,9 @@ SET(SRCS_MANA
net/manaserv/partyhandler.h
net/manaserv/playerhandler.cpp
net/manaserv/playerhandler.h
- net/manaserv/protocol.h
+ net/manaserv/manaserv_protocol.h
net/manaserv/specialhandler.cpp
net/manaserv/specialhandler.h
- net/manaserv/stats.cpp
- net/manaserv/stats.h
net/manaserv/tradehandler.cpp
net/manaserv/tradehandler.h
)
diff --git a/src/actor.cpp b/src/actor.cpp
new file mode 100644
index 00000000..5ab7ab51
--- /dev/null
+++ b/src/actor.cpp
@@ -0,0 +1,57 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "actor.h"
+
+#include "map.h"
+
+#include "resources/image.h"
+
+Actor::Actor():
+ mMap(NULL)
+{}
+
+Actor::~Actor()
+{
+ setMap(NULL);
+}
+
+void Actor::setMap(Map *map)
+{
+ // Remove Actor from potential previous map
+ if (mMap)
+ mMap->removeActor(mMapActor);
+
+ mMap = map;
+
+ // Add Actor to potential new map
+ if (mMap)
+ mMapActor = mMap->addActor(this);
+}
+
+int Actor::getTileX() const
+{
+ return getPixelX() / mMap->getTileWidth();
+}
+
+int Actor::getTileY() const
+{
+ return getPixelY() / mMap->getTileHeight();
+}
diff --git a/src/actor.h b/src/actor.h
new file mode 100644
index 00000000..367bcd75
--- /dev/null
+++ b/src/actor.h
@@ -0,0 +1,128 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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 ACTOR_H
+#define ACTOR_H
+
+#include "vector.h"
+
+#include <list>
+
+class Actor;
+class Graphics;
+class Image;
+class Map;
+
+typedef std::list<Actor*> Actors;
+
+class Actor
+{
+public:
+ Actor();
+
+ virtual ~Actor();
+
+ /**
+ * Draws the Actor to the given graphics context.
+ *
+ * Note: this function could be simplified if the graphics context
+ * would support setting a translation offset. It already does this
+ * partly with the clipping rectangle support.
+ */
+ virtual bool draw(Graphics *graphics, int offsetX, int offsetY) const = 0;
+
+ /**
+ * Returns the horizontal size of the actors graphical representation
+ * in pixels or 0 when it is undefined.
+ */
+ virtual int getWidth() const
+ { return 0; }
+
+ /**
+ * Returns the vertical size of the actors graphical representation
+ * in pixels or 0 when it is undefined.
+ */
+ virtual int getHeight() const
+ { return 0; }
+
+ /**
+ * Returns the pixel position of this actor.
+ */
+ const Vector &getPosition() const
+ { return mPos; }
+
+ /**
+ * Sets the pixel position of this actor.
+ */
+ virtual void setPosition(const Vector &pos)
+ { mPos = pos; }
+
+ /**
+ * Returns the pixels X coordinate of the actor.
+ */
+ int getPixelX() const
+ { return (int) mPos.x; }
+
+ /**
+ * Returns the pixel Y coordinate of the actor.
+ */
+ virtual int getPixelY() const
+ { return (int) mPos.y; }
+
+ /**
+ * Returns the x coordinate in tiles of the actor.
+ */
+ virtual int getTileX() const;
+
+ /**
+ * Returns the y coordinate in tiles of the actor.
+ */
+ virtual int getTileY() const;
+
+ /**
+ * Returns the number of Image layers used to draw the actor.
+ */
+ virtual int getNumberOfLayers() const
+ { return 0; }
+
+ /**
+ * Returns the current alpha value used to draw the actor.
+ */
+ virtual float getAlpha() const = 0;
+
+ /**
+ * Sets the alpha value used to draw the actor.
+ */
+ virtual void setAlpha(float alpha) = 0;
+
+ void setMap(Map *map);
+
+ Map* getMap() const
+ { return mMap; }
+
+protected:
+ Map *mMap;
+ Vector mPos; /**< Position in pixels relative to map. */
+
+private:
+ Actors::iterator mMapActor;
+};
+
+#endif // ACTOR_H
diff --git a/src/actorsprite.cpp b/src/actorsprite.cpp
new file mode 100644
index 00000000..e43d94e1
--- /dev/null
+++ b/src/actorsprite.cpp
@@ -0,0 +1,463 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "actorsprite.h"
+
+#include "client.h"
+#include "event.h"
+#include "imagesprite.h"
+#include "localplayer.h"
+#include "log.h"
+#include "simpleanimation.h"
+#include "sound.h"
+#include "statuseffect.h"
+
+#include "net/net.h"
+
+#include "resources/image.h"
+#include "resources/imageset.h"
+#include "resources/resourcemanager.h"
+#include "resources/theme.h"
+
+#include <cassert>
+
+#define EFFECTS_FILE "effects.xml"
+
+ImageSet *ActorSprite::targetCursorImages[2][NUM_TC];
+SimpleAnimation *ActorSprite::targetCursor[2][NUM_TC];
+bool ActorSprite::loaded = false;
+
+ActorSprite::ActorSprite(int id):
+ mId(id),
+ mStunMode(0),
+ mStatusParticleEffects(&mStunParticleEffects, false),
+ mChildParticleEffects(&mStatusParticleEffects, false),
+ mMustResetParticles(false),
+ mUsedTargetCursor(NULL)
+{}
+
+ActorSprite::~ActorSprite()
+{
+ setMap(NULL);
+
+ mUsedTargetCursor = NULL;
+
+ // Notify listeners of the destruction.
+ Mana::Event event(EVENT_DESTROYED);
+ event.setActor("source", this);
+ event.trigger(CHANNEL_ACTORSPRITE);
+}
+
+bool ActorSprite::draw(Graphics *graphics, int offsetX, int offsetY) const
+{
+ // TODO: Eventually, we probably should fix all sprite offsets so that
+ // these translations aren't necessary anymore. The sprites know
+ // best where their base point should be.
+ const int px = getPixelX() + offsetX - 16;
+ // Temporary fix to the Y offset.
+ const int py = getPixelY() + offsetY -
+ ((Net::getNetworkType() == ServerInfo::MANASERV) ? 15 : 32);
+
+ if (mUsedTargetCursor)
+ {
+ mUsedTargetCursor->reset();
+ mUsedTargetCursor->update(tick_time * MILLISECONDS_IN_A_TICK);
+ mUsedTargetCursor->draw(graphics, px, py);
+ }
+
+ return drawSpriteAt(graphics, px, py);
+}
+
+bool ActorSprite::drawSpriteAt(Graphics *graphics, int x, int y) const
+{
+ return CompoundSprite::draw(graphics, x, y);
+}
+
+void ActorSprite::logic()
+{
+ // Update sprite animations
+ update(tick_time * MILLISECONDS_IN_A_TICK);
+
+ // Restart status/particle effects, if needed
+ if (mMustResetParticles)
+ {
+ mMustResetParticles = false;
+ for (std::set<int>::iterator it = mStatusEffects.begin();
+ it != mStatusEffects.end(); it++)
+ {
+ const StatusEffect *effect = StatusEffect::getStatusEffect(*it, true);
+ if (effect && effect->particleEffectIsPersistent())
+ updateStatusEffect(*it, true);
+ }
+ }
+
+ // Update particle effects
+ mChildParticleEffects.moveTo(mPos.x, mPos.y);
+}
+
+void ActorSprite::actorLogic()
+{
+}
+
+void ActorSprite::setMap(Map* map)
+{
+ Actor::setMap(map);
+
+ // Clear particle effect list because child particles became invalid
+ mChildParticleEffects.clear();
+ mMustResetParticles = true; // Reset status particles on next redraw
+}
+
+void ActorSprite::controlParticle(Particle *particle)
+{
+ mChildParticleEffects.addLocally(particle);
+}
+
+void ActorSprite::setTargetType(TargetCursorType type)
+{
+ if (type == TCT_NONE)
+ untarget();
+ else
+ mUsedTargetCursor = targetCursor[type][getTargetCursorSize()];
+}
+
+struct EffectDescription {
+ std::string mGFXEffect;
+ std::string mSFXEffect;
+};
+
+static EffectDescription *default_effect = NULL;
+static std::map<int, EffectDescription *> effects;
+static bool effects_initialized = false;
+
+static EffectDescription *getEffectDescription(xmlNodePtr node, int *id)
+{
+ EffectDescription *ed = new EffectDescription;
+
+ *id = atoi(XML::getProperty(node, "id", "-1").c_str());
+ ed->mSFXEffect = XML::getProperty(node, "audio", "");
+ ed->mGFXEffect = XML::getProperty(node, "particle", "");
+
+ return ed;
+}
+
+static EffectDescription *getEffectDescription(int effectId)
+{
+ if (!effects_initialized)
+ {
+ XML::Document doc(EFFECTS_FILE);
+ xmlNodePtr root = doc.rootNode();
+
+ if (!root || !xmlStrEqual(root->name, BAD_CAST "being-effects"))
+ {
+ logger->log("Error loading being effects file: "
+ EFFECTS_FILE);
+ return NULL;
+ }
+
+ for_each_xml_child_node(node, root)
+ {
+ int id;
+
+ if (xmlStrEqual(node->name, BAD_CAST "effect"))
+ {
+ EffectDescription *EffectDescription =
+ getEffectDescription(node, &id);
+ effects[id] = EffectDescription;
+ }
+ else if (xmlStrEqual(node->name, BAD_CAST "default"))
+ {
+ EffectDescription *effectDescription =
+ getEffectDescription(node, &id);
+
+ if (default_effect)
+ delete default_effect;
+
+ default_effect = effectDescription;
+ }
+ }
+
+ effects_initialized = true;
+ } // done initializing
+
+ EffectDescription *ed = effects[effectId];
+
+ return ed ? ed : default_effect;
+}
+
+void ActorSprite::setStatusEffect(int index, bool active)
+{
+ const bool wasActive = mStatusEffects.find(index) != mStatusEffects.end();
+
+ if (active != wasActive)
+ {
+ updateStatusEffect(index, active);
+ if (active)
+ mStatusEffects.insert(index);
+ else
+ mStatusEffects.erase(index);
+ }
+}
+
+void ActorSprite::setStatusEffectBlock(int offset, Uint16 newEffects)
+{
+ for (int i = 0; i < STATUS_EFFECTS; i++)
+ {
+ int index = StatusEffect::blockEffectIndexToEffectIndex(offset + i);
+
+ if (index != -1)
+ setStatusEffect(index, (newEffects & (1 << i)) > 0);
+ }
+}
+
+void ActorSprite::internalTriggerEffect(int effectId, bool sfx, bool gfx)
+{
+ logger->log("Special effect #%d on %s", effectId,
+ getId() == player_node->getId() ? "self" : "other");
+
+ EffectDescription *ed = getEffectDescription(effectId);
+
+ if (!ed)
+ {
+ logger->log("Unknown special effect and no default recorded");
+ return;
+ }
+
+ if (gfx && !ed->mGFXEffect.empty())
+ {
+ Particle *selfFX;
+
+ selfFX = particleEngine->addEffect(ed->mGFXEffect, 0, 0);
+ controlParticle(selfFX);
+ }
+
+ if (sfx && !ed->mSFXEffect.empty())
+ sound.playSfx(ed->mSFXEffect);
+}
+
+void ActorSprite::updateStunMode(int oldMode, int newMode)
+{
+ if (this == player_node)
+ {
+ Mana::Event event(EVENT_STUN);
+ event.setInt("oldMode", oldMode);
+ event.setInt("newMode", newMode);
+ event.trigger(CHANNEL_ACTORSPRITE);
+ }
+
+ handleStatusEffect(StatusEffect::getStatusEffect(oldMode, false), -1);
+ handleStatusEffect(StatusEffect::getStatusEffect(newMode, true), -1);
+}
+
+void ActorSprite::updateStatusEffect(int index, bool newStatus)
+{
+ if (this == player_node)
+ {
+ Mana::Event event(EVENT_UPDATESTATUSEFFECT);
+ event.setInt("index", index);
+ event.setBool("newStatus", newStatus);
+ event.trigger(CHANNEL_ACTORSPRITE);
+ }
+
+ handleStatusEffect(StatusEffect::getStatusEffect(index, newStatus), index);
+}
+
+void ActorSprite::handleStatusEffect(StatusEffect *effect, int effectId)
+{
+ if (!effect)
+ return;
+
+ // TODO: Find out how this is meant to be used
+ // (SpriteAction != Being::Action)
+ //SpriteAction action = effect->getAction();
+ //if (action != ACTION_INVALID)
+ // setAction(action);
+
+ Particle *particle = effect->getParticle();
+
+ if (effectId >= 0)
+ {
+ mStatusParticleEffects.setLocally(effectId, particle);
+ }
+ else
+ {
+ mStunParticleEffects.clearLocally();
+ if (particle)
+ mStunParticleEffects.addLocally(particle);
+ }
+}
+
+void ActorSprite::setupSpriteDisplay(const SpriteDisplay &display,
+ bool forceDisplay)
+{
+ clear();
+
+ SpriteRefs it, it_end;
+
+ for (it = display.sprites.begin(), it_end = display.sprites.end();
+ it != it_end; it++)
+ {
+ std::string file = "graphics/sprites/" + (*it)->sprite;
+ int variant = (*it)->variant;
+ addSprite(AnimatedSprite::load(file, variant));
+ }
+
+ // Ensure that something is shown, if desired
+ if (size() == 0 && forceDisplay)
+ {
+ if (display.image.empty())
+ addSprite(AnimatedSprite::load("graphics/sprites/error.xml"));
+ else
+ {
+ ResourceManager *resman = ResourceManager::getInstance();
+ std::string imagePath = "graphics/items/" + display.image;
+ Image *img = resman->getImage(imagePath);
+
+ if (!img)
+ img = Theme::getImageFromTheme("unknown-item.png");
+
+ addSprite(new ImageSprite(img));
+ }
+ }
+
+ mChildParticleEffects.clear();
+
+ //setup particle effects
+ if (Particle::enabled)
+ {
+ std::list<std::string>::const_iterator it, it_end;
+ for (it = display.particles.begin(), it_end = display.particles.end();
+ it != it_end; it++)
+ {
+ Particle *p = particleEngine->addEffect(*it, 0, 0);
+ controlParticle(p);
+ }
+ }
+
+ mMustResetParticles = true;
+}
+
+void ActorSprite::load()
+{
+ if (loaded)
+ unload();
+
+ initTargetCursor();
+
+ loaded = true;
+}
+
+void ActorSprite::unload()
+{
+ if (!loaded)
+ return;
+
+ cleanupTargetCursors();
+ loaded = false;
+}
+
+static const char *cursorType(int type)
+{
+ switch (type)
+ {
+ case ActorSprite::TCT_IN_RANGE:
+ return "in-range";
+ case ActorSprite::TCT_NORMAL:
+ return "normal";
+ default:
+ assert(false);
+ }
+}
+
+static const char *cursorSize(int size)
+{
+ switch (size)
+ {
+ case ActorSprite::TC_LARGE:
+ return "l";
+ case ActorSprite::TC_MEDIUM:
+ return "m";
+ case ActorSprite::TC_SMALL:
+ return "s";
+ default:
+ assert(false);
+ }
+}
+
+void ActorSprite::initTargetCursor()
+{
+ static std::string targetCursor = "graphics/target-cursor-%s-%s.png";
+ static int targetWidths[NUM_TC] = {44, 62, 82};
+ static int targetHeights[NUM_TC] = {35, 44, 60};
+
+ // Load target cursors
+ for (int size = TC_SMALL; size < NUM_TC; size++)
+ {
+ for (int type = TCT_NORMAL; type < NUM_TCT; type++)
+ {
+ loadTargetCursor(strprintf(targetCursor.c_str(), cursorType(type),
+ cursorSize(size)), targetWidths[size],
+ targetHeights[size], type, size);
+ }
+ }
+}
+
+void ActorSprite::cleanupTargetCursors()
+{
+ for (int size = TC_SMALL; size < NUM_TC; size++)
+ {
+ for (int type = TCT_NORMAL; type < NUM_TCT; type++)
+ {
+ delete targetCursor[type][size];
+ if (targetCursorImages[type][size])
+ targetCursorImages[type][size]->decRef();
+ }
+ }
+}
+
+void ActorSprite::loadTargetCursor(const std::string &filename,
+ int width, int height, int type, int size)
+{
+ assert(size > -1);
+ assert(size < 3);
+
+ ResourceManager *resman = ResourceManager::getInstance();
+ ImageSet *currentImageSet = resman->getImageSet(filename, width, height);
+
+ if (!currentImageSet)
+ {
+ logger->log("Error loading target cursor: %s", filename.c_str());
+ return;
+ }
+
+ Animation *anim = new Animation;
+
+ for (unsigned int i = 0; i < currentImageSet->size(); ++i)
+ {
+ anim->addFrame(currentImageSet->get(i), 75,
+ (16 - (currentImageSet->getWidth() / 2)),
+ (16 - (currentImageSet->getHeight() / 2)));
+ }
+
+ SimpleAnimation *currentCursor = new SimpleAnimation(anim);
+
+ targetCursorImages[type][size] = currentImageSet;
+ targetCursor[type][size] = currentCursor;
+}
diff --git a/src/actorsprite.h b/src/actorsprite.h
new file mode 100644
index 00000000..ab945d2f
--- /dev/null
+++ b/src/actorsprite.h
@@ -0,0 +1,233 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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 ACTORSPRITE_H
+#define ACTORSPRITE_H
+
+#include "actor.h"
+#include "compoundsprite.h"
+#include "map.h"
+#include "particlecontainer.h"
+
+#include <SDL_types.h>
+
+#include <set>
+#include <list>
+
+class SimpleAnimation;
+class StatusEffect;
+
+class ActorSprite : public CompoundSprite, public Actor
+{
+public:
+ enum Type
+ {
+ UNKNOWN,
+ PLAYER,
+ NPC,
+ MONSTER,
+ FLOOR_ITEM
+ };
+
+ enum TargetCursorSize
+ {
+ TC_SMALL = 0,
+ TC_MEDIUM,
+ TC_LARGE,
+ NUM_TC
+ };
+
+ enum TargetCursorType
+ {
+ TCT_NONE = -1,
+ TCT_NORMAL = 0,
+ TCT_IN_RANGE,
+ NUM_TCT
+ };
+
+ ActorSprite(int id);
+
+ ~ActorSprite();
+
+ int getId() const
+ { return mId; }
+
+ void setId(int id) { mId = id; }
+
+ /**
+ * Returns the type of the ActorSprite.
+ */
+ virtual Type getType() const { return UNKNOWN; }
+
+ virtual bool draw(Graphics *graphics, int offsetX, int offsetY) const;
+
+ virtual bool drawSpriteAt(Graphics *graphics, int x, int y) const;
+
+ virtual void logic();
+
+ static void actorLogic();
+
+ void setMap(Map* map);
+
+ /**
+ * Gets the way the object blocks pathfinding for other objects
+ */
+ virtual Map::BlockType getBlockType() const
+ { return Map::BLOCKTYPE_NONE; }
+
+ /**
+ * Take control of a particle.
+ */
+ void controlParticle(Particle *particle);
+
+ /**
+ * Returns the required size of a target cursor for this being.
+ */
+ virtual TargetCursorSize getTargetCursorSize() const
+ { return TC_MEDIUM; }
+
+ /**
+ * Sets the target animation for this actor.
+ */
+ void setTargetType(TargetCursorType type);
+
+ /**
+ * Untargets the actor.
+ */
+ void untarget() { mUsedTargetCursor = NULL; }
+
+ /**
+ * Triggers a visual effect, such as `level up'. Only draws the visual
+ * effect, does not play sound effects.
+ *
+ * \param effectId ID of the effect to trigger
+ */
+ virtual void triggerEffect(int effectId)
+ {
+ internalTriggerEffect(effectId, false, true);
+ }
+
+ /**
+ * Sets the actor's stun mode. If zero, the being is `normal', otherwise it
+ * is `stunned' in some fashion.
+ */
+ void setStunMode(int stunMode)
+ {
+ if (mStunMode != stunMode)
+ updateStunMode(mStunMode, stunMode);
+ mStunMode = stunMode;
+ }
+
+ void setStatusEffect(int index, bool active);
+
+ /**
+ * A status effect block is a 16 bit mask of status effects. We assign each
+ * such flag a block ID of offset + bitnr.
+ *
+ * These are NOT the same as the status effect indices.
+ */
+ void setStatusEffectBlock(int offset, Uint16 flags);
+
+ virtual void setAlpha(float alpha)
+ { CompoundSprite::setAlpha(alpha); }
+
+ virtual float getAlpha() const
+ { return CompoundSprite::getAlpha(); }
+
+ virtual int getWidth() const
+ { return CompoundSprite::getWidth(); }
+
+ virtual int getHeight() const
+ { return CompoundSprite::getHeight(); }
+
+ static void load();
+
+ static void unload();
+
+protected:
+ /**
+ * Trigger visual effect, with components
+ *
+ * \param effectId ID of the effect to trigger
+ * \param sfx Whether to trigger sound effects
+ * \param gfx Whether to trigger graphical effects
+ */
+ void internalTriggerEffect(int effectId, bool sfx, bool gfx);
+
+ /**
+ * Notify self that the stun mode has been updated. Invoked by
+ * setStunMode if something changed.
+ */
+ virtual void updateStunMode(int oldMode, int newMode);
+
+ /**
+ * Notify self that a status effect has flipped.
+ * The new flag is passed.
+ */
+ virtual void updateStatusEffect(int index, bool newStatus);
+
+ /**
+ * Handle an update to a status or stun effect
+ *
+ * \param The StatusEffect to effect
+ * \param effectId -1 for stun, otherwise the effect index
+ */
+ virtual void handleStatusEffect(StatusEffect *effect, int effectId);
+
+ void setupSpriteDisplay(const SpriteDisplay &display,
+ bool forceDisplay = true);
+
+ int mId;
+ Uint16 mStunMode; /**< Stun mode; zero if not stunned */
+ std::set<int> mStatusEffects; /**< set of active status effects */
+
+ ParticleList mStunParticleEffects;
+ ParticleVector mStatusParticleEffects;
+ ParticleList mChildParticleEffects;
+
+private:
+ /** Reset particle status effects on next redraw? */
+ bool mMustResetParticles;
+
+ /** Load the target cursors into memory */
+ static void initTargetCursor();
+
+ /** Remove the target cursors from memory */
+ static void cleanupTargetCursors();
+
+ /**
+ * Helper function for loading target cursors
+ */
+ static void loadTargetCursor(const std::string &filename,
+ int width, int height, int type, int size);
+
+ /** Images of the target cursor. */
+ static ImageSet *targetCursorImages[NUM_TCT][NUM_TC];
+
+ /** Animated target cursors. */
+ static SimpleAnimation *targetCursor[NUM_TCT][NUM_TC];
+
+ static bool loaded;
+
+ /** Target cursor being used */
+ SimpleAnimation *mUsedTargetCursor;
+};
+
+#endif // ACTORSPRITE_H
diff --git a/src/actorspritemanager.cpp b/src/actorspritemanager.cpp
new file mode 100644
index 00000000..a4b61ed3
--- /dev/null
+++ b/src/actorspritemanager.cpp
@@ -0,0 +1,343 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2004-2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "actorspritemanager.h"
+
+#include "localplayer.h"
+
+#include "utils/dtor.h"
+
+#include <cassert>
+
+#define for_actors ActorSpritesConstIterator it, it_end; \
+for (it = mActors.begin(), it_end = mActors.end() ; it != it_end; it++)
+
+class FindBeingFunctor
+{
+ public:
+ bool operator() (ActorSprite *actor)
+ {
+ if (actor->getType() == ActorSprite::FLOOR_ITEM)
+ return false;
+ Being* b = static_cast<Being*>(actor);
+
+ Uint16 other_y = y + ((b->getType() == ActorSprite::NPC) ? 1 : 0);
+ const Vector &pos = b->getPosition();
+ return ((int) pos.x / 32 == x &&
+ ((int) pos.y / 32 == y || (int) pos.y / 32 == other_y) &&
+ b->isAlive() &&
+ (type == ActorSprite::UNKNOWN || b->getType() == type));
+ }
+
+ Uint16 x, y;
+ ActorSprite::Type type;
+} beingFinder;
+
+class PlayerNamesLister : public AutoCompleteLister
+{
+ void getAutoCompleteList(std::vector<std::string>& names) const
+ {
+ names.clear();
+
+ const ActorSprites &mActors = actorSpriteManager->getAll();
+ for_actors
+ {
+ if ((*it)->getType() == ActorSprite::FLOOR_ITEM)
+ continue;
+
+ Being *being = static_cast<Being*>(*it);
+ if (being->getType() == Being::PLAYER && being->getName() != "")
+ names.push_back(being->getName());
+ }
+ }
+};
+
+class PlayerNPCNamesLister : public AutoCompleteLister
+{
+ void getAutoCompleteList(std::vector<std::string>& names) const
+ {
+ names.clear();
+
+ const ActorSprites &mActors = actorSpriteManager->getAll();
+ for_actors
+ {
+ if ((*it)->getType() == ActorSprite::FLOOR_ITEM)
+ continue;
+
+ Being *being = static_cast<Being*>(*it);
+ if ((being->getType() == Being::PLAYER
+ || being->getType() == Being::NPC)
+ && being->getName() != "")
+ names.push_back(being->getName());
+ }
+ }
+};
+
+ActorSpriteManager::ActorSpriteManager()
+{
+ mPlayerNames = new PlayerNamesLister;
+ mPlayerNPCNames = new PlayerNPCNamesLister;
+}
+
+ActorSpriteManager::~ActorSpriteManager()
+{
+ clear();
+}
+
+void ActorSpriteManager::setMap(Map *map)
+{
+ mMap = map;
+
+ if (player_node)
+ player_node->setMap(map);
+}
+
+void ActorSpriteManager::setPlayer(LocalPlayer *player)
+{
+ player_node = player;
+ mActors.insert(player);
+}
+
+Being *ActorSpriteManager::createBeing(int id, ActorSprite::Type type, int subtype)
+{
+ Being *being = new Being(id, type, subtype, mMap);
+
+ mActors.insert(being);
+ return being;
+}
+
+FloorItem *ActorSpriteManager::createItem(int id, int itemId, int x, int y)
+{
+ FloorItem *floorItem = new FloorItem(id, itemId, x, y, mMap);
+
+ mActors.insert(floorItem);
+ return floorItem;
+}
+
+void ActorSpriteManager::destroy(ActorSprite *actor)
+{
+ if (!actor || actor == player_node)
+ return;
+
+ mDeleteActors.insert(actor);
+}
+
+Being *ActorSpriteManager::findBeing(int id) const
+{
+ for_actors
+ {
+ ActorSprite *actor = *it;
+ if (actor->getId() == id &&
+ actor->getType() != ActorSprite::FLOOR_ITEM)
+ return static_cast<Being*>(actor);
+ }
+
+ return NULL;
+}
+
+Being *ActorSpriteManager::findBeing(int x, int y, ActorSprite::Type type) const
+{
+ beingFinder.x = x;
+ beingFinder.y = y;
+ beingFinder.type = type;
+
+ ActorSpritesConstIterator it = find_if(mActors.begin(), mActors.end(),
+ beingFinder);
+
+ return (it == mActors.end()) ? NULL : static_cast<Being*>(*it);
+}
+
+Being *ActorSpriteManager::findBeingByPixel(int x, int y) const
+{
+ for_actors
+ {
+ if ((*it)->getType() == ActorSprite::FLOOR_ITEM)
+ continue;
+
+ Being *being = static_cast<Being*>(*it);
+
+ int xtol = being->getWidth() / 2;
+ int uptol = being->getHeight();
+
+ if ((being->isAlive()) &&
+ (being != player_node) &&
+ (being->getPixelX() - xtol <= x) &&
+ (being->getPixelX() + xtol >= x) &&
+ (being->getPixelY() - uptol <= y) &&
+ (being->getPixelY() >= y))
+ return being;
+ }
+
+ return NULL;
+}
+
+FloorItem *ActorSpriteManager::findItem(int id) const
+{
+ for_actors
+ {
+ if ((*it)->getId() == id &&
+ (*it)->getType() == ActorSprite::FLOOR_ITEM)
+ {
+ return static_cast<FloorItem*>(*it);
+ }
+ }
+
+ return NULL;
+}
+
+FloorItem *ActorSpriteManager::findItem(int x, int y) const
+{
+ for_actors
+ {
+ if ((*it)->getTileX() == x && (*it)->getTileY() == y &&
+ (*it)->getType() == ActorSprite::FLOOR_ITEM)
+ {
+ return static_cast<FloorItem*>(*it);
+ }
+ }
+
+ return NULL;
+}
+
+Being *ActorSpriteManager::findBeingByName(const std::string &name,
+ ActorSprite::Type type) const
+{
+ for_actors
+ {
+ if ((*it)->getType() == ActorSprite::FLOOR_ITEM)
+ continue;
+
+ Being *being = static_cast<Being*>(*it);
+ if (being->getName() == name &&
+ (type == ActorSprite::UNKNOWN || type == being->getType()))
+ return being;
+ }
+ return NULL;
+}
+
+const ActorSprites &ActorSpriteManager::getAll() const
+{
+ return mActors;
+}
+
+void ActorSpriteManager::logic()
+{
+ for_actors
+ (*it)->logic();
+
+ for (it = mDeleteActors.begin(), it_end = mDeleteActors.end();
+ it != it_end; ++it)
+ {
+ mActors.erase(*it);
+ delete *it;
+ }
+
+ mDeleteActors.clear();
+}
+
+void ActorSpriteManager::clear()
+{
+ if (player_node)
+ mActors.erase(player_node);
+
+ for_actors
+ delete *it;
+ mActors.clear();
+ mDeleteActors.clear();
+
+ if (player_node)
+ mActors.insert(player_node);
+}
+
+Being *ActorSpriteManager::findNearestLivingBeing(int x, int y,
+ int maxTileDist,
+ ActorSprite::Type type,
+ Being *excluded) const
+{
+ Being *closestBeing = 0;
+ int dist = 0;
+
+ const int maxDist = maxTileDist * 32;
+
+ for_actors
+ {
+ if ((*it)->getType() == ActorSprite::FLOOR_ITEM)
+ continue;
+
+ Being *being = static_cast<Being*>(*it);
+ const Vector &pos = being->getPosition();
+ int d = abs(((int) pos.x) - x) + abs(((int) pos.y) - y);
+
+ if ((being->getType() == type || type == ActorSprite::UNKNOWN)
+ && (d < dist || !closestBeing) // it is closer
+ && being->isAlive() // no dead beings
+ && being != excluded)
+ {
+ dist = d;
+ closestBeing = being;
+ }
+ }
+
+ return (maxDist >= dist) ? closestBeing : 0;
+}
+
+Being *ActorSpriteManager::findNearestLivingBeing(Being *aroundBeing,
+ int maxDist,
+ ActorSprite::Type type) const
+{
+ const Vector &pos = aroundBeing->getPosition();
+ return findNearestLivingBeing((int)pos.x, (int)pos.y, maxDist, type,
+ aroundBeing);
+}
+
+bool ActorSpriteManager::hasActorSprite(ActorSprite *actor) const
+{
+ for_actors
+ {
+ if (actor == *it)
+ return true;
+ }
+
+ return false;
+}
+
+AutoCompleteLister *ActorSpriteManager::getPlayerNameLister()
+{
+ return mPlayerNames;
+}
+
+AutoCompleteLister *ActorSpriteManager::getPlayerNPCNameLister()
+{
+ return mPlayerNPCNames;
+}
+
+void ActorSpriteManager::updatePlayerNames()
+{
+ for_actors
+ {
+ if ((*it)->getType() == ActorSprite::FLOOR_ITEM)
+ continue;
+
+ Being *being = static_cast<Being*>(*it);
+ if (being->getType() == ActorSprite::PLAYER && being->getName() != "")
+ being->updateName();
+ }
+}
diff --git a/src/beingmanager.h b/src/actorspritemanager.h
index f2f8eb6d..d6aa609b 100644
--- a/src/beingmanager.h
+++ b/src/actorspritemanager.h
@@ -19,27 +19,31 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef BEINGMANAGER_H
-#define BEINGMANAGER_H
+#ifndef ACTORSPRITEMANAGER_H
+#define ACTORSPRITEMANAGER_H
+#include "actorsprite.h"
#include "being.h"
+#include "flooritem.h"
#include "gui/widgets/textfield.h"
class LocalPlayer;
class Map;
-typedef std::list<Being*> Beings;
+typedef std::set<ActorSprite*> ActorSprites;
+typedef ActorSprites::iterator ActorSpritesIterator;
+typedef ActorSprites::const_iterator ActorSpritesConstIterator;
-class BeingManager
+class ActorSpriteManager
{
public:
- BeingManager();
+ ActorSpriteManager();
- ~BeingManager();
+ ~ActorSpriteManager();
/**
- * Sets the map on which beings are created.
+ * Sets the map on which ActorSprites are created.
*/
void setMap(Map *map);
@@ -49,27 +53,48 @@ class BeingManager
void setPlayer(LocalPlayer *player);
/**
- * Create a being and add it to the list of beings.
+ * Create a Being and add it to the list of ActorSprites.
*/
- Being *createBeing(int id, Being::Type type, int subtype);
+ Being *createBeing(int id, ActorSprite::Type type, int subtype);
/**
- * Remove a Being.
+ * Create a FloorItem and add it to the list of ActorSprites.
*/
- void destroyBeing(Being *being);
+ FloorItem *createItem(int id, int itemId, int x, int y);
/**
- * Returns a specific id Being.
+ * Destroys the given ActorSprite at the end of
+ * ActorSpriteManager::logic.
+ */
+ void destroy(ActorSprite *actor);
+
+ /**
+ * Returns a specific Being, by id;
*/
Being *findBeing(int id) const;
/**
* Returns a being at specific coordinates.
*/
- Being *findBeing(int x, int y, Being::Type type = Being::UNKNOWN) const;
+ Being *findBeing(int x, int y,
+ ActorSprite::Type type = ActorSprite::UNKNOWN) const;
+
+ /**
+ * Returns a being at the specific pixel.
+ */
Being *findBeingByPixel(int x, int y) const;
/**
+ * Returns a specific FloorItem, by id.
+ */
+ FloorItem *findItem(int id) const;
+
+ /**
+ * Returns a FloorItem at specific coordinates.
+ */
+ FloorItem *findItem(int x, int y) const;
+
+ /**
* Returns a being nearest to specific coordinates.
*
* @param x X coordinate in pixels.
@@ -80,7 +105,7 @@ class BeingManager
* @param excluded The being to exclude from the search.
*/
Being *findNearestLivingBeing(int x, int y, int maxTileDist,
- Being::Type type = Being::UNKNOWN,
+ ActorSprite::Type type = Being::UNKNOWN,
Being *excluded = 0) const;
/**
@@ -92,35 +117,35 @@ class BeingManager
* @param type The type of being to look for.
*/
Being *findNearestLivingBeing(Being *aroundBeing, int maxTileDist,
- Being::Type type = Being::UNKNOWN) const;
+ ActorSprite::Type type = Being::UNKNOWN) const;
/**
* Finds a being by name and (optionally) by type.
*/
Being *findBeingByName(const std::string &name,
- Being::Type type = Being::UNKNOWN) const;
+ ActorSprite::Type type = Being::UNKNOWN) const;
/**
* Returns the whole list of beings.
*/
- const Beings &getAll() const;
+ const ActorSprites &getAll() const;
/**
- * Returns true if the given being is in the manager's list, false
- * otherwise.
+ * Returns true if the given ActorSprite is in the manager's list,
+ * false otherwise.
*
- * \param being the being to search for
+ * \param actor the ActorSprite to search for
*/
- bool hasBeing(Being *being) const;
+ bool hasActorSprite(ActorSprite *actor) const;
/**
- * Performs being logic and deletes dead beings when they have been
- * dead long enough.
+ * Performs ActorSprite logic and deletes ActorSprite scheduled to be
+ * deleted.
*/
void logic();
/**
- * Destroys all beings except the local player
+ * Destroys all ActorSprites except the local player
*/
void clear();
@@ -136,10 +161,11 @@ class BeingManager
AutoCompleteLister *mPlayerNames;
AutoCompleteLister *mPlayerNPCNames;
- Beings mBeings;
+ ActorSprites mActors;
+ ActorSprites mDeleteActors;
Map *mMap;
};
-extern BeingManager *beingManager;
+extern ActorSpriteManager *actorSpriteManager;
-#endif
+#endif // ACTORSPRITEMANAGER_H
diff --git a/src/animatedsprite.cpp b/src/animatedsprite.cpp
index 59bf2f88..9f4e46bd 100644
--- a/src/animatedsprite.cpp
+++ b/src/animatedsprite.cpp
@@ -22,15 +22,12 @@
#include "animatedsprite.h"
#include "graphics.h"
-#include "log.h"
#include "resources/action.h"
#include "resources/animation.h"
#include "resources/image.h"
#include "resources/resourcemanager.h"
-#include "utils/xml.h"
-
#include <cassert>
AnimatedSprite::AnimatedSprite(SpriteDef *sprite):
@@ -41,16 +38,17 @@ AnimatedSprite::AnimatedSprite(SpriteDef *sprite):
mSprite(sprite),
mAction(0),
mAnimation(0),
- mFrame(0),
- mAlpha(1.0f)
+ mFrame(0)
{
assert(mSprite);
+ mAlpha = 1.0f;
+
// Take possession of the sprite
mSprite->incRef();
// Play the stand animation by default
- play(ACTION_STAND);
+ play(SpriteAction::STAND);
}
AnimatedSprite *AnimatedSprite::load(const std::string &filename, int variant)
@@ -69,18 +67,22 @@ AnimatedSprite::~AnimatedSprite()
mSprite->decRef();
}
-void AnimatedSprite::reset()
+bool AnimatedSprite::reset()
{
+ bool ret = mFrameIndex !=0 || mFrameTime != 0 || mLastTime != 0;
+
mFrameIndex = 0;
mFrameTime = 0;
mLastTime = 0;
+
+ return ret;
}
-void AnimatedSprite::play(SpriteAction spriteAction)
+bool AnimatedSprite::play(std::string spriteAction)
{
Action *action = mSprite->getAction(spriteAction);
if (!action)
- return;
+ return false;
mAction = action;
Animation *animation = mAction->getAnimation(mDirection);
@@ -91,10 +93,14 @@ void AnimatedSprite::play(SpriteAction spriteAction)
mFrame = mAnimation->getFrame(0);
reset();
+
+ return true;
}
+
+ return false;
}
-void AnimatedSprite::update(int time)
+bool AnimatedSprite::update(int time)
{
// Avoid freaking out at first frame or when tick_time overflows
if (time < mLastTime || mLastTime == 0)
@@ -102,16 +108,22 @@ void AnimatedSprite::update(int time)
// If not enough time has passed yet, do nothing
if (time <= mLastTime || !mAnimation)
- return;
+ return false;
unsigned int dt = time - mLastTime;
mLastTime = time;
+ Animation *animation = mAnimation;
+ Frame *frame = mFrame;
+
if (!updateCurrentAnimation(dt))
{
// Animation finished, reset to default
- play(ACTION_STAND);
+ play(SpriteAction::STAND);
}
+
+ // Make sure something actually changed
+ return animation != mAnimation || frame != mFrame;
}
bool AnimatedSprite::updateCurrentAnimation(unsigned int time)
@@ -158,14 +170,14 @@ bool AnimatedSprite::draw(Graphics *graphics, int posX, int posY) const
posY + mFrame->offsetY);
}
-void AnimatedSprite::setDirection(SpriteDirection direction)
+bool AnimatedSprite::setDirection(SpriteDirection direction)
{
if (mDirection != direction)
{
mDirection = direction;
if (!mAction)
- return;
+ return false;
Animation *animation = mAction->getAnimation(mDirection);
@@ -175,7 +187,23 @@ void AnimatedSprite::setDirection(SpriteDirection direction)
mFrame = mAnimation->getFrame(0);
reset();
}
+
+ return true;
}
+
+ return false;
+}
+
+size_t AnimatedSprite::getCurrentFrame() const
+{
+ return mFrameIndex;
+}
+
+size_t AnimatedSprite::getFrameCount() const
+{
+ if (mAnimation)
+ return mAnimation->getLength();
+ return 0;
}
int AnimatedSprite::getWidth() const
@@ -193,3 +221,8 @@ int AnimatedSprite::getHeight() const
else
return 0;
}
+
+const Image* AnimatedSprite::getImage() const
+{
+ return mFrame ? mFrame->image : 0;
+}
diff --git a/src/animatedsprite.h b/src/animatedsprite.h
index 54b63cc0..bd39c267 100644
--- a/src/animatedsprite.h
+++ b/src/animatedsprite.h
@@ -22,19 +22,18 @@
#ifndef ANIMATEDSPRITE_H
#define ANIMATEDSPRITE_H
-#include "resources/spritedef.h"
+#include "sprite.h"
#include <map>
#include <string>
class Animation;
-class Graphics;
struct Frame;
/**
* Animates a sprite by adding playback state.
*/
-class AnimatedSprite
+class AnimatedSprite : public Sprite
{
public:
/**
@@ -53,59 +52,30 @@ class AnimatedSprite
static AnimatedSprite *load(const std::string &filename,
int variant = 0);
- /**
- * Destructor.
- */
virtual ~AnimatedSprite();
- /**
- * Resets the animated sprite.
- */
- void reset();
+ bool reset();
- /**
- * Plays an action using the current direction
- */
- void play(SpriteAction action);
+ bool play(std::string action);
- /**
- * Inform the animation of the passed time so that it can output the
- * correct animation frame.
- */
- void update(int time);
+ bool update(int time);
- /**
- * Draw the current animation frame at the coordinates given in screen
- * pixels.
- */
bool draw(Graphics* graphics, int posX, int posY) const;
- /**
- * gets the width in pixels of the image of the current frame
- */
int getWidth() const;
- /**
- * gets the height in pixels of the image of the current frame
- */
int getHeight() const;
- /**
- * Sets the direction.
- */
- void setDirection(SpriteDirection direction);
+ const Image* getImage() const;
- /**
- * Sets the alpha value of the animated sprite
- */
- void setAlpha(float alpha)
- { mAlpha = alpha; }
+ bool setDirection(SpriteDirection direction);
- /**
- * Returns the current alpha opacity of the animated sprite.
- */
- virtual float getAlpha() const
- { return mAlpha; }
+ int getNumberOfLayers()
+ { return 1; }
+
+ size_t getCurrentFrame() const;
+
+ size_t getFrameCount() const;
private:
bool updateCurrentAnimation(unsigned int dt);
@@ -120,7 +90,6 @@ class AnimatedSprite
Action *mAction; /**< The currently active action. */
Animation *mAnimation; /**< The currently active animation. */
Frame *mFrame; /**< The currently active frame. */
- float mAlpha; /**< The alpha opacity used to draw */
};
#endif
diff --git a/src/avatar.cpp b/src/avatar.cpp
index f11bf535..b47333b6 100644
--- a/src/avatar.cpp
+++ b/src/avatar.cpp
@@ -20,10 +20,6 @@
#include "avatar.h"
-#include "localplayer.h"
-
-#include <sstream>
-
Avatar::Avatar(const std::string &name):
mName(name),
mHp(0), mMaxHp(0),
diff --git a/src/being.cpp b/src/being.cpp
index be8afa79..4d682ab8 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -21,104 +21,156 @@
#include "being.h"
+#include "actorspritemanager.h"
#include "animatedsprite.h"
#include "client.h"
#include "configuration.h"
#include "effectmanager.h"
+#include "event.h"
#include "graphics.h"
+#include "guild.h"
#include "localplayer.h"
#include "log.h"
#include "map.h"
#include "particle.h"
+#include "party.h"
+#include "playerrelations.h"
#include "simpleanimation.h"
#include "sound.h"
#include "text.h"
-#include "statuseffect.h"
#include "gui/gui.h"
+#include "gui/socialwindow.h"
#include "gui/speechbubble.h"
-#include "gui/theme.h"
-#include "gui/userpalette.h"
+#include "net/charhandler.h"
+#include "net/gamehandler.h"
+#include "net/net.h"
+#include "net/playerhandler.h"
+#include "net/npchandler.h"
+
+#include "resources/beinginfo.h"
#include "resources/colordb.h"
#include "resources/emotedb.h"
#include "resources/image.h"
#include "resources/itemdb.h"
#include "resources/iteminfo.h"
-#include "resources/resourcemanager.h"
+#include "resources/monsterdb.h"
+#include "resources/npcdb.h"
+#include "resources/theme.h"
+#include "resources/userpalette.h"
-
-#include "utils/dtor.h"
#include "utils/stringutils.h"
-#include "utils/xml.h"
-#include "net/net.h"
-#include "net/playerhandler.h"
#include <cassert>
#include <cmath>
-#define BEING_EFFECTS_FILE "effects.xml"
#define HAIR_FILE "hair.xml"
static const int DEFAULT_BEING_WIDTH = 32;
static const int DEFAULT_BEING_HEIGHT = 32;
-
-
int Being::mNumberOfHairstyles = 1;
// TODO: mWalkTime used by eAthena only
-Being::Being(int id, int subtype, Map *map):
- mFrame(0),
- mWalkTime(0),
- mEmotion(0), mEmotionTime(0),
+Being::Being(int id, Type type, int subtype, Map *map):
+ ActorSprite(id),
+ mInfo(BeingInfo::Unknown),
+ mActionTime(0),
mSpeechTime(0),
+ mAttackType(1),
mAttackSpeed(350),
mAction(STAND),
- mSubType(subtype),
- mId(id),
+ mSubType(0xFFFF),
mDirection(DOWN),
mSpriteDirection(DIRECTION_DOWN),
- mMap(NULL),
mDispName(0),
mShowName(false),
mEquippedWeapon(NULL),
mText(0),
- mStunMode(0),
- mAlpha(1.0f),
- mStatusParticleEffects(&mStunParticleEffects, false),
- mChildParticleEffects(&mStatusParticleEffects, false),
- mMustResetParticles(false),
+ mGender(GENDER_UNSPECIFIED),
+ mParty(NULL),
+ mIsGM(false),
+ mType(type),
mX(0), mY(0),
mDamageTaken(0),
- mUsedTargetCursor(NULL)
+ mIp(0)
{
setMap(map);
+ setSubtype(subtype);
mSpeechBubble = new SpeechBubble;
- mNameColor = &userPalette->getColor(UserPalette::NPC);
- mTextColor = &Theme::getThemeColor(Theme::CHAT);
mWalkSpeed = Net::getPlayerHandler()->getDefaultWalkSpeed();
-}
-Being::~Being()
-{
- mUsedTargetCursor = NULL;
- delete_all(mSprites);
+ if (getType() == PLAYER)
+ mShowName = config.getBoolValue("visiblenames");
- if (player_node && player_node->getTarget() == this)
- player_node->setTarget(NULL);
+ if (getType() == PLAYER || getType() == NPC)
+ setShowName(true);
- setMap(NULL);
+ updateColors();
+ listen(CHANNEL_CONFIG);
+ listen(CHANNEL_CHAT);
+}
+Being::~Being()
+{
delete mSpeechBubble;
delete mDispName;
delete mText;
+ mSpeechBubble = 0;
+ mDispName = 0;
+ mText = 0;
+}
+
+void Being::setSubtype(Uint16 subtype)
+{
+ if (subtype == mSubType)
+ return;
+
+ mSubType = subtype;
+
+ if (getType() == MONSTER)
+ {
+ mInfo = MonsterDB::get(mSubType);
+ setName(mInfo->getName());
+ setupSpriteDisplay(mInfo->getDisplay());
+ }
+ else if (getType() == NPC)
+ {
+ mInfo = NPCDB::get(mSubType);
+ setupSpriteDisplay(mInfo->getDisplay(), false);
+ }
+ else if (getType() == PLAYER)
+ {
+ int id = -100 - subtype;
+
+ // Prevent showing errors when sprite doesn't exist
+ if (!itemDb->exists(id))
+ id = -100;
+
+ setSprite(Net::getCharHandler()->baseSprite(), id);
+ }
+}
+
+ActorSprite::TargetCursorSize Being::getTargetCursorSize() const
+{
+ return mInfo->getTargetCursorSize();
+}
+
+unsigned char Being::getWalkMask() const
+{
+ return mInfo->getWalkMask();
+}
+
+Map::BlockType Being::getBlockType() const
+{
+ return mInfo->getBlockType();
}
void Being::setPosition(const Vector &pos)
{
- mPos = pos;
+ Actor::setPosition(pos);
updateCoords();
@@ -152,8 +204,9 @@ void Being::setDestination(int dstX, int dstY)
Position dest = mMap->checkNodeOffsets(getCollisionRadius(), getWalkMask(),
dstX, dstY);
- Path thisPath = mMap->findPixelPath(mPos.x, mPos.y, dest.x, dest.y,
- getCollisionRadius(), getWalkMask());
+ Path thisPath = mMap->findPixelPath((int) mPos.x, (int) mPos.y,
+ dest.x, dest.y,
+ getCollisionRadius(), getWalkMask());
if (thisPath.empty())
{
@@ -186,10 +239,10 @@ void Being::setPath(const Path &path)
mPath = path;
if ((Net::getNetworkType() == ServerInfo::TMWATHENA) &&
- mAction != WALK && mAction != DEAD)
+ mAction != MOVE && mAction != DEAD)
{
nextTile();
- mWalkTime = tick_time;
+ mActionTime = tick_time;
}
}
@@ -235,7 +288,7 @@ void Being::setSpeech(const std::string &text, int time)
if (!mSpeech.empty())
mSpeechTime = time <= SPEECH_MAX_TIME ? time : SPEECH_MAX_TIME;
- const int speech = (int) config.getValue("speech", TEXT_OVERHEAD);
+ const int speech = config.getIntValue("speech");
if (speech == TEXT_OVERHEAD)
{
if (mText)
@@ -309,6 +362,19 @@ void Being::takeDamage(Being *attacker, int amount, AttackType type)
if (amount > 0)
{
+ if (mInfo)
+ {
+ if (attacker)
+ {
+ sound.playSfx(mInfo->getSound(SOUND_EVENT_HURT),
+ attacker->getTileX(), attacker->getTileY());
+ }
+ else
+ {
+ sound.playSfx(mInfo->getSound(SOUND_EVENT_HURT));
+ }
+ }
+
if (getType() == MONSTER)
{
mDamageTaken += amount;
@@ -327,76 +393,159 @@ void Being::handleAttack(Being *victim, int damage, AttackType type)
if (this != player_node)
setAction(Being::ATTACK, 1);
- if (getType() == PLAYER && victim)
- {
- if (mEquippedWeapon)
- {
- fireMissile(victim, mEquippedWeapon->getMissileParticle());
- }
- }
+ if (getType() == PLAYER && victim && mEquippedWeapon)
+ fireMissile(victim, mEquippedWeapon->getMissileParticle());
+ else
+ fireMissile(victim, mInfo->getAttack(mAttackType)->missileParticle);
+
if (Net::getNetworkType() == ServerInfo::TMWATHENA)
{
- mFrame = 0;
- mWalkTime = tick_time;
+ reset();
+ mActionTime = tick_time;
}
+
+ sound.playSfx(mInfo->getSound((damage > 0) ?
+ SOUND_EVENT_HIT : SOUND_EVENT_MISS), mX, mY);
}
void Being::setName(const std::string &name)
{
- mName = name;
-
- if (getShowName())
+ if (getType() == NPC)
+ {
+ mName = name.substr(0, name.find('#', 0));
showName();
+ }
+ else
+ {
+ mName = name;
+
+ if (getType() == PLAYER && getShowName())
+ showName();
+ }
}
void Being::setShowName(bool doShowName)
{
- bool oldShow = mShowName;
+ if (mShowName == doShowName)
+ return;
+
mShowName = doShowName;
- if (doShowName != oldShow)
+ if (doShowName)
+ showName();
+ else
{
- if (doShowName)
- showName();
- else
- {
- delete mDispName;
- mDispName = 0;
- }
+ delete mDispName;
+ mDispName = 0;
}
}
void Being::setGuildName(const std::string &name)
{
- logger->log("Got guild name \"%s\" for being %s(%i)", name.c_str(), mName.c_str(), mId);
+ logger->log("Got guild name \"%s\" for being %s(%i)", name.c_str(),
+ mName.c_str(), mId);
}
void Being::setGuildPos(const std::string &pos)
{
- logger->log("Got guild position \"%s\" for being %s(%i)", pos.c_str(), mName.c_str(), mId);
+ logger->log("Got guild position \"%s\" for being %s(%i)", pos.c_str(),
+ mName.c_str(), mId);
}
-void Being::setMap(Map *map)
+void Being::addGuild(Guild *guild)
{
- // Remove sprite from potential previous map
- if (mMap)
- mMap->removeSprite(mMapSprite);
+ mGuilds[guild->getId()] = guild;
+ guild->addMember(mId, mName);
- mMap = map;
+ if (this == player_node && socialWindow)
+ {
+ socialWindow->addTab(guild);
+ }
+}
- // Add sprite to potential new map
- if (mMap)
- mMapSprite = mMap->addSprite(this);
+void Being::removeGuild(int id)
+{
+ if (this == player_node && socialWindow)
+ {
+ socialWindow->removeTab(mGuilds[id]);
+ }
- // Clear particle effect list because child particles became invalid
- mChildParticleEffects.clear();
- mMustResetParticles = true; // Reset status particles on next redraw
+ mGuilds[id]->removeMember(mId);
+ mGuilds.erase(id);
}
-void Being::controlParticle(Particle *particle)
+Guild *Being::getGuild(const std::string &guildName) const
{
- mChildParticleEffects.addLocally(particle);
+ std::map<int, Guild*>::const_iterator itr, itr_end = mGuilds.end();
+ for (itr = mGuilds.begin(); itr != itr_end; ++itr)
+ {
+ Guild *guild = itr->second;
+ if (guild->getName() == guildName)
+ {
+ return guild;
+ }
+ }
+
+ return NULL;
+}
+
+Guild *Being::getGuild(int id) const
+{
+ std::map<int, Guild*>::const_iterator itr;
+ itr = mGuilds.find(id);
+ if (itr != mGuilds.end())
+ {
+ return itr->second;
+ }
+
+ return NULL;
+}
+
+void Being::clearGuilds()
+{
+ std::map<int, Guild*>::const_iterator itr, itr_end = mGuilds.end();
+ for (itr = mGuilds.begin(); itr != itr_end; ++itr)
+ {
+ Guild *guild = itr->second;
+
+ if (this == player_node && socialWindow)
+ socialWindow->removeTab(guild);
+
+ guild->removeMember(mId);
+ }
+
+ mGuilds.clear();
+}
+
+void Being::setParty(Party *party)
+{
+ if (party == mParty)
+ return;
+
+ Party *old = mParty;
+ mParty = party;
+
+ if (old)
+ {
+ old->removeMember(mId);
+ }
+
+ if (party)
+ {
+ party->addMember(mId, mName);
+ }
+
+ updateColors();
+
+ if (this == player_node && socialWindow)
+ {
+ if (old)
+ socialWindow->removeTab(old);
+
+ if (party)
+ socialWindow->addTab(party);
+ }
}
void Being::fireMissile(Being *victim, const std::string &particle)
@@ -404,63 +553,98 @@ void Being::fireMissile(Being *victim, const std::string &particle)
if (!victim || particle.empty())
return;
- Particle *target = particleEngine->createChild();
- Particle *missile = target->addEffect(particle, getPixelX(), getPixelY());
+ Particle *missile = particleEngine->addEffect(particle,
+ getPixelX(), getPixelY());
if (missile)
{
- target->setLifetime(2000);
+ Particle *target = particleEngine->createChild();
target->moveBy(Vector(0.0f, 0.0f, 32.0f));
+ target->setLifetime(1000);
victim->controlParticle(target);
missile->setDestination(target, 7, 0);
missile->setDieDistance(8);
missile->setLifetime(900);
}
+
}
void Being::setAction(Action action, int attackType)
{
- SpriteAction currentAction = ACTION_INVALID;
+ std::string currentAction = SpriteAction::INVALID;
switch (action)
{
- case WALK:
- currentAction = ACTION_WALK;
+ case MOVE:
+ currentAction = SpriteAction::MOVE;
+ // Note: When adding a run action,
+ // Differentiate walk and run with action name,
+ // while using only the ACTION_MOVE.
break;
case SIT:
- currentAction = ACTION_SIT;
+ currentAction = SpriteAction::SIT;
break;
case ATTACK:
if (mEquippedWeapon)
- currentAction = mEquippedWeapon->getAttackType();
+ {
+ currentAction = mEquippedWeapon->getAttackAction();
+ reset();
+ }
else
- currentAction = ACTION_ATTACK;
+ {
+ mAttackType = attackType;
+ currentAction = mInfo->getAttack(attackType)->action;
+ reset();
+
+ if (Net::getNetworkType() == ServerInfo::MANASERV)
+ {
+ int rotation = 0;
+ //attack particle effect
+ std::string particleEffect = mInfo->getAttack(attackType)
+ ->particleEffect;
+ if (!particleEffect.empty() && Particle::enabled)
+ {
+ switch (mSpriteDirection)
+ {
+ case DIRECTION_DOWN: rotation = 0; break;
+ case DIRECTION_LEFT: rotation = 90; break;
+ case DIRECTION_UP: rotation = 180; break;
+ case DIRECTION_RIGHT: rotation = 270; break;
+ default: break;
+ }
+ Particle *p;
+ p = particleEngine->addEffect(particleEffect, 0, 0,
+ rotation);
+ controlParticle(p);
+ }
+ }
+ }
- for (SpriteIterator it = mSprites.begin(); it != mSprites.end(); it++)
- if (*it)
- (*it)->reset();
break;
case HURT:
- //currentAction = ACTION_HURT; // Buggy: makes the player stop
+ //currentAction = SpriteAction::HURT;// Buggy: makes the player stop
// attacking and unable to attack
- // again until he moves
+ // again until he moves.
+ // TODO: fix this!
break;
case DEAD:
- currentAction = ACTION_DEAD;
+ currentAction = SpriteAction::DEAD;
+ sound.playSfx(mInfo->getSound(SOUND_EVENT_DIE), mX, mY);
break;
case STAND:
- currentAction = ACTION_STAND;
+ currentAction = SpriteAction::STAND;
break;
}
- if (currentAction != ACTION_INVALID)
+ if (currentAction != SpriteAction::INVALID)
{
- for (SpriteIterator it = mSprites.begin(); it != mSprites.end(); it++)
- if (*it)
- (*it)->play(currentAction);
+ play(currentAction);
mAction = action;
}
+
+ if (currentAction != SpriteAction::MOVE)
+ mActionTime = tick_time;
}
void Being::setDirection(Uint8 direction)
@@ -484,12 +668,10 @@ void Being::setDirection(Uint8 direction)
dir = DIRECTION_LEFT;
mSpriteDirection = dir;
- for (SpriteIterator it = mSprites.begin(); it != mSprites.end(); it++)
- if (*it)
- (*it)->setDirection(dir);
+ CompoundSprite::setDirection(dir);
}
-/** TODO: Used by eAthena only */
+/** Note: Used by Tmw-Athena only */
void Being::nextTile()
{
if (mPath.empty())
@@ -521,8 +703,8 @@ void Being::nextTile()
mX = pos.x;
mY = pos.y;
- setAction(WALK);
- mWalkTime += (int)(mWalkSpeed.x / 10);
+ setAction(MOVE);
+ mActionTime += (int)(mWalkSpeed.x / 10);
}
int Being::getCollisionRadius() const
@@ -544,24 +726,32 @@ void Being::logic()
mText = 0;
}
- if ((Net::getNetworkType() == ServerInfo::MANASERV) && (mAction != DEAD))
+ if ((Net::getNetworkType() == ServerInfo::MANASERV) && (mAction != DEAD)
+ && !mWalkSpeed.isNull())
{
const Vector dest = (mPath.empty()) ?
mDest : Vector(mPath.front().x,
mPath.front().y);
- // This is a hack that stops NPCs from running off the map...
+ // Avoid going to flawed destinations
if (mDest.x <= 0 && mDest.y <= 0)
+ {
+ // We make the being stop move in that case.
+ mDest = mPos;
+ mPath.clear();
+ // By returning now, we're losing one tick for the rest of the logic
+ // but as we have reset the destination, the next tick will be fine.
return;
+ }
// The Vector representing the difference between current position
// and the next destination path node.
Vector dir = dest - mPos;
- const float nominalLength = dir.length();
+ float distance = dir.length();
// When we've not reached our destination, move to it.
- if (nominalLength > 0.0f && !mWalkSpeed.isNull())
+ if (distance > 0.0f)
{
// The deplacement of a point along a vector is calculated
// using the Unit Vector (â) multiplied by the point speed.
@@ -572,7 +762,7 @@ void Being::logic()
normalizedDir.y * mWalkSpeed.y);
// Test if we don't miss the destination by a move too far:
- if (diff.length() > nominalLength)
+ if (diff.length() > distance)
{
setPosition(mPos + dir);
@@ -581,32 +771,43 @@ void Being::logic()
if (!mPath.empty())
mPath.pop_front();
}
- // Otherwise, go to it using the nominal speed.
else
+ {
+ // Otherwise, go to it using the nominal speed.
setPosition(mPos + diff);
+ // And reset the nominalLength to the actual move length
+ distance = diff.length();
+ }
- if (mAction != WALK)
- setAction(WALK);
+ if (mAction != MOVE)
+ setAction(MOVE);
// Update the player sprite direction.
- // N.B.: We only change this if the distance is more than one pixel.
- if (nominalLength > 1.0f)
+ // N.B.: We only change this if the distance is more than one pixel
+ // to avoid flawing the ending direction.
+ if (distance > 1.0f)
{
- int direction = 0;
- const float dx = std::abs(dir.x);
- float dy = std::abs(dir.y);
-
- // When not using mouse for the player, we slightly prefer
- // UP and DOWN position, especially when walking diagonally.
- if (this == player_node && !player_node->isPathSetByMouse())
- dy = dy + 2;
-
- if (dx > dy)
- direction |= (dir.x > 0) ? RIGHT : LEFT;
- else
- direction |= (dir.y > 0) ? DOWN : UP;
-
- setDirection(direction);
+ // The player direction is handled for keyboard
+ // by LocalPlayer::startWalking(), we shouldn't get
+ // in the way here for other cases.
+ // Hence, we set the direction in Being::logic() only when:
+ // 1. It is not the localPlayer
+ // 2. When it is the localPlayer but only by mouse
+ // (because in that case, the path can have more than one tile.)
+ if ((player_node == this && player_node->isPathSetByMouse())
+ || player_node != this)
+ {
+ int direction = 0;
+ const float dx = std::abs(dir.x);
+ float dy = std::abs(dir.y);
+
+ if (dx > dy)
+ direction |= (dir.x > 0) ? RIGHT : LEFT;
+ else
+ direction |= (dir.y > 0) ? DOWN : UP;
+
+ setDirection(direction);
+ }
}
}
else if (!mPath.empty())
@@ -615,108 +816,101 @@ void Being::logic()
// remove it and go to the next one.
mPath.pop_front();
}
- else if (mAction == WALK)
+ else if (mAction == MOVE)
{
setAction(STAND);
}
}
else if (Net::getNetworkType() == ServerInfo::TMWATHENA)
{
- // Update pixel coordinates
- setPosition(mX * 32 + 16 + getXOffset(),
- mY * 32 + 32 + getYOffset());
- }
-
- if (mEmotion != 0)
- {
- mEmotionTime--;
- if (mEmotionTime == 0)
- mEmotion = 0;
- }
-
- // Update sprite animations
- if (mUsedTargetCursor)
- mUsedTargetCursor->update(tick_time * MILLISECONDS_IN_A_TICK);
-
- for (SpriteIterator it = mSprites.begin(); it != mSprites.end(); it++)
- if (*it)
- (*it)->update(tick_time * MILLISECONDS_IN_A_TICK);
+ int frameCount = getFrameCount();
- // Restart status/particle effects, if needed
- if (mMustResetParticles)
- {
- mMustResetParticles = false;
- for (std::set<int>::iterator it = mStatusEffects.begin();
- it != mStatusEffects.end(); it++)
+ switch (mAction)
{
- const StatusEffect *effect = StatusEffect::getStatusEffect(*it, true);
- if (effect && effect->particleEffectIsPersistent())
- updateStatusEffect(*it, true);
+ case STAND:
+ case SIT:
+ case DEAD:
+ case HURT:
+ break;
+
+ case MOVE:
+ if ((int) ((get_elapsed_time(mActionTime) * frameCount)
+ / getWalkSpeed().x) >= frameCount)
+ nextTile();
+ break;
+
+ case ATTACK:
+ int rotation = 0;
+ std::string particleEffect = "";
+
+ int curFrame = (get_elapsed_time(mActionTime) * frameCount)
+ / mAttackSpeed;
+
+ //attack particle effect
+ if (mEquippedWeapon)
+ {
+ particleEffect = mEquippedWeapon->getParticleEffect();
+
+ if (!particleEffect.empty() &&
+ findSameSubstring(particleEffect,
+ paths.getStringValue("particles")).empty())
+ particleEffect = paths.getStringValue("particles")
+ + particleEffect;
+ }
+ else
+ {
+ particleEffect = mInfo->getAttack(mAttackType)
+ ->particleEffect;
+ }
+
+ if (!particleEffect.empty() && Particle::enabled
+ && curFrame == 1)
+ {
+ switch (mDirection)
+ {
+ case DOWN: rotation = 0; break;
+ case LEFT: rotation = 90; break;
+ case UP: rotation = 180; break;
+ case RIGHT: rotation = 270; break;
+ default: break;
+ }
+ Particle *p;
+ p = particleEngine->addEffect(particleEffect, 0, 0,
+ rotation);
+ controlParticle(p);
+ }
+
+ if (curFrame >= frameCount)
+ nextTile();
+
+ break;
}
- }
-
- // Update particle effects
- mChildParticleEffects.moveTo(mPos.x, mPos.y);
-}
-void Being::draw(Graphics *graphics, int offsetX, int offsetY) const
-{
- // TODO: Eventually, we probably should fix all sprite offsets so that
- // these translations aren't necessary anymore. The sprites know
- // best where their base point should be.
- const int px = getPixelX() + offsetX - 16;
- // Temporary fix to the Y offset.
- const int py = getPixelY() + offsetY -
- ((Net::getNetworkType() == ServerInfo::MANASERV) ? 15 : 32);
-
- if (mUsedTargetCursor)
- mUsedTargetCursor->draw(graphics, px, py);
-
- for (SpriteConstIterator it = mSprites.begin(); it != mSprites.end(); it++)
- {
- if (*it)
- {
- if ((*it)->getAlpha() != mAlpha)
- (*it)->setAlpha(mAlpha);
- (*it)->draw(graphics, px, py);
- }
+ // Update pixel coordinates
+ setPosition(mX * 32 + 16 + getXOffset(),
+ mY * 32 + 32 + getYOffset());
}
-}
-void Being::drawSpriteAt(Graphics *graphics, int x, int y) const
-{
- const int px = x - 16;
- const int py = y - 32;
+ ActorSprite::logic();
+
+ int frameCount = getFrameCount();
+ if (frameCount < 10)
+ frameCount = 10;
- for (SpriteConstIterator it = mSprites.begin(); it != mSprites.end(); it++)
+ if (!isAlive() && Net::getGameHandler()->removeDeadBeings() &&
+ (int) ((get_elapsed_time(mActionTime)
+ / getWalkSpeed().x) >= frameCount))
{
- if (*it)
- {
- if ((*it)->getAlpha() != mAlpha)
- (*it)->setAlpha(mAlpha);
- (*it)->draw(graphics, px, py);
- }
+ if (getType() != PLAYER)
+ actorSpriteManager->destroy(this);
}
}
-void Being::drawEmotion(Graphics *graphics, int offsetX, int offsetY)
-{
- if (!mEmotion)
- return;
-
- const int px = getPixelX() - offsetX - 16;
- const int py = getPixelY() - offsetY - 64 - 32;
- const int emotionIndex = mEmotion - 1;
-
- if (emotionIndex >= 0 && emotionIndex <= EmoteDB::getLast())
- EmoteDB::getAnimation(emotionIndex)->draw(graphics, px, py);
-}
-
void Being::drawSpeech(int offsetX, int offsetY)
{
const int px = getPixelX() - offsetX;
const int py = getPixelY() - offsetY;
- const int speech = (int) config.getValue("speech", TEXT_OVERHEAD);
+ const int speech = config.getIntValue("speech");
// Draw speech above this being
if (mSpeechTime == 0)
@@ -766,72 +960,11 @@ void Being::drawSpeech(int offsetX, int offsetY)
}
}
-void Being::setStatusEffectBlock(int offset, Uint16 newEffects)
-{
- for (int i = 0; i < STATUS_EFFECTS; i++)
- {
- int index = StatusEffect::blockEffectIndexToEffectIndex(offset + i);
-
- if (index != -1)
- setStatusEffect(index, (newEffects & (1 << i)) > 0);
- }
-}
-
-void Being::handleStatusEffect(StatusEffect *effect, int effectId)
-{
- if (!effect)
- return;
-
- // TODO: Find out how this is meant to be used
- // (SpriteAction != Being::Action)
- //SpriteAction action = effect->getAction();
- //if (action != ACTION_INVALID)
- // setAction(action);
-
- Particle *particle = effect->getParticle();
-
- if (effectId >= 0)
- {
- mStatusParticleEffects.setLocally(effectId, particle);
- }
- else
- {
- mStunParticleEffects.clearLocally();
- if (particle)
- mStunParticleEffects.addLocally(particle);
- }
-}
-
-void Being::updateStunMode(int oldMode, int newMode)
-{
- handleStatusEffect(StatusEffect::getStatusEffect(oldMode, false), -1);
- handleStatusEffect(StatusEffect::getStatusEffect(newMode, true), -1);
-}
-
-void Being::updateStatusEffect(int index, bool newStatus)
-{
- handleStatusEffect(StatusEffect::getStatusEffect(index, newStatus), index);
-}
-
-void Being::setStatusEffect(int index, bool active)
-{
- const bool wasActive = mStatusEffects.find(index) != mStatusEffects.end();
-
- if (active != wasActive)
- {
- updateStatusEffect(index, active);
- if (active)
- mStatusEffects.insert(index);
- else
- mStatusEffects.erase(index);
- }
-}
-
-/** TODO: eAthena only */
+/** Note: Used by Tmw-Athena only */
int Being::getOffset(char pos, char neg) const
{
// Check whether we're walking in the requested direction
- if (mAction != WALK || !(mDirection & (pos | neg)))
+ if (mAction != MOVE || !(mDirection & (pos | neg)))
return 0;
int offset = 0;
@@ -839,9 +972,9 @@ int Being::getOffset(char pos, char neg) const
if (mMap)
{
offset = (pos == LEFT && neg == RIGHT) ?
- (int)((get_elapsed_time(mWalkTime)
+ (int)((get_elapsed_time(mActionTime)
* mMap->getTileWidth()) / mWalkSpeed.x) :
- (int)((get_elapsed_time(mWalkTime)
+ (int)((get_elapsed_time(mActionTime)
* mMap->getTileHeight()) / mWalkSpeed.y);
}
@@ -859,181 +992,185 @@ int Being::getOffset(char pos, char neg) const
int Being::getWidth() const
{
- AnimatedSprite *base = NULL;
-
- for (SpriteConstIterator it = mSprites.begin(); it != mSprites.end(); it++)
- if ((base = (*it)))
- break;
-
- if (base)
- return std::max(base->getWidth(), DEFAULT_BEING_WIDTH);
-
- return DEFAULT_BEING_WIDTH;
+ return std::max(CompoundSprite::getWidth(), DEFAULT_BEING_WIDTH);
}
int Being::getHeight() const
{
- AnimatedSprite *base = NULL;
-
- for (SpriteConstIterator it = mSprites.begin(); it != mSprites.end(); it++)
- if ((base = (*it)))
- break;
-
- if (base)
- return std::max(base->getHeight(), DEFAULT_BEING_HEIGHT);
-
- return DEFAULT_BEING_HEIGHT;
+ return std::max(CompoundSprite::getHeight(), DEFAULT_BEING_HEIGHT);
}
-void Being::setTargetAnimation(SimpleAnimation *animation)
+void Being::updateCoords()
{
- mUsedTargetCursor = animation;
- mUsedTargetCursor->reset();
-}
-
-struct EffectDescription {
- std::string mGFXEffect;
- std::string mSFXEffect;
-};
+ if (!mDispName)
+ return;
-static EffectDescription *default_effect = NULL;
-static std::map<int, EffectDescription *> effects;
-static bool effects_initialized = false;
+ // Monster names show above the sprite instead of below it
+ if (getType() == MONSTER)
+ mDispName->adviseXY(getPixelX(),
+ getPixelY() - getHeight() - mDispName->getHeight());
+ else
+ mDispName->adviseXY(getPixelX(), getPixelY());
+}
-static EffectDescription *getEffectDescription(xmlNodePtr node, int *id)
+void Being::flashName(int time)
{
- EffectDescription *ed = new EffectDescription;
-
- *id = atoi(XML::getProperty(node, "id", "-1").c_str());
- ed->mSFXEffect = XML::getProperty(node, "audio", "");
- ed->mGFXEffect = XML::getProperty(node, "particle", "");
-
- return ed;
+ if (mDispName)
+ mDispName->flash(time);
}
-static EffectDescription *getEffectDescription(int effectId)
+void Being::showName()
{
- if (!effects_initialized)
- {
- XML::Document doc(BEING_EFFECTS_FILE);
- xmlNodePtr root = doc.rootNode();
+ delete mDispName;
+ mDispName = 0;
+ std::string mDisplayName(mName);
- if (!root || !xmlStrEqual(root->name, BAD_CAST "being-effects"))
+ Being* player = static_cast<Being*>(this);
+ if (player)
+ {
+ if (config.getBoolValue("showgender"))
{
- logger->log("Error loading being effects file: "
- BEING_EFFECTS_FILE);
- return NULL;
+ if (getGender() == GENDER_FEMALE)
+ mDisplayName += " \u2640";
+ else if (getGender() == GENDER_MALE)
+ mDisplayName += " \u2642";
}
- for_each_xml_child_node(node, root)
+ // Display the IP when under tmw-Athena (GM only).
+ if (Net::getNetworkType() == ServerInfo::TMWATHENA && player_node
+ && player_node->getShowIp() && player->getIp())
{
- int id;
-
- if (xmlStrEqual(node->name, BAD_CAST "effect"))
- {
- EffectDescription *EffectDescription =
- getEffectDescription(node, &id);
- effects[id] = EffectDescription;
- }
- else if (xmlStrEqual(node->name, BAD_CAST "default"))
- {
- EffectDescription *effectDescription =
- getEffectDescription(node, &id);
-
- if (default_effect)
- delete default_effect;
+ mDisplayName += strprintf(" %s", ipToString(player->getIp()));
+ }
+ }
- default_effect = effectDescription;
- }
+ if (getType() == MONSTER)
+ {
+ if (config.getBoolValue("showMonstersTakedDamage"))
+ {
+ mDisplayName += ", " + toString(getDamageTaken());
}
+ }
- effects_initialized = true;
- } // done initializing
+ gcn::Font *font = 0;
+ if (player_node && player_node->getTarget() == this
+ && getType() != MONSTER)
+ {
+ font = boldFont;
+ }
- EffectDescription *ed = effects[effectId];
+ mDispName = new FlashText(mDisplayName, getPixelX(), getPixelY(),
+ gcn::Graphics::CENTER, mNameColor, font);
- return ed ? ed : default_effect;
+ updateCoords();
}
-void Being::internalTriggerEffect(int effectId, bool sfx, bool gfx)
+void Being::updateColors()
{
- logger->log("Special effect #%d on %s", effectId,
- getId() == player_node->getId() ? "self" : "other");
-
- EffectDescription *ed = getEffectDescription(effectId);
-
- if (!ed)
+ if (getType() == MONSTER)
{
- logger->log("Unknown special effect and no default recorded");
- return;
+ mNameColor = &userPalette->getColor(UserPalette::MONSTER);
+ mTextColor = &userPalette->getColor(UserPalette::MONSTER);
}
-
- if (gfx && !ed->mGFXEffect.empty())
+ else if (getType() == NPC)
{
- Particle *selfFX;
-
- selfFX = particleEngine->addEffect(ed->mGFXEffect, 0, 0);
- controlParticle(selfFX);
+ mNameColor = &userPalette->getColor(UserPalette::NPC);
+ mTextColor = &userPalette->getColor(UserPalette::NPC);
}
+ else if (this == player_node)
+ {
+ mNameColor = &userPalette->getColor(UserPalette::SELF);
+ mTextColor = &Theme::getThemeColor(Theme::PLAYER);
+ }
+ else
+ {
+ mTextColor = &userPalette->getColor(Theme::PLAYER);
- if (sfx && !ed->mSFXEffect.empty())
- sound.playSfx(ed->mSFXEffect);
-}
+ if (mIsGM)
+ {
+ mTextColor = &userPalette->getColor(UserPalette::GM);
+ mNameColor = &userPalette->getColor(UserPalette::GM);
+ }
+ else if (mParty && mParty == player_node->getParty())
+ {
+ mNameColor = &userPalette->getColor(UserPalette::PARTY);
+ }
+ else
+ {
+ mNameColor = &userPalette->getColor(UserPalette::PC);
+ }
+ }
-void Being::updateCoords()
-{
if (mDispName)
{
- mDispName->adviseXY(getPixelX(), getPixelY());
+ mDispName->setColor(mNameColor);
}
}
-void Being::flashName(int time)
+void Being::setSprite(unsigned int slot, int id, const std::string &color,
+ bool isWeapon)
{
- if (mDispName)
- mDispName->flash(time);
-}
+ assert(slot < Net::getCharHandler()->maxSprite());
-void Being::showName()
-{
- delete mDispName;
- mDispName = 0;
- std::string mDisplayName(mName);
+ if (slot >= size())
+ ensureSize(slot + 1);
- if (getType() == PLAYER)
+ if (slot >= mSpriteIDs.size())
+ mSpriteIDs.resize(slot + 1, 0);
+
+ if (slot >= mSpriteColors.size())
+ mSpriteColors.resize(slot + 1, "");
+
+ // id = 0 means unequip
+ if (id == 0)
{
- Player* player = static_cast<Player*>(this);
- if (player)
- {
- if (config.getValue("showgender", false))
- {
- if (player->getGender() == GENDER_FEMALE)
- mDisplayName += " \u2640";
- else
- mDisplayName += " \u2642";
- }
- if (Net::getNetworkType() == ServerInfo::TMWATHENA && player_node
- && player_node->getShowIp() && player->getIp())
- {
- mDisplayName += strprintf(" %s", ipToString(player->getIp()));
- }
- }
+ removeSprite(slot);
+
+ if (isWeapon)
+ mEquippedWeapon = NULL;
}
- else if (getType() == MONSTER)
+ else
{
- if (config.getValue("showMonstersTakedDamage", false))
+ std::string filename = itemDb->get(id).getSprite(mGender);
+ AnimatedSprite *equipmentSprite = NULL;
+
+ if (!filename.empty())
{
- mDisplayName += ", " + toString(getDamageTaken());
+ if (!color.empty())
+ filename += "|" + color;
+
+ equipmentSprite = AnimatedSprite::load(
+ paths.getStringValue("sprites") + filename);
}
+
+ if (equipmentSprite)
+ equipmentSprite->setDirection(getSpriteDirection());
+
+ CompoundSprite::setSprite(slot, equipmentSprite);
+
+ if (isWeapon)
+ mEquippedWeapon = &itemDb->get(id);
+
+ setAction(mAction);
}
- mDispName = new FlashText(mDisplayName, getPixelX(), getPixelY(),
- gcn::Graphics::CENTER, mNameColor);
+ mSpriteIDs[slot] = id;
+ mSpriteColors[slot] = color;
+}
+
+void Being::setSpriteID(unsigned int slot, int id)
+{
+ setSprite(slot, id, mSpriteColors[slot]);
+}
+
+void Being::setSpriteColor(unsigned int slot, const std::string &color)
+{
+ setSprite(slot, mSpriteIDs[slot], color);
}
int Being::getNumberOfLayers() const
{
- return mSprites.size();
+ return CompoundSprite::getNumberOfLayers();
}
void Being::load()
@@ -1042,8 +1179,8 @@ void Being::load()
// we can go.
int hairstyles = 1;
- while (ItemDB::get(-hairstyles).getSprite(GENDER_MALE) !=
- paths.getValue("spriteErrorFile", "error.xml"))
+ while (itemDb->get(-hairstyles).getSprite(GENDER_MALE) !=
+ paths.getStringValue("spriteErrorFile"))
hairstyles++;
mNumberOfHairstyles = hairstyles;
@@ -1054,3 +1191,64 @@ void Being::updateName()
if (mShowName)
showName();
}
+
+void Being::setGender(Gender gender)
+{
+ if (gender != mGender)
+ {
+ mGender = gender;
+
+ // Reload all subsprites
+ for (unsigned int i = 0; i < mSpriteIDs.size(); i++)
+ {
+ if (mSpriteIDs.at(i) != 0)
+ setSprite(i, mSpriteIDs.at(i), mSpriteColors.at(i));
+ }
+
+ updateName();
+ }
+}
+
+void Being::setGM(bool gm)
+{
+ mIsGM = gm;
+
+ updateColors();
+}
+
+bool Being::canTalk()
+{
+ return mType == NPC;
+}
+
+void Being::talkTo()
+{
+ Net::getNpcHandler()->talk(mId);
+}
+
+void Being::event(Channels channel, const Mana::Event &event)
+{
+ if (channel == CHANNEL_CHAT &&
+ (event.getName() == EVENT_BEING || event.getName() == EVENT_PLAYER) &&
+ event.getInt("permissions") & PlayerRelation::SPEECH_FLOAT)
+ {
+ try
+ {
+ if (mId == event.getInt("beingId"))
+ {
+ setSpeech(event.getString("text"));
+ }
+ }
+ catch (Mana::BadEvent badEvent)
+ {}
+ }
+ else if (channel == CHANNEL_CONFIG &&
+ event.getName() == EVENT_CONFIGOPTIONCHANGED)
+ {
+ if (getType() == PLAYER && event.getString("option") == "visiblenames")
+ {
+ setShowName(config.getBoolValue("visiblenames"));
+ }
+ }
+
+}
diff --git a/src/being.h b/src/being.h
index 71b3e2cf..7f6f8007 100644
--- a/src/being.h
+++ b/src/being.h
@@ -22,19 +22,17 @@
#ifndef BEING_H
#define BEING_H
-#include "configlistener.h"
+#include "actorsprite.h"
+#include "listener.h"
#include "map.h"
-#include "particlecontainer.h"
#include "position.h"
-#include "sprite.h"
#include "vector.h"
-#include "resources/spritedef.h"
-
#include <guichan/color.hpp>
#include <SDL_types.h>
+#include <map>
#include <set>
#include <string>
#include <vector>
@@ -45,31 +43,27 @@
#define SPEECH_TIME 500
#define SPEECH_MAX_TIME 1000
-class AnimatedSprite;
+class BeingInfo;
class FlashText;
-class Graphics;
-class Image;
+class Guild;
class ItemInfo;
class Item;
class Particle;
+class Party;
class Position;
-class SimpleAnimation;
class SpeechBubble;
class Text;
-class StatusEffect;
+enum Gender
+{
+ GENDER_MALE = 0,
+ GENDER_FEMALE = 1,
+ GENDER_UNSPECIFIED = 2
+};
-class Being : public Sprite, public ConfigListener
+class Being : public ActorSprite, public Mana::Listener
{
public:
- enum Type
- {
- UNKNOWN,
- PLAYER,
- NPC,
- MONSTER
- };
-
/**
* Action the being is currently performing
* WARNING: Has to be in sync with the same enum in the Being class
@@ -78,21 +72,13 @@ class Being : public Sprite, public ConfigListener
enum Action
{
STAND,
- WALK,
+ MOVE,
ATTACK,
SIT,
DEAD,
HURT
};
- enum TargetCursorSize
- {
- TC_SMALL = 0,
- TC_MEDIUM,
- TC_LARGE,
- NUM_TC
- };
-
enum Speech
{
NO_SPEECH = 0,
@@ -128,29 +114,27 @@ class Being : public Sprite, public ConfigListener
* @param subtype partly determines the type of the being
* @param map the map the being is on
*/
- Being(int id, int subtype, Map *map);
+ Being(int id, Type type, int subtype, Map *map);
virtual ~Being();
+ Type getType() const { return mType; }
+
/**
* Removes all path nodes from this being.
*/
void clearPath();
/**
- * Returns the walk time.
- * Used to know which frame to display and trigger
- * the next Tile step.
- * TODO: Used by eAthena only?
+ * Returns the time spent in the current action.
*/
- int getWalkTime() const { return mWalkTime; }
+ int getActionTime() const { return mActionTime; }
/**
- * Set the current WalkTime value.
- * TODO: Used by eAthena only?
+ * Set the current action time.
* @see Ea::BeingHandler that set it to tick time.
*/
- void setWalkTime(int walkTime) { mWalkTime = walkTime; }
+ void setActionTime(int actionTime) { mActionTime = actionTime; }
/**
* Makes this being take the next tile of its path.
@@ -216,7 +200,7 @@ class Being : public Sprite, public ConfigListener
* @param damage the amount of damage recieved (0 means miss)
* @param type the attack type
*/
- virtual void takeDamage(Being *attacker, int damage, AttackType type);
+ void takeDamage(Being *attacker, int damage, AttackType type);
/**
* Handles an attack of another being by this being.
@@ -238,23 +222,82 @@ class Being : public Sprite, public ConfigListener
*
* @param name The name that should appear.
*/
- virtual void setName(const std::string &name);
+ void setName(const std::string &name);
bool getShowName() const
{ return mShowName; }
- virtual void setShowName(bool doShowName);
+ void setShowName(bool doShowName);
/**
- * Following are set from the server (mainly for players)
+ * Sets the name of the party the being is in. Shown in BeingPopup.
*/
void setPartyName(const std::string &name) { mPartyName = name; }
const std::string &getPartyName() const { return mPartyName; }
- virtual void setGuildName(const std::string &name);
+ /**
+ * Sets the name of the primary guild the being is in. Shown in
+ * BeingPopup (eventually).
+ */
+ void setGuildName(const std::string &name);
+
+ void setGuildPos(const std::string &pos);
+
+ /**
+ * Adds a guild to the being.
+ */
+ void addGuild(Guild *guild);
+
+ /**
+ * Removers a guild from the being.
+ */
+ void removeGuild(int id);
+
+ /**
+ * Returns a pointer to the specified guild that the being is in.
+ */
+ Guild *getGuild(const std::string &guildName) const;
+
+ /**
+ * Returns a pointer to the specified guild that the being is in.
+ */
+ Guild *getGuild(int id) const;
+
+ /**
+ * Returns all guilds the being is in.
+ */
+ const std::map<int, Guild*> &getGuilds() const
+ { return mGuilds; }
+
+ /**
+ * Removes all guilds the being is in.
+ */
+ void clearGuilds();
+
+ /**
+ * Get number of guilds the being belongs to.
+ */
+ short getNumberOfGuilds() const
+ { return mGuilds.size(); }
+
+ bool isInParty() const
+ { return mParty != NULL; }
+
+ void setParty(Party *party);
+
+ Party *getParty() const
+ { return mParty; }
- virtual void setGuildPos(const std::string &pos);
+ /**
+ * Sets visible equipments for this being.
+ */
+ void setSprite(unsigned int slot, int id,
+ const std::string &color = "", bool isWeapon = false);
+
+ void setSpriteID(unsigned int slot, int id);
+
+ void setSpriteColor(unsigned int slot, const std::string &color = "");
/**
* Get the number of hairstyles implemented
@@ -277,25 +320,27 @@ class Being : public Sprite, public ConfigListener
*/
void drawSpeech(int offsetX, int offsetY);
+ Uint16 getSubType() const { return mSubType; }
+
+ /**
+ * Set Being's subtype (mostly for view for monsters and NPCs)
+ */
+ void setSubtype(Uint16 subtype);
+
+ const BeingInfo *getInfo() const
+ { return mInfo; }
+
+ TargetCursorSize getTargetCursorSize() const;
+
/**
- * Draws the emotion picture above the being.
+ * Gets the way the object is blocked by other objects.
*/
- void drawEmotion(Graphics *graphics, int offsetX, int offsetY);
+ unsigned char getWalkMask() const;
/**
- * Returns the type of the being.
+ * Gets the way the monster blocks pathfinding for other objects
*/
- virtual Type getType() const { return UNKNOWN; }
-
- /**
- * Return Being's current Job (player job, npc, monster, creature )
- */
- Uint16 getSubType() const { return mSubType; }
-
- /**
- * Set Being's current Job (player job, npc, monster, creature )
- */
- virtual void setSubtype(Uint16 subtype) { mSubType = subtype; }
+ Map::BlockType getBlockType() const;
/**
* Sets the walk speed.
@@ -324,18 +369,6 @@ class Being : public Sprite, public ConfigListener
int getAttackSpeed() const { return mAttackSpeed; }
/**
- * Sets the sprite id.
- */
- void setId(int id) { mId = id; }
-
- int getId() const { return mId; }
-
- /**
- * Sets the map the being is on
- */
- void setMap(Map *map);
-
- /**
* Sets the current action.
*/
virtual void setAction(Action action, int attackType = 0);
@@ -361,65 +394,11 @@ class Being : public Sprite, public ConfigListener
void setDirection(Uint8 direction);
/**
- * Returns the being's current sprite frame number.
- */
- int getCurrentFrame() const { return mFrame; }
-
- /**
- * Set the being's current sprite frame number.
- */
- void setFrame(int frame) { mFrame = frame; }
-
- /**
* Returns the direction the being is facing.
*/
SpriteDirection getSpriteDirection() const
{ return SpriteDirection(mSpriteDirection); }
- /**
- * Draws this being to the given graphics context.
- *
- * @see Sprite::draw(Graphics, int, int)
- *
- * TODO: The following two functions should be combined.
- * at some point draw(), was changed to use mPx and mPy, with arugements
- * only for the offset, drawSpriteAt() takes x, and y and draws the sprite
- * exactly at those coords (though it does do some computing to work how the
- * old draw() worked).
- */
- virtual void draw(Graphics *graphics, int offsetX, int offsetY) const;
-
- virtual void drawSpriteAt(Graphics *graphics, int x, int y) const;
-
- /**
- * Set the alpha opacity used to draw the being.
- */
- virtual void setAlpha(float alpha)
- { mAlpha = alpha; }
-
- /**
- * Returns the current alpha opacity of the Being.
- */
- virtual float getAlpha() const
- { return mAlpha; }
-
- /**
- * Returns the X coordinate in pixels.
- */
- int getPixelX() const
- { return (int) mPos.x; }
-
- /**
- * Returns the Y coordinate in pixels.
- *
- * @see Sprite::getPixelY()
- */
- int getPixelY() const
- { return (int) mPos.y; }
-
- /**
- * Sets the position of this being.
- */
void setPosition(const Vector &pos);
/**
@@ -427,17 +406,12 @@ class Being : public Sprite, public ConfigListener
*
* @see setPosition(const Vector &pos)
*/
- void setPosition(float x, float y, float z = 0.0f)
+ inline void setPosition(float x, float y, float z = 0.0f)
{
setPosition(Vector(x, y, z));
}
/**
- * Returns the position of this being.
- */
- const Vector &getPosition() const { return mPos; }
-
- /**
* Returns the horizontal size of the current base sprite of the being.
*/
virtual int getWidth() const;
@@ -453,106 +427,61 @@ class Being : public Sprite, public ConfigListener
virtual int getCollisionRadius() const;
/**
- * Returns the required size of a target cursor for this being.
- */
- virtual Being::TargetCursorSize getTargetCursorSize() const
- { return TC_MEDIUM; }
-
- /**
- * Take control of a particle.
- */
- void controlParticle(Particle *particle);
-
- /**
* Shoots a missile particle from this being, to target being
*/
void fireMissile(Being *target, const std::string &particle);
/**
- * Gets the way the object is blocked by other objects.
- */
- virtual unsigned char getWalkMask() const
- { return 0x00; } //can walk through everything
-
- /**
* Returns the path this being is following. An empty path is returned
* when this being isn't following any path currently.
*/
const Path &getPath() const { return mPath; }
- /**
- * Sets the target animation for this being.
- */
- void setTargetAnimation(SimpleAnimation *animation);
+ static void load();
- /**
- * Untargets the being
- */
- void untarget() { mUsedTargetCursor = NULL; }
+ void flashName(int time);
+ int getDamageTaken() const
+ { return mDamageTaken; }
+
+ void updateName();
/**
- * Set the Emoticon type and time displayed above
- * the being.
+ * Sets the gender of this being.
*/
- void setEmote(Uint8 emotion, Uint8 emote_time)
- {
- mEmotion = emotion;
- mEmotionTime = emote_time;
- }
+ virtual void setGender(Gender gender);
+
+ Gender getGender() const
+ { return mGender; }
/**
- * Get the current Emoticon type displayed above
- * the being.
+ * Whether or not this player is a GM.
*/
- Uint8 getEmotion() const { return mEmotion; }
+ bool isGM() const
+ { return mIsGM; }
/**
- * Sets the being's stun mode. If zero, the being is `normal',
- * otherwise it is `stunned' in some fashion.
+ * Triggers whether or not to show the name as a GM name.
*/
- void setStunMode(int stunMode)
- {
- if (mStunMode != stunMode)
- updateStunMode(mStunMode, stunMode);
- mStunMode = stunMode;
- };
-
- void setStatusEffect(int index, bool active);
+ void setGM(bool gm);
/**
- * A status effect block is a 16 bit mask of status effects.
- * We assign each such flag a block ID of offset + bitnr.
- *
- * These are NOT the same as the status effect indices.
+ * Sets the IP or an IP hash.
+ * The TMW-Athena server sends this information only to GMs.
*/
- void setStatusEffectBlock(int offset, Uint16 flags);
+ void setIp(int ip) { mIp = ip; }
/**
- * Triggers a visual effect, such as `level up'
- *
- * Only draws the visual effect, does not play sound effects
- *
- * \param effectId ID of the effect to trigger
+ * Returns the player's IP or an IP hash.
+ * Value is 0 if not set by the server.
*/
- virtual void triggerEffect(int effectId)
- {
- internalTriggerEffect(effectId, false, true);
- }
-
- virtual AnimatedSprite *getSprite(int index) const
- { return mSprites[index]; }
+ int getIp() const { return mIp; }
- static void load();
-
- virtual void optionChanged(const std::string &value) {}
+ bool canTalk();
- void flashName(int time);
-
- int getDamageTaken() const
- { return mDamageTaken; }
+ void talkTo();
- void updateName();
+ void event(Channels channel, const Mana::Event &event);
protected:
/**
@@ -563,69 +492,29 @@ class Being : public Sprite, public ConfigListener
/**
* Updates name's location.
*/
- virtual void updateCoords();
+ void updateCoords();
- /**
- * Gets the way the object blocks pathfinding for other objects
- */
- virtual Map::BlockType getBlockType() const
- { return Map::BLOCKTYPE_NONE; }
+ void showName();
- /**
- * Trigger visual effect, with components
- *
- * \param effectId ID of the effect to trigger
- * \param sfx Whether to trigger sound effects
- * \param gfx Whether to trigger graphical effects
- */
- void internalTriggerEffect(int effectId, bool sfx, bool gfx);
-
- /**
- * Notify self that the stun mode has been updated. Invoked by
- * setStunMode if something changed.
- */
- virtual void updateStunMode(int oldMode, int newMode);
+ void updateColors();
- /**
- * Notify self that a status effect has flipped.
- * The new flag is passed.
- */
- virtual void updateStatusEffect(int index, bool newStatus);
+ BeingInfo *mInfo;
- /**
- * Handle an update to a status or stun effect
- *
- * \param The StatusEffect to effect
- * \param effectId -1 for stun, otherwise the effect index
- */
- virtual void handleStatusEffect(StatusEffect *effect, int effectId);
+ int mActionTime; /**< Time spent in current action */
- virtual void showName();
-
- /** The current sprite Frame number to be displayed */
- int mFrame;
-
- /** Used to trigger the nextStep (walking on next Tile)
- * TODO: Used by eAthena only?
- */
- int mWalkTime;
-
- int mEmotion; /**< Currently showing emotion */
- int mEmotionTime; /**< Time until emotion disappears */
/** Time until the last speech sentence disappears */
int mSpeechTime;
+ int mAttackType;
int mAttackSpeed; /**< Attack speed */
+
Action mAction; /**< Action the being is performing */
Uint16 mSubType; /**< Subtype (graphical view, basically) */
- int mId; /**< Unique sprite id */
Uint8 mDirection; /**< Facing direction */
Uint8 mSpriteDirection; /**< Facing direction */
- Map *mMap; /**< Map on which this being resides */
std::string mName; /**< Name of character */
std::string mPartyName;
- MapSprite mMapSprite;
/**
* Holds a text object when the being displays it's name, 0 otherwise
@@ -643,20 +532,18 @@ class Being : public Sprite, public ConfigListener
std::string mSpeech;
Text *mText;
const gcn::Color *mTextColor;
- Uint16 mStunMode; /**< Stun mode; zero if not stunned */
- std::set<int> mStatusEffects; /**< set of active status effects */
- typedef std::vector<AnimatedSprite*> Sprites;
- typedef Sprites::iterator SpriteIterator;
- typedef Sprites::const_iterator SpriteConstIterator;
- Sprites mSprites;
- float mAlpha; /**< Alpha opacity to draw the sprite */
+ Vector mDest; /**< destination coordinates. */
+
+ std::vector<int> mSpriteIDs;
+ std::vector<std::string> mSpriteColors;
+ Gender mGender;
- ParticleList mStunParticleEffects;
- ParticleVector mStatusParticleEffects;
- ParticleList mChildParticleEffects;
+ // Character guild information
+ std::map<int, Guild*> mGuilds;
+ Party *mParty;
- Vector mDest; /**< destination coordinates. */
+ bool mIsGM;
private:
@@ -667,8 +554,7 @@ class Being : public Sprite, public ConfigListener
*/
int getOffset(char pos, char neg) const;
- /** Reset particle status effects on next redraw? */
- bool mMustResetParticles;
+ const Type mType;
/** Speech Bubble components */
SpeechBubble *mSpeechBubble;
@@ -681,13 +567,11 @@ class Being : public Sprite, public ConfigListener
*/
Vector mWalkSpeed;
- Vector mPos; /**< Position coordinates. */
int mX, mY; /**< Position in tile */
int mDamageTaken;
- /** Target cursor being used */
- SimpleAnimation *mUsedTargetCursor;
+ int mIp;
};
#endif
diff --git a/src/beingmanager.cpp b/src/beingmanager.cpp
deleted file mode 100644
index d7045684..00000000
--- a/src/beingmanager.cpp
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana 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/>.
- */
-
-#include "beingmanager.h"
-
-#include "localplayer.h"
-#include "monster.h"
-#include "npc.h"
-#include "player.h"
-
-#include "gui/viewport.h"
-
-#include "net/gamehandler.h"
-#include "net/net.h"
-
-#include "utils/stringutils.h"
-#include "utils/dtor.h"
-
-#include <cassert>
-
-class FindBeingFunctor
-{
- public:
- bool operator() (Being *being)
- {
- Uint16 other_y = y + ((being->getType() == Being::NPC) ? 1 : 0);
- const Vector &pos = being->getPosition();
- return ((int) pos.x / 32 == x &&
- ((int) pos.y / 32 == y || (int) pos.y / 32 == other_y) &&
- being->isAlive() &&
- (type == Being::UNKNOWN || being->getType() == type));
- }
-
- Uint16 x, y;
- Being::Type type;
-} beingFinder;
-
-class PlayerNamesLister : public AutoCompleteLister
-{
- void getAutoCompleteList(std::vector<std::string>& names) const
- {
- Beings::iterator i = beingManager->mBeings.begin();
- names.clear();
-
- while (i != beingManager->mBeings.end())
- {
- Being *being = (*i);
- if (being->getType() == Being::PLAYER && being->getName() != "")
- names.push_back(being->getName());
-
- ++i;
- }
- }
-};
-
-class PlayerNPCNamesLister : public AutoCompleteLister
-{
- void getAutoCompleteList(std::vector<std::string>& names) const
- {
- Beings::iterator i = beingManager->mBeings.begin();
- names.clear();
-
- while (i != beingManager->mBeings.end())
- {
- Being *being = (*i);
- if ((being->getType() == Being::PLAYER
- || being->getType() == Being::NPC)
- && being->getName() != "")
- names.push_back(being->getName());
-
- ++i;
- }
- }
-};
-
-BeingManager::BeingManager()
-{
- mPlayerNames = new PlayerNamesLister;
- mPlayerNPCNames = new PlayerNPCNamesLister;
-}
-
-BeingManager::~BeingManager()
-{
- clear();
-}
-
-void BeingManager::setMap(Map *map)
-{
- mMap = map;
- if (player_node)
- player_node->setMap(map);
-}
-
-void BeingManager::setPlayer(LocalPlayer *player)
-{
- player_node = player;
- mBeings.push_back(player);
-}
-
-Being *BeingManager::createBeing(int id, Being::Type type, int subtype)
-{
- Being *being;
-
- switch (type)
- {
- case Being::PLAYER:
- being = new Player(id, subtype, mMap);
- break;
- case Being::NPC:
- being = new NPC(id, subtype, mMap);
- break;
- case Being::MONSTER:
- being = new Monster(id, subtype, mMap);
- break;
- case Being::UNKNOWN:
- being = new Being(id, subtype, mMap);
- break;
- default:
- assert(false);
- }
-
- mBeings.push_back(being);
- return being;
-}
-
-void BeingManager::destroyBeing(Being *being)
-{
- mBeings.remove(being);
- viewport->clearHoverBeing(being);
- delete being;
-}
-
-Being *BeingManager::findBeing(int id) const
-{
- for (Beings::const_iterator i = mBeings.begin(), i_end = mBeings.end();
- i != i_end; ++i)
- {
- Being *being = (*i);
- if (being->getId() == id)
- return being;
- }
- return NULL;
-}
-
-Being *BeingManager::findBeing(int x, int y, Being::Type type) const
-{
- beingFinder.x = x;
- beingFinder.y = y;
- beingFinder.type = type;
-
- Beings::const_iterator i = find_if(mBeings.begin(), mBeings.end(),
- beingFinder);
-
- return (i == mBeings.end()) ? NULL : *i;
-}
-
-Being *BeingManager::findBeingByPixel(int x, int y) const
-{
- Beings::const_iterator itr = mBeings.begin();
- Beings::const_iterator itr_end = mBeings.end();
-
- for (; itr != itr_end; ++itr)
- {
- Being *being = (*itr);
-
- int xtol = being->getWidth() / 2;
- int uptol = being->getHeight();
-
- if ((being->isAlive()) &&
- (being != player_node) &&
- (being->getPixelX() - xtol <= x) &&
- (being->getPixelX() + xtol >= x) &&
- (being->getPixelY() - uptol <= y) &&
- (being->getPixelY() >= y))
- {
- return being;
- }
- }
-
- return NULL;
-}
-
-Being *BeingManager::findBeingByName(const std::string &name,
- Being::Type type) const
-{
- for (Beings::const_iterator i = mBeings.begin(), i_end = mBeings.end();
- i != i_end; ++i)
- {
- Being *being = (*i);
- if (!compareStrI(being->getName(),name) &&
- (type == Being::UNKNOWN || type == being->getType()))
- return being;
- }
- return NULL;
-}
-
-const Beings &BeingManager::getAll() const
-{
- return mBeings;
-}
-
-void BeingManager::logic()
-{
- Beings::iterator i = mBeings.begin();
- while (i != mBeings.end())
- {
- Being *being = (*i);
-
- being->logic();
-
- if (!being->isAlive() &&
- Net::getGameHandler()->removeDeadBeings() &&
- being->getCurrentFrame() >= 20)
- {
- delete being;
- i = mBeings.erase(i);
- }
- else
- {
- ++i;
- }
- }
-}
-
-void BeingManager::clear()
-{
- if (player_node)
- mBeings.remove(player_node);
-
- delete_all(mBeings);
- mBeings.clear();
-
- if (player_node)
- mBeings.push_back(player_node);
-}
-
-Being *BeingManager::findNearestLivingBeing(int x, int y,
- int maxTileDist, Being::Type type,
- Being *excluded) const
-{
- Being *closestBeing = 0;
- int dist = 0;
-
- const int maxDist = maxTileDist * 32;
-
- Beings::const_iterator itr = mBeings.begin();
- Beings::const_iterator itr_end = mBeings.end();
-
- for (; itr != itr_end; ++itr)
- {
- Being *being = (*itr);
- const Vector &pos = being->getPosition();
- int d = abs(((int) pos.x) - x) + abs(((int) pos.y) - y);
-
- if ((being->getType() == type || type == Being::UNKNOWN)
- && (d < dist || !closestBeing) // it is closer
- && being->isAlive() // no dead beings
- && being != excluded)
- {
- dist = d;
- closestBeing = being;
- }
- }
-
- return (maxDist >= dist) ? closestBeing : 0;
-}
-
-Being *BeingManager::findNearestLivingBeing(Being *aroundBeing, int maxDist,
- Being::Type type) const
-{
- const Vector &pos = aroundBeing->getPosition();
- return findNearestLivingBeing((int)pos.x, (int)pos.y, maxDist, type,
- aroundBeing);
-}
-
-bool BeingManager::hasBeing(Being *being) const
-{
- for (Beings::const_iterator i = mBeings.begin(), i_end = mBeings.end();
- i != i_end; ++i)
- {
- if (being == *i)
- return true;
- }
-
- return false;
-}
-
-AutoCompleteLister *BeingManager::getPlayerNameLister()
-{
- return mPlayerNames;
-}
-
-AutoCompleteLister *BeingManager::getPlayerNPCNameLister()
-{
- return mPlayerNPCNames;
-}
-
-void BeingManager::updatePlayerNames()
-{
- Beings::iterator i = mBeings.begin();
-
- while (i != mBeings.end())
- {
- Being *being = (*i);
- if (being->getType() == Being::PLAYER && being->getName() != "")
- being->updateName();
- ++i;
- }
-}
diff --git a/src/chatlog.cpp b/src/chatlog.cpp
new file mode 100644
index 00000000..f33b1aff
--- /dev/null
+++ b/src/chatlog.cpp
@@ -0,0 +1,175 @@
+/*
+ * The Mana World
+ * Copyright (C) 2009-2010 The Mana Developers
+ *
+ * This file is part of The Mana World.
+ *
+ * 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "chatlog.h"
+
+#include <iostream>
+#include <sstream>
+#include <dirent.h>
+
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/time.h>
+
+#ifdef WIN32
+#include <windows.h>
+#elif defined __APPLE__
+#include <Carbon/Carbon.h>
+#endif
+
+#include "configuration.h"
+
+#include "utils/stringutils.h"
+
+ChatLogger::ChatLogger()
+{
+}
+
+ChatLogger::~ChatLogger()
+{
+ if (mLogFile.is_open())
+ mLogFile.close();
+}
+
+void ChatLogger::setLogFile(const std::string &logFilename)
+{
+ if (mLogFile.is_open())
+ mLogFile.close();
+
+ mLogFile.open(logFilename.c_str(), std::ios_base::app);
+
+ if (!mLogFile.is_open())
+ {
+ std::cout << "Warning: error while opening " << logFilename <<
+ " for writing.\n";
+ }
+}
+
+void ChatLogger::setLogDir(const std::string &logDir)
+{
+ mLogDir = logDir;
+
+ if (mLogFile.is_open())
+ mLogFile.close();
+
+ DIR *dir = opendir(mLogDir.c_str());
+ if (!dir)
+ makeDir(mLogDir);
+ else
+ closedir(dir);
+}
+
+void ChatLogger::log(std::string str)
+{
+ std::string dateStr = getDateString();
+ if (!mLogFile.is_open() || dateStr != mLogDate)
+ {
+ mLogDate = dateStr;
+ setLogFile(strprintf("%s/%s/#General_%s.log", mLogDir.c_str(),
+ mServerName.c_str(), dateStr.c_str()));
+ }
+
+ str = removeColors(str);
+ writeTo(mLogFile, str);
+}
+
+void ChatLogger::log(std::string name, std::string str)
+{
+ std::ofstream logFile;
+ logFile.open(strprintf("%s/%s/%s_%s.log", mLogDir.c_str(), mServerName.c_str(),
+ secureName(name).c_str(), getDateString().c_str()).c_str(),
+ std::ios_base::app);
+
+ if (!logFile.is_open())
+ return;
+
+ str = removeColors(str);
+ writeTo(logFile, str);
+
+ if (logFile.is_open())
+ logFile.close();
+}
+
+std::string ChatLogger::getDateString() const
+{
+ std::string date;
+
+ time_t rawtime;
+ struct tm *timeinfo;
+ char buffer [80];
+
+ time (&rawtime);
+ timeinfo = localtime(&rawtime);
+
+ strftime(buffer, 79, "%y-%m-%d", timeinfo);
+ date = buffer;
+ return date;
+}
+
+std::string ChatLogger::secureName(std::string &name) const
+{
+ for (unsigned int f = 0; f < name.length(); f ++)
+ {
+ if (name[f] < '0' && name[f] > '9' && name[f] < 'a' && name[f] > 'z'
+ && name[f] < 'A' && name[f] > 'Z'
+ && name[f] != '-' && name[f] != '+' && name[f] != '='
+ && name[f] != '.' && name[f] != ','&& name[f] != ')'
+ && name[f] != '(' && name[f] != '[' && name[f] != ')')
+ {
+ name[f] = '_';
+ }
+ }
+ return name;
+}
+
+void ChatLogger::writeTo(std::ofstream &file, const std::string &str) const
+{
+ file << str << std::endl;
+}
+
+void ChatLogger::setServerName(const std::string &serverName)
+{
+ mServerName = serverName;
+ if (mServerName == "")
+ mServerName = config.getStringValue("MostUsedServerName0");
+
+ if (mLogFile.is_open())
+ mLogFile.close();
+
+ secureName(mServerName);
+ if (mLogDir != "")
+ {
+ DIR *dir = opendir((mLogDir + "/" + mServerName).c_str());
+ if (!dir)
+ makeDir(mLogDir + "/" + mServerName);
+ else
+ closedir(dir);
+ }
+}
+
+void ChatLogger::makeDir(const std::string &dir)
+{
+#ifdef WIN32
+ mkdir(dir.c_str());
+#else
+ mkdir(dir.c_str(), 0750);
+#endif
+}
diff --git a/src/chatlog.h b/src/chatlog.h
new file mode 100644
index 00000000..c359e953
--- /dev/null
+++ b/src/chatlog.h
@@ -0,0 +1,73 @@
+/*
+ * The Mana World
+ * Copyright (C) 2009-2010 The Mana Developers
+ *
+ * This file is part of The Mana World.
+ *
+ * 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef _CHATLOG_H
+#define _CHATLOG_H
+
+#include <fstream>
+
+class ChatLogger
+{
+ public:
+ /**
+ * Constructor.
+ */
+ ChatLogger();
+
+ /**
+ * Destructor, closes log file.
+ */
+ ~ChatLogger();
+
+ void setLogDir(const std::string &logDir);
+
+ /**
+ * Enters a message in the log. The message will be timestamped.
+ */
+ void log(std::string str);
+
+ void log(std::string name, std::string str);
+
+ std::string getDateString() const;
+
+ std::string secureName(std::string &str) const;
+
+ void setServerName(const std::string &serverName);
+
+ private:
+ /**
+ * Sets the file to log to and opens it
+ */
+ void setLogFile(const std::string &logFilename);
+
+ void writeTo(std::ofstream &file, const std::string &str) const;
+
+ void makeDir(const std::string &dir);
+
+ std::ofstream mLogFile;
+ std::string mLogDir;
+ std::string mServerName;
+ std::string mLogDate;
+};
+
+extern ChatLogger *chatLogger;
+
+#endif
diff --git a/src/client.cpp b/src/client.cpp
index b57c3ae8..f61b5612 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -22,8 +22,10 @@
#include "client.h"
#include "main.h"
+#include "chatlog.h"
#include "configuration.h"
#include "emoteshortcut.h"
+#include "event.h"
#include "game.h"
#include "itemshortcut.h"
#include "keyboardconfig.h"
@@ -47,10 +49,8 @@
#include "gui/sdlinput.h"
#include "gui/serverdialog.h"
#include "gui/setup.h"
-#include "gui/theme.h"
#include "gui/unregisterdialog.h"
#include "gui/updatewindow.h"
-#include "gui/userpalette.h"
#include "gui/worldselectdialog.h"
#include "gui/widgets/button.h"
@@ -69,8 +69,11 @@
#include "resources/image.h"
#include "resources/itemdb.h"
#include "resources/monsterdb.h"
+#include "resources/specialdb.h"
#include "resources/npcdb.h"
#include "resources/resourcemanager.h"
+#include "resources/theme.h"
+#include "resources/userpalette.h"
#include "utils/gettext.h"
#include "utils/mkdir.h"
@@ -111,11 +114,14 @@ Configuration config; /**< XML file configuration reader */
Configuration branding; /**< XML branding information reader */
Configuration paths; /**< XML default paths information reader */
Logger *logger; /**< Log object */
+ChatLogger *chatLogger; /**< Chat log object */
KeyboardConfig keyboard;
UserPalette *userPalette;
Graphics *graphics;
+ItemDB *itemDb;
+
Sound sound;
void ErrorListener::action(const gcn::ActionEvent &)
@@ -166,6 +172,22 @@ int get_elapsed_time(int start_time)
* MILLISECONDS_IN_A_TICK;
}
+bool isDoubleClick(int selected)
+{
+ const Uint32 maximumDelay = 500;
+ static Uint32 lastTime = 0;
+ static int lastSelected = -1;
+
+ if (selected == lastSelected && lastTime + maximumDelay >= SDL_GetTicks())
+ {
+ lastTime = 0;
+ return true;
+ }
+
+ lastTime = SDL_GetTicks();
+ lastSelected = selected;
+ return false;
+}
// This anonymous namespace hides whatever is inside from other modules.
namespace {
@@ -188,8 +210,16 @@ public:
}
} loginListener;
-} // anonymous namespace
+class ServerChoiceListener : public gcn::ActionListener
+{
+public:
+ void action(const gcn::ActionEvent &)
+ {
+ Client::setState(STATE_CHOOSE_SERVER);
+ }
+} serverChoiceListener;
+} // anonymous namespace
Client *Client::mInstance = 0;
@@ -216,15 +246,22 @@ Client::Client(const Options &options):
if (!options.brandingPath.empty())
{
branding.init(options.brandingPath);
+ branding.setDefaultValues(getBrandingDefaults());
}
initRootDir();
initHomeDir();
initConfiguration();
+ chatLogger = new ChatLogger;
+ if (options.chatLogDir == "")
+ chatLogger->setLogDir(mLocalDataDir + std::string("/logs/"));
+ else
+ chatLogger->setLogDir(options.chatLogDir);
+
// Configure logger
logger->setLogFile(mLocalDataDir + std::string("/mana.log"));
- logger->setLogToStandardOut(config.getValue("logToStandardOut", 0));
+ logger->setLogToStandardOut(config.getBoolValue("logToStandardOut"));
// Log the mana version
logger->log("Mana %s", FULL_VERSION);
@@ -347,11 +384,11 @@ Client::Client(const Options &options):
graphics = new Graphics;
#endif
- const int width = (int) config.getValue("screenwidth", defaultScreenWidth);
- const int height = (int) config.getValue("screenheight", defaultScreenHeight);
+ const int width = config.getIntValue("screenwidth");
+ const int height = config.getIntValue("screenheight");
const int bpp = 0;
- const bool fullscreen = ((int) config.getValue("screen", 0) == 1);
- const bool hwaccel = ((int) config.getValue("hwaccel", 0) == 1);
+ const bool fullscreen = config.getBoolValue("screen");
+ const bool hwaccel = config.getBoolValue("hwaccel");
// Try to set the desired video mode
if (!graphics->setVideoMode(width, height, bpp, fullscreen, hwaccel))
@@ -374,13 +411,11 @@ Client::Client(const Options &options):
// Initialize sound engine
try
{
- if (config.getValue("sound", 0) == 1)
+ if (config.getBoolValue("sound"))
sound.init();
- sound.setSfxVolume((int) config.getValue("sfxVolume",
- defaultSfxVolume));
- sound.setMusicVolume((int) config.getValue("musicVolume",
- defaultMusicVolume));
+ sound.setSfxVolume(config.getIntValue("sfxVolume"));
+ sound.setMusicVolume(config.getIntValue("musicVolume"));
}
catch (const char *err)
{
@@ -405,25 +440,25 @@ Client::Client(const Options &options):
mCurrentServer.port = options.serverPort;
loginData.username = options.username;
loginData.password = options.password;
- loginData.remember = config.getValue("remember", 0);
+ loginData.remember = config.getBoolValue("remember");
loginData.registerLogin = false;
if (mCurrentServer.hostname.empty())
- {
- mCurrentServer.hostname = branding.getValue("defaultServer",
- "").c_str();
- }
+ mCurrentServer.hostname = branding.getValue("defaultServer","").c_str();
if (mCurrentServer.port == 0)
{
mCurrentServer.port = (short) branding.getValue("defaultPort",
- DEFAULT_PORT);
+ DEFAULT_PORT);
mCurrentServer.type = ServerInfo::parseType(
- branding.getValue("defaultServerType", "tmwathena"));
+ branding.getValue("defaultServerType", "tmwathena"));
}
+ if (chatLogger)
+ chatLogger->setServerName(mCurrentServer.hostname);
+
if (loginData.username.empty() && loginData.remember)
- loginData.username = config.getValue("username", "");
+ loginData.username = config.getStringValue("username");
if (mState != STATE_ERROR)
mState = STATE_CHOOSE_SERVER;
@@ -435,8 +470,16 @@ Client::Client(const Options &options):
// Initialize frame limiting
SDL_initFramerate(&mFpsManager);
- config.addListener("fpslimit", this);
- optionChanged("fpslimit");
+
+ listen(CHANNEL_CONFIG);
+
+ //TODO: fix having to fake a option changed event
+ Mana::Event fakeevent(EVENT_CONFIGOPTIONCHANGED);
+ fakeevent.setString("option", "fpslimit");
+ event(CHANNEL_CONFIG, fakeevent);
+
+ // Initialize PlayerInfo
+ PlayerInfo::init();
}
Client::~Client()
@@ -447,7 +490,7 @@ Client::~Client()
// Unload XML databases
ColorDB::unload();
EmoteDB::unload();
- ItemDB::unload();
+ delete itemDb;
MonsterDB::unload();
NPCDB::unload();
StatusEffect::unload();
@@ -577,10 +620,8 @@ int Client::exec()
- 3, 3);
top->add(mSetupButton);
- int screenWidth = (int) config.getValue("screenwidth",
- defaultScreenWidth);
- int screenHeight = (int) config.getValue("screenheight",
- defaultScreenHeight);
+ int screenWidth = config.getIntValue("screenwidth");
+ int screenHeight = config.getIntValue("screenheight");
mDesktop->setSize(screenWidth, screenHeight);
}
@@ -592,9 +633,12 @@ int Client::exec()
if (mState != mOldState)
{
- Net::GeneralHandler *generalHandler = Net::getGeneralHandler();
- if (generalHandler)
- generalHandler->stateChanged(mOldState, mState);
+ {
+ Mana::Event event(EVENT_STATECHANGE);
+ event.setInt("oldState", mOldState);
+ event.setInt("newState", mState);
+ event.trigger(CHANNEL_CLIENT);
+ }
if (mOldState == STATE_GAME)
{
@@ -751,17 +795,48 @@ int Client::exec()
// Read default paths file 'data/paths.xml'
paths.init("paths.xml", true);
+ paths.setDefaultValues(getPathsDefaults());
+
+ Mana::Event::trigger(CHANNEL_CLIENT, EVENT_DBSLOADING);
// Load XML databases
ColorDB::load();
- ItemDB::load();
+ switch (Net::getNetworkType())
+ {
+ case ServerInfo::TMWATHENA:
+ itemDb = new TmwAthena::TaItemDB;
+ break;
+ case ServerInfo::MANASERV:
+ itemDb = new ManaServ::ManaServItemDB;
+ break;
+ default:
+ // Nothing
+ itemDb = 0;
+ break;
+ }
+ if (!itemDb || !itemDb->isLoaded())
+ {
+ // Warn and return to login screen
+ errorMessage =
+ _("This server is missing needed world data. "
+ "Please contact the administrator(s).");
+ mCurrentDialog = new OkDialog(
+ _("ItemDB: Error while loading " ITEMS_DB_FILE "!"),
+ errorMessage);
+ mCurrentDialog->addActionListener(&serverChoiceListener);
+ mCurrentDialog = NULL; // OkDialog deletes itself
+ break;
+ }
Being::load(); // Hairstyles
MonsterDB::load();
+ SpecialDB::load();
NPCDB::load();
EmoteDB::load();
StatusEffect::load();
Units::loadUnits();
+ ActorSprite::load();
+
mDesktop->reloadWallpaper();
mState = STATE_GET_CHARACTERS;
@@ -787,7 +862,7 @@ int Client::exec()
mOptions.character, CharSelectDialog::Choose))
{
((CharSelectDialog*) mCurrentDialog)->selectByName(
- config.getValue("lastCharacter", ""),
+ config.getStringValue("lastCharacter"),
mOptions.chooseDefault ?
CharSelectDialog::Choose :
CharSelectDialog::Focus);
@@ -997,12 +1072,18 @@ int Client::exec()
return 0;
}
-void Client::optionChanged(const std::string &name)
+void Client::event(Channels channel, const Mana::Event &event)
{
- const int fpsLimit = (int) config.getValue("fpslimit", 60);
- mLimitFps = fpsLimit > 0;
- if (mLimitFps)
- SDL_setFramerate(&mFpsManager, fpsLimit);
+ if (channel == CHANNEL_CONFIG &&
+ event.getName() == EVENT_CONFIGOPTIONCHANGED &&
+ event.getString("option") == "fpslimit")
+ {
+ const int fpsLimit = config.getIntValue("fpslimit");
+ mLimitFps = fpsLimit > 0;
+ if (mLimitFps)
+ SDL_setFramerate(&mFpsManager, fpsLimit);
+ }
+
}
void Client::action(const gcn::ActionEvent &event)
@@ -1203,6 +1284,7 @@ void Client::initConfiguration()
{
fclose(configFile);
config.init(configPath);
+ config.setDefaultValues(getConfigDefaults());
}
}
@@ -1217,7 +1299,7 @@ void Client::initUpdatesDir()
// If updatesHost is currently empty, fill it from config file
if (mUpdateHost.empty())
{
- mUpdateHost = config.getValue("updatehost", "");
+ mUpdateHost = config.getStringValue("updatehost");
}
// Don't go out of range int he next check
@@ -1225,7 +1307,7 @@ void Client::initUpdatesDir()
return;
// Remove any trailing slash at the end of the update host
- if (mUpdateHost.at(mUpdateHost.size() - 1) == '/')
+ if (!mUpdateHost.empty() && mUpdateHost.at(mUpdateHost.size() - 1) == '/')
mUpdateHost.resize(mUpdateHost.size() - 1);
// Parse out any "http://" or "ftp://", and set the updates directory
@@ -1233,7 +1315,7 @@ void Client::initUpdatesDir()
pos = mUpdateHost.find("://");
if (pos != mUpdateHost.npos)
{
- if (pos + 3 < mUpdateHost.length())
+ if (pos + 3 < mUpdateHost.length() && !mUpdateHost.empty())
{
updates << "updates/" << mUpdateHost.substr(pos + 3);
mUpdatesDir = updates.str();
@@ -1304,7 +1386,7 @@ void Client::initScreenshotDir()
mScreenshotDir = std::string(PHYSFS_getUserDir()) + "Desktop";
#endif
- if (config.getValue("useScreenshotDirectorySuffix", true))
+ if (config.getBoolValue("useScreenshotDirectorySuffix"))
{
std::string configScreenshotSuffix =
config.getValue("screenshotDirectorySuffix",
diff --git a/src/client.h b/src/client.h
index f44d8bf2..8d2c23d5 100644
--- a/src/client.h
+++ b/src/client.h
@@ -22,7 +22,7 @@
#ifndef CLIENT_H
#define CLIENT_H
-#include "configlistener.h"
+#include "listener.h"
#include "net/serverinfo.h"
@@ -68,6 +68,12 @@ extern LoginData loginData;
int get_elapsed_time(int start_time);
/**
+ * Returns if this call and the last call were done for the same
+ * selected index and within a short time.
+ */
+bool isDoubleClick(int selected);
+
+/**
* All client states.
*/
enum State {
@@ -113,7 +119,7 @@ enum State {
* The core part of the client. This class initializes all subsystems, runs
* the event loop, and shuts everything down again.
*/
-class Client : public ConfigListener, public gcn::ActionListener
+class Client : public Mana::Listener, public gcn::ActionListener
{
public:
/**
@@ -142,6 +148,7 @@ public:
std::string brandingPath;
std::string updateHost;
std::string dataPath;
+ std::string chatLogDir;
std::string configDir;
std::string localDataDir;
std::string screenshotDir;
@@ -178,7 +185,7 @@ public:
static const std::string &getScreenshotDirectory()
{ return instance()->mScreenshotDir; }
- void optionChanged(const std::string &name);
+ void event(Channels channel, const Mana::Event &event);
void action(const gcn::ActionEvent &event);
private:
diff --git a/src/commandhandler.cpp b/src/commandhandler.cpp
index 1c375ad9..dcaf6f0a 100644
--- a/src/commandhandler.cpp
+++ b/src/commandhandler.cpp
@@ -21,15 +21,13 @@
#include "commandhandler.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
#include "channelmanager.h"
#include "channel.h"
#include "game.h"
#include "localplayer.h"
#include "playerrelations.h"
-#include "gui/chat.h"
-
#include "gui/widgets/channeltab.h"
#include "gui/widgets/chattab.h"
@@ -49,7 +47,8 @@ void CommandHandler::handleCommand(const std::string &command, ChatTab *tab)
{
std::string::size_type pos = command.find(' ');
std::string type(command, 0, pos);
- std::string args(command, pos == std::string::npos ? command.size() : pos + 1);
+ std::string args(command, pos == std::string::npos ?
+ command.size() : pos + 1);
if (type == "help") // Do help before tabs so they can't override it
{
@@ -123,14 +122,14 @@ void CommandHandler::handleCommand(const std::string &command, ChatTab *tab)
{
handlePresent(args, tab);
}
- else if (type == "away")
- {
- handleAway(args, tab);
- }
else if (type == "showip" && Net::getNetworkType() == ServerInfo::TMWATHENA)
{
handleShowIp(args, tab);
}
+ else if (type == "away")
+ {
+ handleAway(args, tab);
+ }
else
{
tab->chatLog(_("Unknown command."));
@@ -394,7 +393,7 @@ void CommandHandler::handleMsg(const std::string &args, ChatTab *tab)
if (tempNick.compare(playerName) == 0 || args.empty())
return;
- chatWindow->whisper(recvnick, msg, true);
+ chatWindow->whisper(recvnick, msg, BY_PLAYER);
}
else
tab->chatLog(_("Cannot send empty whispers!"), BY_SERVER);
@@ -510,7 +509,7 @@ void CommandHandler::handleShowIp(const std::string &args, ChatTab *tab)
return;
}
- beingManager->updatePlayerNames();
+ actorSpriteManager->updatePlayerNames();
}
void CommandHandler::handlePresent(const std::string &args, ChatTab *tab)
diff --git a/src/compoundsprite.cpp b/src/compoundsprite.cpp
new file mode 100644
index 00000000..ec45825f
--- /dev/null
+++ b/src/compoundsprite.cpp
@@ -0,0 +1,364 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "compoundsprite.h"
+
+#include "game.h"
+#include "graphics.h"
+#include "map.h"
+
+#include "resources/image.h"
+
+#include <SDL.h>
+
+#define BUFFER_WIDTH 100
+#define BUFFER_HEIGHT 100
+
+CompoundSprite::CompoundSprite():
+ mImage(NULL),
+ mAlphaImage(NULL),
+ mNeedsRedraw(false)
+{
+ mAlpha = 1.0f;
+}
+
+CompoundSprite::~CompoundSprite()
+{
+ SpriteIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; it++)
+ delete (*it);
+
+ clear();
+
+ delete mImage;
+ delete mAlphaImage;
+}
+
+bool CompoundSprite::reset()
+{
+ bool ret = false;
+
+ SpriteIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; it++)
+ if (*it)
+ ret |= (*it)->reset();
+
+ mNeedsRedraw |= ret;
+ return ret;
+}
+
+bool CompoundSprite::play(std::string action)
+{
+ bool ret = false;
+
+ SpriteIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; it++)
+ if (*it)
+ ret |= (*it)->play(action);
+
+ mNeedsRedraw |= ret;
+ return ret;
+}
+
+bool CompoundSprite::update(int time)
+{
+ bool ret = false;
+
+ SpriteIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; it++)
+ if (*it)
+ ret |= (*it)->update(time);
+
+ mNeedsRedraw |= ret;
+ return ret;
+}
+
+bool CompoundSprite::draw(Graphics* graphics, int posX, int posY) const
+{
+ if (mNeedsRedraw)
+ redraw();
+
+ if (mAlpha == 1.0f && mImage)
+ {
+ return graphics->drawImage(mImage, posX + mOffsetX, posY + mOffsetY);
+ }
+ else if (mAlpha && mAlphaImage)
+ {
+ if (mAlphaImage->getAlpha() != mAlpha)
+ mAlphaImage->setAlpha(mAlpha);
+
+ return graphics->drawImage(mAlphaImage,
+ posX + mOffsetX, posY + mOffsetY);
+ }
+ else
+ {
+ SpriteConstIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; it++)
+ {
+ if (*it)
+ {
+ if ((*it)->getAlpha() != mAlpha)
+ (*it)->setAlpha(mAlpha);
+ (*it)->draw(graphics, posX, posY);
+ }
+ }
+ }
+
+ return false;
+}
+
+int CompoundSprite::getWidth() const
+{
+ Sprite *base = NULL;
+
+ SpriteConstIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; it++)
+ if ((base = (*it)))
+ break;
+
+ if (base)
+ return base->getWidth();
+
+ return 0;
+}
+
+int CompoundSprite::getHeight() const
+{
+ Sprite *base = NULL;
+
+ SpriteConstIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; it++)
+ if ((base = (*it)))
+ break;
+
+ if (base)
+ return base->getHeight();
+
+ return 0;
+}
+
+const Image* CompoundSprite::getImage() const
+{
+ return mImage;
+}
+
+bool CompoundSprite::setDirection(SpriteDirection direction)
+{
+ bool ret = false;
+
+ SpriteIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; it++)
+ if (*it)
+ ret |= (*it)->setDirection(direction);
+
+ mNeedsRedraw |= ret;
+ return ret;
+}
+
+int CompoundSprite::getNumberOfLayers() const
+{
+ if (mImage || mAlphaImage)
+ {
+ return 1;
+ }
+ else
+ {
+ return size();
+ }
+}
+
+size_t CompoundSprite::getCurrentFrame() const
+{
+ SpriteConstIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; it++)
+ if (*it)
+ return (*it)->getCurrentFrame();
+
+ return 0;
+}
+
+size_t CompoundSprite::getFrameCount() const
+{
+ SpriteConstIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; it++)
+ if (*it)
+ return (*it)->getFrameCount();
+
+ return 0;
+}
+
+void CompoundSprite::addSprite(Sprite* sprite)
+{
+ push_back(sprite);
+ mNeedsRedraw = true;
+}
+
+void CompoundSprite::setSprite(int layer, Sprite* sprite)
+{
+ // Skip if it won't change anything
+ if (at(layer) == sprite)
+ return;
+
+ if (at(layer))
+ delete at(layer);
+ at(layer) = sprite;
+ mNeedsRedraw = true;
+}
+
+void CompoundSprite::removeSprite(int layer)
+{
+ // Skip if it won't change anything
+ if (at(layer) == NULL)
+ return;
+
+ delete at(layer);
+ at(layer) = NULL;
+ mNeedsRedraw = true;
+}
+
+void CompoundSprite::clear()
+{
+ // Skip if it won't change anything
+ if (empty())
+ return;
+
+ std::vector<Sprite*>::clear();
+ mNeedsRedraw = true;
+}
+
+void CompoundSprite::ensureSize(size_t layerCount)
+{
+ // Skip if it won't change anything
+ if (size() >= layerCount)
+ return;
+
+ resize(layerCount, NULL);
+ mNeedsRedraw = true;
+}
+
+/**
+ * Returns the curent frame in the current animation of the given layer.
+ */
+size_t CompoundSprite::getCurrentFrame(size_t layer)
+{
+ if (layer >= size())
+ return 0;
+
+ Sprite *s = getSprite(layer);
+ if (s)
+ return s->getCurrentFrame();
+
+ return 0;
+}
+
+/**
+ * Returns the frame count in the current animation of the given layer.
+ */
+size_t CompoundSprite::getFrameCount(size_t layer)
+{
+ if (layer >= size())
+ return 0;
+
+ Sprite *s = getSprite(layer);
+ if (s)
+ return s->getFrameCount();
+
+ return 0;
+}
+
+void CompoundSprite::redraw() const
+{
+ // TODO OpenGL support
+ if (Image::getLoadAsOpenGL())
+ {
+ mNeedsRedraw = false;
+ return;
+ }
+
+#if SDL_BYTEORDER == SDL_BIG_ENDIAN
+ int rmask = 0xff000000;
+ int gmask = 0x00ff0000;
+ int bmask = 0x0000ff00;
+ int amask = 0x000000ff;
+#else
+ int rmask = 0x000000ff;
+ int gmask = 0x0000ff00;
+ int bmask = 0x00ff0000;
+ int amask = 0xff000000;
+#endif
+
+ SDL_Surface *surface = SDL_CreateRGBSurface(SDL_HWSURFACE,
+ BUFFER_WIDTH, BUFFER_HEIGHT,
+ 32, rmask, gmask, bmask, amask);
+
+ if (!surface)
+ return;
+
+ Graphics *graphics = new Graphics();
+ graphics->setBlitMode(Graphics::BLIT_GFX);
+ graphics->setTarget(surface);
+ graphics->_beginDraw();
+
+ int tileX = 32 / 2;
+ int tileY = 32;
+
+ Game *game = Game::instance();
+ if (game)
+ {
+ Map *map = game->getCurrentMap();
+ tileX = map->getTileWidth() / 2;
+ tileY = map->getTileWidth();
+ }
+
+ int posX = BUFFER_WIDTH / 2 - tileX;
+ int posY = BUFFER_HEIGHT - tileY;
+
+ mOffsetX = tileX - BUFFER_WIDTH / 2;
+ mOffsetY = tileY - BUFFER_HEIGHT;
+
+ SpriteConstIterator it, it_end;
+ for (it = begin(), it_end = end(); it != it_end; it++)
+ {
+ if (*it)
+ {
+ (*it)->draw(graphics, posX, posY);
+ }
+ }
+
+ delete graphics;
+
+ 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);
+
+ delete mImage;
+ delete mAlphaImage;
+
+ mImage = Image::load(surface);
+ SDL_FreeSurface(surface);
+
+ mAlphaImage = Image::load(surfaceA);
+ SDL_FreeSurface(surfaceA);
+
+ mNeedsRedraw = false;
+}
diff --git a/src/compoundsprite.h b/src/compoundsprite.h
new file mode 100644
index 00000000..3b443219
--- /dev/null
+++ b/src/compoundsprite.h
@@ -0,0 +1,105 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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 COMPOUNDSPRITE_H
+#define COMPOUNDSPRITE_H
+
+#include "sprite.h"
+
+#include <vector>
+
+class Image;
+
+class CompoundSprite : public Sprite, private std::vector<Sprite*>
+{
+public:
+ CompoundSprite();
+
+ ~CompoundSprite();
+
+ virtual bool reset();
+
+ virtual bool play(std::string action);
+
+ virtual bool update(int time);
+
+ virtual bool draw(Graphics* graphics, int posX, int posY) const;
+
+ /**
+ * Gets the width in pixels of the first sprite in the list.
+ */
+ virtual int getWidth() const;
+
+ /**
+ * Gets the height in pixels of the first sprite in the list.
+ */
+ virtual int getHeight() const;
+
+ virtual const Image* getImage() const;
+
+ virtual bool setDirection(SpriteDirection direction);
+
+ int getNumberOfLayers() const;
+
+ size_t getCurrentFrame() const;
+
+ size_t getFrameCount() const;
+
+ size_t size() const
+ { return std::vector<Sprite*>::size(); }
+
+ void addSprite(Sprite* sprite);
+
+ void setSprite(int layer, Sprite* sprite);
+
+ Sprite *getSprite(int layer) const
+ { return at(layer); }
+
+ void removeSprite(int layer);
+
+ void clear();
+
+ void ensureSize(size_t layerCount);
+
+ /**
+ * Returns the curent frame in the current animation of the given layer.
+ */
+ virtual size_t getCurrentFrame(size_t layer);
+
+ /**
+ * Returns the frame count in the current animation of the given layer.
+ */
+ virtual size_t getFrameCount(size_t layer);
+
+private:
+ typedef CompoundSprite::iterator SpriteIterator;
+ typedef CompoundSprite::const_iterator SpriteConstIterator;
+
+ void redraw() const;
+
+ mutable Image *mImage;
+ mutable Image *mAlphaImage;
+
+ mutable int mOffsetX, mOffsetY;
+
+ mutable bool mNeedsRedraw;
+};
+
+#endif // COMPOUNDSPRITE_H
diff --git a/src/configuration.cpp b/src/configuration.cpp
index d8b11034..44fb6e2e 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -21,7 +21,7 @@
#include "configuration.h"
-#include "configlistener.h"
+#include "event.h"
#include "log.h"
#include "utils/stringutils.h"
@@ -38,15 +38,9 @@ void Configuration::setValue(const std::string &key, const std::string &value)
ConfigurationObject::setValue(key, value);
// Notify listeners
- ListenerMapIterator list = mListenerMap.find(key);
- if (list != mListenerMap.end())
- {
- Listeners listeners = list->second;
- for (ListenerIterator i = listeners.begin(); i != listeners.end(); i++)
- {
- (*i)->optionChanged(key);
- }
- }
+ Mana::Event event(EVENT_CONFIGOPTIONCHANGED);
+ event.setString("option", key);
+ event.trigger(CHANNEL_CONFIG);
}
std::string ConfigurationObject::getValue(const std::string &key,
@@ -79,8 +73,11 @@ double ConfigurationObject::getValue(const std::string &key,
void ConfigurationObject::deleteList(const std::string &name)
{
for (ConfigurationList::const_iterator
- it = mContainerOptions[name].begin(); it != mContainerOptions[name].end(); it++)
+ it = mContainerOptions[name].begin();
+ it != mContainerOptions[name].end(); it++)
+ {
delete *it;
+ }
mContainerOptions[name].clear();
}
@@ -88,8 +85,11 @@ void ConfigurationObject::deleteList(const std::string &name)
void ConfigurationObject::clear()
{
for (std::map<std::string, ConfigurationList>::const_iterator
- it = mContainerOptions.begin(); it != mContainerOptions.end(); it++)
+ it = mContainerOptions.begin(); it != mContainerOptions.end(); it++)
+ {
deleteList(it->first);
+ }
+
mOptions.clear();
}
@@ -98,6 +98,131 @@ ConfigurationObject::~ConfigurationObject()
clear();
}
+void Configuration::cleanDefaults()
+{
+ if (mDefaultsData)
+ {
+ for (DefaultsData::const_iterator iter = mDefaultsData->begin();
+ iter != mDefaultsData->end(); iter++)
+ {
+ if (iter->second)
+ delete(iter->second);
+ }
+ mDefaultsData->clear();
+ delete mDefaultsData;
+ mDefaultsData = 0;
+ }
+}
+
+Configuration::~Configuration()
+{
+ cleanDefaults();
+}
+
+void Configuration::setDefaultValues(DefaultsData *defaultsData)
+{
+ cleanDefaults();
+ mDefaultsData = defaultsData;
+}
+
+Mana::VariableData* Configuration::getDefault(const std::string &key,
+ Mana::VariableData::DataType type
+ ) const
+{
+ if (mDefaultsData)
+ {
+ DefaultsData::const_iterator itdef = mDefaultsData->find(key);
+
+ if (itdef != mDefaultsData->end() && itdef->second
+ && itdef->second->getType() == type)
+ {
+ return itdef->second;
+ }
+ else
+ {
+ logger->log("%s: No value in registry for key %s",
+ mConfigPath.c_str(), key.c_str());
+ }
+ }
+ return NULL;
+}
+
+int Configuration::getIntValue(const std::string &key) const
+{
+ int defaultValue = 0;
+ Options::const_iterator iter = mOptions.find(key);
+ if (iter == mOptions.end())
+ {
+ Mana::VariableData* vd = getDefault(key, Mana::VariableData::DATA_INT);
+ if (vd)
+ defaultValue = ((Mana::IntData*)vd)->getData();
+ }
+ else
+ {
+ defaultValue = atoi(iter->second.c_str());
+ }
+ return defaultValue;
+}
+
+std::string Configuration::getStringValue(const std::string &key) const
+{
+ std::string defaultValue = "";
+ Options::const_iterator iter = mOptions.find(key);
+ if (iter == mOptions.end())
+ {
+ Mana::VariableData* vd = getDefault(key,
+ Mana::VariableData::DATA_STRING);
+
+ if (vd)
+ defaultValue = ((Mana::StringData*)vd)->getData();
+ }
+ else
+ {
+ defaultValue = iter->second;
+ }
+ return defaultValue;
+}
+
+
+float Configuration::getFloatValue(const std::string &key) const
+{
+ float defaultValue = 0.0f;
+ Options::const_iterator iter = mOptions.find(key);
+ if (iter == mOptions.end())
+ {
+ Mana::VariableData* vd = getDefault(key,
+ Mana::VariableData::DATA_FLOAT);
+
+ if (vd)
+ defaultValue = ((Mana::FloatData*)vd)->getData();
+ }
+ else
+ {
+ defaultValue = atof(iter->second.c_str());
+ }
+ return defaultValue;
+}
+
+bool Configuration::getBoolValue(const std::string &key) const
+{
+ bool defaultValue = false;
+ Options::const_iterator iter = mOptions.find(key);
+ if (iter == mOptions.end())
+ {
+ Mana::VariableData* vd = getDefault(key,
+ Mana::VariableData::DATA_BOOL);
+
+ if (vd)
+ defaultValue = ((Mana::BoolData*)vd)->getData();
+ }
+ else
+ {
+ return getBoolFromString(iter->second, defaultValue);
+ }
+
+ return defaultValue;
+}
+
void ConfigurationObject::initFromXML(xmlNodePtr parent_node)
{
clear();
@@ -106,8 +231,7 @@ void ConfigurationObject::initFromXML(xmlNodePtr parent_node)
{
if (xmlStrEqual(node->name, BAD_CAST "list"))
{
- // list option handling
-
+ // List option handling.
std::string name = XML::getProperty(node, "name", std::string());
for_each_xml_child_node(subnode, node)
@@ -117,7 +241,7 @@ void ConfigurationObject::initFromXML(xmlNodePtr parent_node)
{
ConfigurationObject *cobj = new ConfigurationObject;
- cobj->initFromXML(subnode); // recurse
+ cobj->initFromXML(subnode); // Recurse
mContainerOptions[name].push_back(cobj);
}
@@ -126,14 +250,13 @@ void ConfigurationObject::initFromXML(xmlNodePtr parent_node)
}
else if (xmlStrEqual(node->name, BAD_CAST "option"))
{
- // single option handling
-
+ // Single option handling.
std::string name = XML::getProperty(node, "name", std::string());
std::string value = XML::getProperty(node, "value", std::string());
if (!name.empty())
mOptions[name] = value;
- } // otherwise ignore
+ } // Otherwise ignore
}
}
@@ -177,16 +300,16 @@ void ConfigurationObject::writeToXML(xmlTextWriterPtr writer)
}
for (std::map<std::string, ConfigurationList>::const_iterator
- it = mContainerOptions.begin(); it != mContainerOptions.end(); it++)
+ it = mContainerOptions.begin(); it != mContainerOptions.end(); it++)
{
const char *name = it->first.c_str();
xmlTextWriterStartElement(writer, BAD_CAST "list");
xmlTextWriterWriteAttribute(writer, BAD_CAST "name", BAD_CAST name);
- // recurse on all elements
+ // Recurse on all elements
for (ConfigurationList::const_iterator
- elt_it = it->second.begin(); elt_it != it->second.end(); elt_it++)
+ elt_it = it->second.begin(); elt_it != it->second.end(); elt_it++)
{
xmlTextWriterStartElement(writer, BAD_CAST name);
(*elt_it)->writeToXML(writer);
@@ -231,15 +354,3 @@ void Configuration::write()
xmlTextWriterEndDocument(writer);
xmlFreeTextWriter(writer);
}
-
-void Configuration::addListener(
- const std::string &key, ConfigListener *listener)
-{
- mListenerMap[key].push_front(listener);
-}
-
-void Configuration::removeListener(
- const std::string &key, ConfigListener *listener)
-{
- mListenerMap[key].remove(listener);
-}
diff --git a/src/configuration.h b/src/configuration.h
index 908d13a4..a46b0718 100644
--- a/src/configuration.h
+++ b/src/configuration.h
@@ -23,6 +23,7 @@
#define CONFIGURATION_H
#include "utils/stringutils.h"
+#include "defaults.h"
#include <libxml/xmlwriter.h>
@@ -31,7 +32,6 @@
#include <map>
#include <string>
-class ConfigListener;
class ConfigurationObject;
/**
@@ -192,7 +192,7 @@ class ConfigurationObject
class Configuration : public ConfigurationObject
{
public:
- virtual ~Configuration() {}
+ ~Configuration();
/**
* Reads config file and parse all options into memory.
@@ -203,20 +203,16 @@ class Configuration : public ConfigurationObject
void init(const std::string &filename, bool useResManager = false);
/**
- * Writes the current settings back to the config file.
- */
- void write();
-
- /**
- * Adds a listener to the listen list of the specified config option.
+ * Set the default values for each keys.
+ *
+ * @param defaultsData data used as defaults.
*/
- void addListener(const std::string &key, ConfigListener *listener);
+ void setDefaultValues(DefaultsData *defaultsData);
/**
- * Removes a listener from the listen list of the specified config
- * option.
+ * Writes the current settings back to the config file.
*/
- void removeListener(const std::string &key, ConfigListener *listener);
+ void write();
void setValue(const std::string &key, const std::string &value);
@@ -238,14 +234,29 @@ class Configuration : public ConfigurationObject
inline void setValue(const std::string &key, bool value)
{ setValue(key, value ? "1" : "0"); }
+ /**
+ * returns a value corresponding to the given key.
+ * The default value returned in based on fallbacks registry.
+ * @see defaults.h
+ */
+ int getIntValue(const std::string &key) const;
+
+ float getFloatValue(const std::string &key) const;
+
+ std::string getStringValue(const std::string &key) const;
+
+ bool getBoolValue(const std::string &key) const;
+
+ Mana::VariableData* getDefault(const std::string &key,
+ Mana::VariableData::DataType type) const;
private:
- typedef std::list<ConfigListener*> Listeners;
- typedef Listeners::iterator ListenerIterator;
- typedef std::map<std::string, Listeners> ListenerMap;
- typedef ListenerMap::iterator ListenerMapIterator;
- ListenerMap mListenerMap;
+ /**
+ * Clean up the default values member.
+ */
+ void cleanDefaults();
- std::string mConfigPath; /**< Location of config file */
+ std::string mConfigPath; /**< Location of config file */
+ DefaultsData *mDefaultsData; /**< Defaults of value for a given key */
};
extern Configuration branding;
diff --git a/src/defaults.cpp b/src/defaults.cpp
new file mode 100644
index 00000000..e0e48d60
--- /dev/null
+++ b/src/defaults.cpp
@@ -0,0 +1,181 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "defaults.h"
+
+#include "being.h"
+#include "graphics.h"
+#include "client.h"
+
+#include <stdlib.h>
+
+using namespace Mana;
+
+VariableData* createData(int defData)
+{
+ return new IntData(defData);
+}
+
+VariableData* createData(double defData)
+{
+ return new FloatData(defData);
+}
+
+VariableData* createData(float defData)
+{
+ return new FloatData(defData);
+}
+
+VariableData* createData(const std::string &defData)
+{
+ return new StringData(defData);
+}
+
+VariableData* createData(const char* defData)
+{
+ return new StringData(defData);
+}
+
+VariableData* createData(bool defData)
+{
+ return new BoolData(defData);
+}
+
+#define AddDEF(defaultsData, key, value) \
+ defaultsData->insert(std::pair<std::string, VariableData*> \
+ (key, createData(value)));
+
+
+DefaultsData* getConfigDefaults()
+{
+ DefaultsData* configData = new DefaultsData;
+ // Init main config defaults
+ AddDEF(configData, "OverlayDetail", 2);
+ AddDEF(configData, "speechBubblecolor", "000000");
+ AddDEF(configData, "speechBubbleAlpha", 1.0f);
+ AddDEF(configData, "MostUsedServerName0", "server.themanaworld.org");
+ AddDEF(configData, "visiblenames", true);
+ AddDEF(configData, "speech", Being::TEXT_OVERHEAD);
+ AddDEF(configData, "showgender", false);
+ AddDEF(configData, "showMonstersTakedDamage", false);
+ AddDEF(configData, "particleMaxCount", 3000);
+ AddDEF(configData, "particleFastPhysics", 0);
+ AddDEF(configData, "particleEmitterSkip", 1);
+ AddDEF(configData, "particleeffects", true);
+ AddDEF(configData, "logToStandardOut", false);
+ AddDEF(configData, "opengl", false);
+ AddDEF(configData, "screenwidth", defaultScreenWidth);
+ AddDEF(configData, "screenheight", defaultScreenHeight);
+ AddDEF(configData, "screen", false);
+ AddDEF(configData, "hwaccel", false);
+ AddDEF(configData, "sound", false);
+ AddDEF(configData, "sfxVolume", 100);
+ AddDEF(configData, "musicVolume", 60);
+ AddDEF(configData, "remember", false);
+ AddDEF(configData, "username", "");
+ AddDEF(configData, "lastCharacter", "");
+ AddDEF(configData, "fpslimit", 60);
+ AddDEF(configData, "updatehost", "");
+ AddDEF(configData, "screenshotDirectory", "");
+ AddDEF(configData, "useScreenshotDirectorySuffix", true);
+ AddDEF(configData, "screenshotDirectorySuffix", "");
+ AddDEF(configData, "EnableSync", false);
+ AddDEF(configData, "joystickEnabled", false);
+ AddDEF(configData, "upTolerance", 100);
+ AddDEF(configData, "downTolerance", 100);
+ AddDEF(configData, "leftTolerance", 100);
+ AddDEF(configData, "rightTolerance", 100);
+ AddDEF(configData, "logNpcInGui", true);
+ AddDEF(configData, "download-music", false);
+ AddDEF(configData, "guialpha", 0.8f);
+ AddDEF(configData, "ChatLogLength", 0);
+ AddDEF(configData, "enableChatLog", false);
+ AddDEF(configData, "whispertab", false);
+ AddDEF(configData, "customcursor", true);
+ AddDEF(configData, "showownname", false);
+ AddDEF(configData, "showpickupparticle", false);
+ AddDEF(configData, "showpickupchat", true);
+ AddDEF(configData, "fontSize", 11);
+ AddDEF(configData, "ReturnToggles", false);
+ AddDEF(configData, "ScrollLaziness", 16);
+ AddDEF(configData, "ScrollRadius", 0);
+ AddDEF(configData, "ScrollCenterOffsetX", 0);
+ AddDEF(configData, "ScrollCenterOffsetY", 0);
+ AddDEF(configData, "onlineServerList", "");
+ AddDEF(configData, "theme", "");
+ AddDEF(configData, "disableTransparency", false);
+
+ return configData;
+}
+
+DefaultsData* getBrandingDefaults()
+{
+ DefaultsData* brandingData = new DefaultsData;
+ // Init config defaults
+ AddDEF(brandingData, "wallpapersPath", "");
+ AddDEF(brandingData, "wallpapersFile", "");
+ AddDEF(brandingData, "appName", "Mana");
+ AddDEF(brandingData, "appIcon", "icons/mana");
+ AddDEF(brandingData, "loginMusic", "Magick - Real.ogg");
+ AddDEF(brandingData, "defaultServer", "");
+ AddDEF(brandingData, "defaultPort", DEFAULT_PORT);
+ AddDEF(brandingData, "defaultServerType", "tmwathena");
+ AddDEF(brandingData, "onlineServerList", "a");
+ AddDEF(brandingData, "appShort", "mana");
+ AddDEF(brandingData, "defaultUpdateHost", "");
+ AddDEF(brandingData, "helpPath", "");
+ AddDEF(brandingData, "onlineServerList", "");
+ AddDEF(brandingData, "guiThemePath", "");
+ AddDEF(brandingData, "theme", "");
+ AddDEF(brandingData, "font", "fonts/dejavusans.ttf");
+ AddDEF(brandingData, "boldFont", "fonts/dejavusans-bold.ttf");
+
+ return brandingData;
+}
+
+DefaultsData* getPathsDefaults()
+{
+ DefaultsData *pathsData = new DefaultsData;
+ // Init paths.xml defaults
+ AddDEF(pathsData, "itemIcons", "graphics/items/");
+ AddDEF(pathsData, "unknownItemFile", "unknown-item.png");
+ AddDEF(pathsData, "sprites", "graphics/sprites/");
+ AddDEF(pathsData, "spriteErrorFile", "error.xml");
+
+ AddDEF(pathsData, "particles", "graphics/particles/");
+ AddDEF(pathsData, "levelUpEffectFile", "levelup.particle.xml");
+ AddDEF(pathsData, "portalEffectFile", "warparea.particle.xml");
+
+ AddDEF(pathsData, "minimaps", "graphics/minimaps/");
+ AddDEF(pathsData, "maps", "maps/");
+
+ AddDEF(pathsData, "sfx", "sfx/");
+ AddDEF(pathsData, "attackSfxFile", "fist-swish.ogg");
+ AddDEF(pathsData, "music", "music/");
+
+ AddDEF(pathsData, "wallpapers", "graphics/images/");
+ AddDEF(pathsData, "wallpaperFile", "login_wallpaper.png");
+
+ AddDEF(pathsData, "help", "help/");
+
+ return pathsData;
+}
+
+#undef AddDEF
diff --git a/src/configlistener.h b/src/defaults.h
index 923b3115..b9dfa511 100644
--- a/src/configlistener.h
+++ b/src/defaults.h
@@ -1,7 +1,6 @@
/*
* The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
+ * Copyright (C) 2010 The Mana Developers
*
* This file is part of The Mana Client.
*
@@ -19,30 +18,17 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef CONFIGLISTENER_H
-#define CONFIGLISTENER_H
+#ifndef DEFAULTS_H
+#define DEFAULTS_H
+#include <map>
#include <string>
+#include "variabledata.h"
-/**
- * The listener interface for receiving notifications about changes to
- * configuration options.
- *
- * \ingroup CORE
- */
-class ConfigListener
-{
- public:
- /**
- * Destructor.
- */
- virtual ~ConfigListener() {}
+typedef std::map<std::string, Mana::VariableData*> DefaultsData;
- /**
- * Called when an option changed. The config listener will have to be
- * registered to the option name first.
- */
- virtual void optionChanged(const std::string &name) = 0;
-};
+DefaultsData* getConfigDefaults();
+DefaultsData* getBrandingDefaults();
+DefaultsData* getPathsDefaults();
#endif
diff --git a/src/equipment.h b/src/equipment.h
index 6c099324..0aa10fb0 100644
--- a/src/equipment.h
+++ b/src/equipment.h
@@ -39,22 +39,6 @@ class Equipment
*/
~Equipment() { mBackend = 0; }
- enum Slot
- {
- EQUIP_TORSO_SLOT = 0,
- EQUIP_GLOVES_SLOT = 1,
- EQUIP_HEAD_SLOT = 2,
- EQUIP_LEGS_SLOT = 3,
- EQUIP_FEET_SLOT = 4,
- EQUIP_RING1_SLOT = 5,
- EQUIP_RING2_SLOT = 6,
- EQUIP_NECK_SLOT = 7,
- EQUIP_FIGHT1_SLOT = 8,
- EQUIP_FIGHT2_SLOT = 9,
- EQUIP_PROJECTILE_SLOT = 10,
- EQUIP_VECTOREND
- };
-
class Backend {
public:
virtual Item *getEquipment(int index) const = 0;
diff --git a/src/event.cpp b/src/event.cpp
new file mode 100644
index 00000000..c8de2ffd
--- /dev/null
+++ b/src/event.cpp
@@ -0,0 +1,255 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "event.h"
+
+#include "listener.h"
+#include "variabledata.h"
+
+namespace Mana
+{
+
+ListenMap Event::mBindings;
+
+Event::~Event()
+{
+ VariableMap::iterator it = mData.begin();
+ while (it != mData.end())
+ {
+ delete it->second;
+ it++;
+ }
+}
+
+// Integers
+
+void Event::setInt(const std::string &key, int value) throw (BadEvent)
+{
+ if (mData.find(key) != mData.end())
+ throw KEY_ALREADY_EXISTS;
+
+ mData[key] = new IntData(value);
+}
+
+int Event::getInt(const std::string &key) const throw (BadEvent)
+{
+ VariableMap::const_iterator it = mData.find(key);
+ if (it == mData.end())
+ throw BAD_KEY;
+
+ if (it->second->getType() != VariableData::DATA_INT)
+ throw BAD_VALUE;
+
+ return static_cast<IntData *>(it->second)->getData();
+}
+
+bool Event::hasInt(const std::string &key) const
+{
+ VariableMap::const_iterator it = mData.find(key);
+ return !(it == mData.end()
+ || it->second->getType() != VariableData::DATA_INT);
+}
+
+// Strings
+
+void Event::setString(const std::string &key, const std::string &value) throw (BadEvent)
+{
+ if (mData.find(key) != mData.end())
+ throw KEY_ALREADY_EXISTS;
+
+ mData[key] = new StringData(value);
+}
+
+const std::string &Event::getString(const std::string &key) const throw (BadEvent)
+{
+ VariableMap::const_iterator it = mData.find(key);
+ if (it == mData.end())
+ throw BAD_KEY;
+
+ if (it->second->getType() != VariableData::DATA_STRING)
+ throw BAD_VALUE;
+
+ return static_cast<StringData *>(it->second)->getData();
+}
+
+
+bool Event::hasString(const std::string &key) const
+{
+ VariableMap::const_iterator it = mData.find(key);
+ return !(it == mData.end()
+ || it->second->getType() != VariableData::DATA_STRING);
+}
+
+// Floats
+
+void Event::setFloat(const std::string &key, double value) throw (BadEvent)
+{
+ if (mData.find(key) != mData.end())
+ throw KEY_ALREADY_EXISTS;
+
+ mData[key] = new FloatData(value);
+}
+
+double Event::getFloat(const std::string &key) const throw (BadEvent)
+{
+ VariableMap::const_iterator it = mData.find(key);
+ if (it == mData.end())
+ throw BAD_KEY;
+
+ if (it->second->getType() != VariableData::DATA_FLOAT)
+ throw BAD_VALUE;
+
+ return static_cast<FloatData *>(it->second)->getData();
+}
+
+bool Event::hasFloat(const std::string &key) const
+{
+ VariableMap::const_iterator it = mData.find(key);
+ return !(it == mData.end()
+ || it->second->getType() != VariableData::DATA_FLOAT);
+}
+
+// Booleans
+
+void Event::setBool(const std::string &key, bool value) throw (BadEvent)
+{
+ if (mData.find(key) != mData.end())
+ throw KEY_ALREADY_EXISTS;
+
+ mData[key] = new BoolData(value);
+}
+
+bool Event::getBool(const std::string &key) const throw (BadEvent)
+{
+ VariableMap::const_iterator it = mData.find(key);
+ if (it == mData.end())
+ throw BAD_KEY;
+
+ if (it->second->getType() != VariableData::DATA_BOOL)
+ throw BAD_VALUE;
+
+ return static_cast<BoolData *>(it->second)->getData();
+}
+
+bool Event::hasBool(const std::string &key) const
+{
+ VariableMap::const_iterator it = mData.find(key);
+ return !(it == mData.end()
+ || it->second->getType() != VariableData::DATA_BOOL);
+}
+
+// Items
+
+void Event::setItem(const std::string &key, Item *value) throw (BadEvent)
+{
+ if (mData.find(key) != mData.end())
+ throw KEY_ALREADY_EXISTS;
+
+ mData[key] = new ItemData(value);
+}
+
+Item *Event::getItem(const std::string &key) const throw (BadEvent)
+{
+ VariableMap::const_iterator it = mData.find(key);
+ if (it == mData.end())
+ throw BAD_KEY;
+
+ if (it->second->getType() != VariableData::DATA_ITEM)
+ throw BAD_VALUE;
+
+ return static_cast<ItemData *>(it->second)->getData();
+}
+
+bool Event::hasItem(const std::string &key) const
+{
+ VariableMap::const_iterator it = mData.find(key);
+ return !(it == mData.end()
+ || it->second->getType() != VariableData::DATA_ITEM);
+}
+
+// Actors
+
+void Event::setActor(const std::string &key, ActorSprite *value) throw (BadEvent)
+{
+ if (mData.find(key) != mData.end())
+ throw KEY_ALREADY_EXISTS;
+
+ mData[key] = new ActorData(value);
+}
+
+ActorSprite *Event::getActor(const std::string &key) const throw (BadEvent)
+{
+ VariableMap::const_iterator it = mData.find(key);
+ if (it == mData.end())
+ throw BAD_KEY;
+
+ if (it->second->getType() != VariableData::DATA_ACTOR)
+ throw BAD_VALUE;
+
+ return static_cast<ActorData *>(it->second)->getData();
+}
+
+bool Event::hasActor(const std::string &key) const
+{
+ VariableMap::const_iterator it = mData.find(key);
+ return !(it == mData.end()
+ || it->second->getType() != VariableData::DATA_ACTOR);
+}
+
+// Triggers
+
+void Event::trigger(Channels channel, const Event &event)
+{
+ ListenMap::iterator it = mBindings.find(channel);
+
+ // Make sure something is listening
+ if (it == mBindings.end())
+ return;
+
+ // Loop though all listeners
+ ListenerSet::iterator lit = it->second.begin();
+ while (lit != it->second.end())
+ {
+ (*lit)->event(channel, event);
+ lit++;
+ }
+}
+
+void Event::bind(Listener *listener, Channels channel)
+{
+ mBindings[channel].insert(listener);
+}
+
+void Event::unbind(Listener *listener, Channels channel)
+{
+ mBindings[channel].erase(listener);
+}
+
+void Event::remove(Listener *listener)
+{
+ ListenMap::iterator it = mBindings.begin();
+ while (it != mBindings.end())
+ {
+ it->second.erase(listener);
+ it++;
+ }
+}
+
+} // namespace Mana
diff --git a/src/event.h b/src/event.h
new file mode 100644
index 00000000..758d6b34
--- /dev/null
+++ b/src/event.h
@@ -0,0 +1,339 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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 EVENT_H
+#define EVENT_H
+
+#include <map>
+#include <set>
+#include <string>
+
+class ActorSprite;
+class Item;
+
+enum Channels
+{
+ CHANNEL_ACTORSPRITE,
+ CHANNEL_ATTRIBUTES,
+ CHANNEL_BUYSELL,
+ CHANNEL_CHAT,
+ CHANNEL_CLIENT,
+ CHANNEL_CONFIG,
+ CHANNEL_GAME,
+ CHANNEL_ITEM,
+ CHANNEL_NOTICES,
+ CHANNEL_NPC,
+ CHANNEL_STATUS,
+ CHANNEL_STORAGE
+};
+
+enum Events
+{
+ EVENT_ANNOUNCEMENT,
+ EVENT_BEING,
+ EVENT_CLOSE,
+ EVENT_CLOSEALL,
+ EVENT_CLOSESENT,
+ EVENT_CONFIGOPTIONCHANGED,
+ EVENT_CONSTRUCTED,
+ EVENT_DBSLOADING,
+ EVENT_DESTROYED,
+ EVENT_DESTRUCTED,
+ EVENT_DESTRUCTING,
+ EVENT_DOCLOSEINVENTORY,
+ EVENT_DODROP,
+ EVENT_DOEQUIP,
+ EVENT_DOMOVE,
+ EVENT_DOSPLIT,
+ EVENT_DOUNEQUIP,
+ EVENT_DOUSE,
+ EVENT_END,
+ EVENT_ENGINESINITALIZED,
+ EVENT_ENGINESINITALIZING,
+ EVENT_GUIWINDOWSLOADED,
+ EVENT_GUIWINDOWSLOADING,
+ EVENT_GUIWINDOWSUNLOADED,
+ EVENT_GUIWINDOWSUNLOADING,
+ EVENT_INTEGERINPUT,
+ EVENT_INTEGERINPUTSENT,
+ EVENT_MAPLOADED,
+ EVENT_MENU,
+ EVENT_MENUSENT,
+ EVENT_MESSAGE,
+ EVENT_NEXT,
+ EVENT_NEXTSENT,
+ EVENT_NPCCOUNT,
+ EVENT_PLAYER,
+ EVENT_POST,
+ EVENT_POSTCOUNT,
+ EVENT_SENDLETTERSENT,
+ EVENT_SERVERNOTICE,
+ EVENT_STATECHANGE,
+ EVENT_STORAGECOUNT,
+ EVENT_STRINGINPUT,
+ EVENT_STRINGINPUTSENT,
+ EVENT_STUN,
+ EVENT_TALKSENT,
+ EVENT_TRADING,
+ EVENT_UPDATEATTRIBUTE,
+ EVENT_UPDATESTAT,
+ EVENT_UPDATESTATUSEFFECT,
+ EVENT_WHISPER,
+ EVENT_WHISPERERROR
+};
+
+namespace Mana
+{
+
+// Possible exception that can be thrown
+enum BadEvent {
+ BAD_KEY,
+ BAD_VALUE,
+ KEY_ALREADY_EXISTS
+};
+
+class Listener;
+
+typedef std::set<Listener *> ListenerSet;
+typedef std::map<Channels, ListenerSet > ListenMap;
+
+class VariableData;
+typedef std::map<std::string, VariableData *> VariableMap;
+
+#define SERVER_NOTICE(message) { \
+Mana::Event event(EVENT_SERVERNOTICE); \
+event.setString("message", message); \
+event.trigger(CHANNEL_NOTICES, event); }
+
+class Event
+{
+public:
+ /**
+ * Makes an event with the given name.
+ */
+ Event(Events name)
+ { mEventName = name; }
+
+ ~Event();
+
+ /**
+ * Returns the name of the event.
+ */
+ Events getName() const
+ { return mEventName; }
+
+// Integers
+
+ /**
+ * Sets the given variable to the given integer, if it isn't already set.
+ */
+ void setInt(const std::string &key, int value) throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and an integer.
+ */
+ int getInt(const std::string &key) const throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and an integer, returning the
+ * given default otherwise.
+ */
+ inline int getInt(const std::string &key, int defaultValue) const
+ { try { return getInt(key); } catch (BadEvent) { return defaultValue; }}
+
+ /**
+ * Returns true if the given variable exists and is an integer.
+ */
+ bool hasInt(const std::string &key) const;
+
+// Strings
+
+ /**
+ * Sets the given variable to the given string, if it isn't already set.
+ */
+ void setString(const std::string &key, const std::string &value) throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and a string.
+ */
+ const std::string &getString(const std::string &key) const throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and a string, returning the
+ * given default otherwise.
+ */
+ inline std::string getString(const std::string &key,
+ const std::string &defaultValue) const
+ { try { return getString(key); } catch (BadEvent) { return defaultValue; }}
+
+ /**
+ * Returns true if the given variable exists and is a string.
+ */
+ bool hasString(const std::string &key) const;
+
+// Floats
+
+ /**
+ * Sets the given variable to the given floating-point, if it isn't already
+ * set.
+ */
+ void setFloat(const std::string &key, double value) throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and a floating-point.
+ */
+ double getFloat(const std::string &key) const throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and a floating-point, returning
+ * the given default otherwise.
+ */
+ inline double getFloat(const std::string &key, float defaultValue) const
+ { try { return getFloat(key); } catch (BadEvent) { return defaultValue; }}
+
+ /**
+ * Returns true if the given variable exists and is a floating-point.
+ */
+ bool hasFloat(const std::string &key) const;
+
+// Booleans
+
+ /**
+ * Sets the given variable to the given boolean, if it isn't already set.
+ */
+ void setBool(const std::string &key, bool value) throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and a boolean.
+ */
+ bool getBool(const std::string &key) const throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and a boolean, returning the
+ * given default otherwise.
+ */
+ inline bool getBool(const std::string &key, bool defaultValue) const
+ { try { return getBool(key); } catch (BadEvent) { return defaultValue; }}
+
+ /**
+ * Returns true if the given variable exists and is a boolean.
+ */
+ bool hasBool(const std::string &key) const;
+
+// Items
+
+ /**
+ * Sets the given variable to the given Item, if it isn't already set.
+ */
+ void setItem(const std::string &key, Item *value) throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and an Item.
+ */
+ Item *getItem(const std::string &key) const throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and an Item, returning the
+ * given default otherwise.
+ */
+ inline Item *getItem(const std::string &key, Item *defaultValue) const
+ { try { return getItem(key); } catch (BadEvent) { return defaultValue; }}
+
+ /**
+ * Returns true if the given variable exists and is an Item.
+ */
+ bool hasItem(const std::string &key) const;
+
+// ActorSprites
+
+ /**
+ * Sets the given variable to the given actor, if it isn't already set.
+ */
+ void setActor(const std::string &key, ActorSprite *value) throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and an actor.
+ */
+ ActorSprite *getActor(const std::string &key) const throw (BadEvent);
+
+ /**
+ * Returns the given variable if it is set and an actor, returning the
+ * given default otherwise.
+ */
+ inline ActorSprite *getActor(const std::string &key,
+ ActorSprite *defaultValue) const
+ { try { return getActor(key); } catch (BadEvent) { return defaultValue; }}
+
+ /**
+ * Returns true if the given variable exists and is an actor.
+ */
+ bool hasActor(const std::string &key) const;
+
+// Triggers
+
+ /**
+ * Sends this event to all classes listening to the given channel.
+ */
+ inline void trigger(Channels channel) const
+ { trigger(channel, *this); }
+
+ /**
+ * Sends the given event to all classes listening to the given channel.
+ */
+ static void trigger(Channels channel, const Event &event);
+
+ /**
+ * Sends an empty event with the given name to all classes listening to the
+ * given channel.
+ */
+ static inline void trigger(Channels channel, Events name)
+ { trigger(channel, Mana::Event(name)); }
+
+protected:
+ friend class Listener;
+
+ /**
+ * Binds the given listener to the given channel. The listener will receive
+ * all events triggered on the channel.
+ */
+ static void bind(Listener *listener, Channels channel);
+
+ /**
+ * Unbinds the given listener from the given channel. The listener will no
+ * longer receive any events from the channel.
+ */
+ static void unbind(Listener *listener, Channels channel);
+
+ /**
+ * Unbinds the given listener from all channels.
+ */
+ static void remove(Listener *listener);
+
+private:
+ static ListenMap mBindings;
+
+ Events mEventName;
+
+ VariableMap mData;
+};
+
+} // namespace Mana
+
+#endif
diff --git a/src/flooritem.cpp b/src/flooritem.cpp
index c3442a86..db62ce9a 100644
--- a/src/flooritem.cpp
+++ b/src/flooritem.cpp
@@ -21,59 +21,34 @@
#include "flooritem.h"
-#include "graphics.h"
-#include "item.h"
-#include "map.h"
+#include "net/net.h"
-#include "resources/image.h"
+#include "resources/itemdb.h"
+#include "resources/iteminfo.h"
FloorItem::FloorItem(int id,
int itemId,
int x,
int y,
Map *map):
- mId(id),
+ ActorSprite(id),
+ mItemId(itemId),
mX(x),
- mY(y),
- mMap(map),
- mAlpha(1.0f)
+ mY(y)
{
- // Create a corresponding item instance
- mItem = new Item(itemId);
+ setMap(map);
- // Add ourselves to the map
- mMapSprite = mMap->addSprite(this);
-}
-
-FloorItem::~FloorItem()
-{
- // Remove ourselves from the map
- mMap->removeSprite(mMapSprite);
+ // TODO: Eventually, we probably should fix all sprite offsets so that
+ // these translations aren't necessary anymore. The sprites know
+ // best where their base point should be.
+ mPos.x = x * map->getTileWidth() + 16;
+ mPos.y = y * map->getTileHeight() +
+ ((Net::getNetworkType() == ServerInfo::MANASERV) ? 15 : 32);
- delete mItem;
-}
-
-int FloorItem::getItemId() const
-{
- return mItem->getId();
+ setupSpriteDisplay(itemDb->get(itemId).getDisplay());
}
-Item *FloorItem::getItem() const
+const ItemInfo &FloorItem::getInfo() const
{
- return mItem;
-}
-
-void FloorItem::draw(Graphics *graphics, int offsetX, int offsetY) const
-{
- if (mItem)
- {
- Image *image = mItem->getDrawImage();
-
- if (image)
- if (mAlpha != image->getAlpha())
- image->setAlpha(mAlpha);
-
- graphics->drawImage(image, mX * mMap->getTileWidth() + offsetX,
- mY * mMap->getTileHeight() + offsetY);
- }
+ return itemDb->get(mItemId);
}
diff --git a/src/flooritem.h b/src/flooritem.h
index ec8c37cd..e599c939 100644
--- a/src/flooritem.h
+++ b/src/flooritem.h
@@ -22,19 +22,14 @@
#ifndef FLOORITEM_H
#define FLOORITEM_H
-#include "map.h"
-#include "sprite.h"
+#include "actorsprite.h"
-#include <list>
-
-class Graphics;
-class Image;
-class Item;
+class ItemInfo;
/**
* An item lying on the floor.
*/
-class FloorItem : public Sprite
+class FloorItem : public ActorSprite
{
public:
/**
@@ -52,72 +47,29 @@ class FloorItem : public Sprite
int y,
Map *map);
- ~FloorItem();
-
- /**
- * Returns instance ID of this item.
- */
- int getId() const { return mId; }
+ Type getType() const { return FLOOR_ITEM; }
/**
* Returns the item ID.
*/
- int getItemId() const;
-
- /**
- * Returns the item object. Useful for adding an item link for the
- * floor item to chat.
- */
- Item *getItem() const;
-
- /**
- * Returns the x coordinate in tiles.
- */
- int getX() const { return mX; }
+ int getItemId() const
+ { return mItemId; }
/**
- * Returns the y coordinate in tiles.
+ * Returns the item info for this floor item. Useful for adding an item
+ * link for the floor item to chat.
*/
- int getY() const { return mY; }
+ const ItemInfo &getInfo() const;
- /**
- * Returns the pixel y coordinate.
- *
- * @see Sprite::getPixelY()
- */
- int getPixelY() const
- { return mY * mMap->getTileHeight() + mMap->getTileHeight() / 2; }
-
- /**
- * Draws this floor item to the given graphics context.
- *
- * @see Sprite::draw(Graphics, int, int)
- */
- void draw(Graphics *graphics, int offsetX, int offsetY) const;
-
- /**
- * Sets the alpha value of the floor item
- */
- void setAlpha(float alpha)
- { mAlpha = alpha; }
-
- /**
- * Returns the current alpha opacity of the floor item.
- */
- virtual float getAlpha() const
- { return mAlpha; }
+ virtual int getTileX() const
+ { return mX; }
- /** We consider flooritems (at least for now) to be one layer-sprites */
- virtual int getNumberOfLayers() const
- { return 1; }
+ virtual int getTileY() const
+ { return mY; }
private:
- int mId;
+ int mItemId;
int mX, mY;
- Item *mItem;
- MapSprite mMapSprite;
- Map *mMap;
- float mAlpha;
};
#endif
diff --git a/src/flooritemmanager.cpp b/src/flooritemmanager.cpp
deleted file mode 100644
index a190a168..00000000
--- a/src/flooritemmanager.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana 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/>.
- */
-
-#include "flooritemmanager.h"
-#include "flooritem.h"
-
-#include "game.h"
-
-#include "utils/dtor.h"
-
-FloorItemManager::~FloorItemManager()
-{
- clear();
-}
-
-FloorItem *FloorItemManager::create(int id, int itemId, int x, int y)
-{
- Map *map = Game::instance()->getCurrentMap();
- FloorItem *floorItem = new FloorItem(id, itemId, x, y, map);
- mFloorItems.push_back(floorItem);
- return floorItem;
-}
-
-void FloorItemManager::destroy(FloorItem *item)
-{
- mFloorItems.remove(item);
- delete item;
-}
-
-void FloorItemManager::clear()
-{
- delete_all(mFloorItems);
- mFloorItems.clear();
-}
-
-FloorItem *FloorItemManager::findById(int id) const
-{
- FloorItems::const_iterator i;
- for (i = mFloorItems.begin(); i != mFloorItems.end(); i++)
- {
- if ((*i)->getId() == id)
- {
- return *i;
- }
- }
-
- return NULL;
-}
-
-FloorItem *FloorItemManager::findByCoordinates(int x, int y) const
-{
- FloorItems::const_iterator i;
- for (i = mFloorItems.begin(); i != mFloorItems.end(); i++)
- {
- if ((*i)->getX() == x && (*i)->getY() == y)
- {
- return *i;
- }
- }
-
- return NULL;
-}
diff --git a/src/flooritemmanager.h b/src/flooritemmanager.h
deleted file mode 100644
index 62ca8dc2..00000000
--- a/src/flooritemmanager.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana 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 FLOORITEMMANAGER_H
-#define FLOORITEMMANAGER_H
-
-#include <list>
-
-class FloorItem;
-class Map;
-
-class FloorItemManager
-{
- public:
- ~FloorItemManager();
-
- FloorItem *create(int id, int itemId, int x, int y);
-
- void destroy(FloorItem *item);
-
- void clear();
-
- FloorItem *findById(int id) const;
- FloorItem *findByCoordinates(int x, int y) const;
-
- private:
- typedef std::list<FloorItem*> FloorItems;
- typedef FloorItems::iterator FloorItemIterator;
- FloorItems mFloorItems;
-
-};
-
-// TODO Get rid of the global?
-extern FloorItemManager *floorItemManager;
-
-#endif
diff --git a/src/game.cpp b/src/game.cpp
index 512b8b5f..fd453434 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -21,14 +21,15 @@
#include "game.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
+#include "actorsprite.h"
#include "channelmanager.h"
#include "client.h"
#include "commandhandler.h"
#include "configuration.h"
#include "effectmanager.h"
+#include "event.h"
#include "emoteshortcut.h"
-#include "flooritemmanager.h"
#include "graphics.h"
#include "itemshortcut.h"
#include "joystick.h"
@@ -36,7 +37,6 @@
#include "localplayer.h"
#include "log.h"
#include "map.h"
-#include "npc.h"
#include "particle.h"
#include "playerrelations.h"
#include "sound.h"
@@ -52,7 +52,6 @@
#include "gui/minimap.h"
#include "gui/ministatus.h"
#include "gui/npcdialog.h"
-#include "gui/npcpostdialog.h"
#include "gui/okdialog.h"
#include "gui/outfitwindow.h"
#include "gui/quitdialog.h"
@@ -115,8 +114,7 @@ OutfitWindow *outfitWindow;
SpecialsWindow *specialsWindow;
SocialWindow *socialWindow;
-BeingManager *beingManager = NULL;
-FloorItemManager *floorItemManager = NULL;
+ActorSpriteManager *actorSpriteManager = NULL;
ChannelManager *channelManager = NULL;
CommandHandler *commandHandler = NULL;
Particle *particleEngine = NULL;
@@ -130,14 +128,17 @@ ChatTab *localChatTab = NULL;
*/
static void initEngines()
{
- beingManager = new BeingManager;
+ Mana::Event::trigger(CHANNEL_GAME, EVENT_ENGINESINITALIZING);
+
+ actorSpriteManager = new ActorSpriteManager;
commandHandler = new CommandHandler;
- floorItemManager = new FloorItemManager;
channelManager = new ChannelManager;
effectManager = new EffectManager;
particleEngine = new Particle(NULL);
particleEngine->setupEngine();
+
+ Mana::Event::trigger(CHANNEL_GAME, EVENT_ENGINESINITALIZED);
}
/**
@@ -145,6 +146,8 @@ static void initEngines()
*/
static void createGuiWindows()
{
+ Mana::Event::trigger(CHANNEL_GAME, EVENT_GUIWINDOWSLOADING);
+
setupWindow->clearWindowsForReset();
// Create dialogs
@@ -152,9 +155,19 @@ static void createGuiWindows()
minimap = new Minimap;
chatWindow = new ChatWindow;
tradeWindow = new TradeWindow;
- equipmentWindow = new EquipmentWindow(player_node->mEquipment.get());
+ switch (Net::getNetworkType())
+ {
+ case ServerInfo::TMWATHENA:
+ equipmentWindow = new TmwAthena::TaEquipmentWindow(
+ PlayerInfo::getEquipment());
+ break;
+ case ServerInfo::MANASERV:
+ default:
+ equipmentWindow = new EquipmentWindow(PlayerInfo::getEquipment());
+ break;
+ }
statusWindow = new StatusWindow;
- inventoryWindow = new InventoryWindow(player_node->getInventory());
+ inventoryWindow = new InventoryWindow(PlayerInfo::getInventory());
skillDialog = new SkillDialog;
helpWindow = new HelpWindow;
debugWindow = new DebugWindow;
@@ -168,12 +181,9 @@ static void createGuiWindows()
localChatTab = new ChatTab(_("General"));
- if (config.getValue("logToChat", 0))
- {
- logger->setChatWindow(chatWindow);
- }
+ NpcDialog::setup();
- Net::getGeneralHandler()->guiWindowsLoaded();
+ Mana::Event::trigger(CHANNEL_GAME, EVENT_GUIWINDOWSLOADED);
}
#define del_0(X) { delete X; X = 0; }
@@ -183,8 +193,8 @@ static void createGuiWindows()
*/
static void destroyGuiWindows()
{
- Net::getGeneralHandler()->guiWindowsUnloaded();
- logger->setChatWindow(NULL);
+ Mana::Event::trigger(CHANNEL_GAME, EVENT_GUIWINDOWSUNLOADING);
+
del_0(localChatTab) // Need to do this first, so it can remove itself
del_0(chatWindow)
del_0(statusWindow)
@@ -201,12 +211,16 @@ static void destroyGuiWindows()
del_0(outfitWindow)
del_0(specialsWindow)
del_0(socialWindow)
+
+ Mana::Event::trigger(CHANNEL_NPC, EVENT_CLOSEALL); // Cleanup remaining NPC dialogs
+
+ Mana::Event::trigger(CHANNEL_GAME, EVENT_GUIWINDOWSUNLOADED);
}
Game *Game::mInstance = 0;
Game::Game():
- mLastTarget(Being::UNKNOWN),
+ mLastTarget(ActorSprite::UNKNOWN),
mCurrentMap(0), mMapName("")
{
assert(!mInstance);
@@ -230,10 +244,8 @@ Game::Game():
initEngines();
- Net::getGameHandler()->inGame();
-
// Initialize beings
- beingManager->setPlayer(player_node);
+ actorSpriteManager->setPlayer(player_node);
/*
* To prevent the server from sending data before the client
@@ -253,18 +265,21 @@ Game::Game():
joystick = new Joystick(0);
setupWindow->setInGame(true);
+
+ Mana::Event::trigger(CHANNEL_GAME, EVENT_CONSTRUCTED);
}
Game::~Game()
{
+ Mana::Event::trigger(CHANNEL_GAME, EVENT_DESTRUCTING);
+
delete mWindowMenu;
destroyGuiWindows();
- del_0(beingManager)
+ del_0(actorSpriteManager)
if (Client::getState() != STATE_CHANGE_MAP)
del_0(player_node)
- del_0(floorItemManager)
del_0(channelManager)
del_0(commandHandler)
del_0(joystick)
@@ -273,6 +288,8 @@ Game::~Game()
del_0(mCurrentMap)
mInstance = 0;
+
+ Mana::Event::trigger(CHANNEL_GAME, EVENT_DESTRUCTED);
}
static bool saveScreenshot()
@@ -284,7 +301,7 @@ static bool saveScreenshot()
if (showip)
{
player_node->setShowIp(false);
- beingManager->updatePlayerNames();
+ actorSpriteManager->updatePlayerNames();
gui->draw();
}
@@ -293,7 +310,7 @@ static bool saveScreenshot()
if (showip)
{
player_node->setShowIp(true);
- beingManager->updatePlayerNames();
+ actorSpriteManager->updatePlayerNames();
}
// Search for an unused screenshot name
@@ -311,7 +328,8 @@ static bool saveScreenshot()
screenshotDirectory = std::string(PHYSFS_getUserDir());
}
- do {
+ do
+ {
screenshotCount++;
filenameSuffix.str("");
filename.str("");
@@ -322,7 +340,8 @@ static bool saveScreenshot()
testExists.open(filename.str().c_str(), std::ios::in);
found = !testExists.is_open();
testExists.close();
- } while (!found);
+ }
+ while (!found);
const bool success = ImageWriter::writePNG(screenshot, filename.str());
@@ -331,11 +350,11 @@ static bool saveScreenshot()
std::stringstream chatlogentry;
// TODO: Make it one complete gettext string below
chatlogentry << _("Screenshot saved as ") << filenameSuffix.str();
- localChatTab->chatLog(chatlogentry.str(), BY_SERVER);
+ SERVER_NOTICE(chatlogentry.str())
}
else
{
- localChatTab->chatLog(_("Saving screenshot failed!"), BY_SERVER);
+ SERVER_NOTICE(_("Saving screenshot failed!"))
logger->log("Error: could not save screenshot.");
}
@@ -349,7 +368,8 @@ void Game::logic()
handleInput();
// Handle all necessary game logic
- beingManager->logic();
+ ActorSprite::actorLogic();
+ actorSpriteManager->logic();
particleEngine->update();
if (mCurrentMap)
mCurrentMap->update();
@@ -407,7 +427,7 @@ void Game::handleInput()
// send straight to gui for certain windows
if (quitDialog || TextDialog::isActive() ||
- NpcPostDialog::isActive())
+ PlayerInfo::getNPCPostCount() > 0)
{
try
{
@@ -465,7 +485,8 @@ void Game::handleInput()
}
- if (!chatWindow->isInputFocused() || (event.key.keysym.mod & KMOD_ALT))
+ if (!chatWindow->isInputFocused() || (event.key.keysym.mod &
+ KMOD_ALT))
{
if (keyboard.isKeyActive(keyboard.KEY_PREV_CHAT_TAB))
{
@@ -612,7 +633,7 @@ void Game::handleInput()
int y = player_node->getTileY();
FloorItem *item =
- floorItemManager->findByCoordinates(x, y);
+ actorSpriteManager->findItem(x, y);
// If none below the player, try the tile in front
// of the player
@@ -629,8 +650,7 @@ void Game::handleInput()
default: break;
}
- item = floorItemManager->findByCoordinates(
- x, y);
+ item = actorSpriteManager->findItem(x, y);
}
if (item)
@@ -709,16 +729,12 @@ void Game::handleInput()
unsigned int deflt = player_relations.getDefault();
if (deflt & PlayerRelation::TRADE)
{
- localChatTab->chatLog(
- _("Ignoring incoming trade requests"),
- BY_SERVER);
+ SERVER_NOTICE(_("Ignoring incoming trade requests"))
deflt &= ~PlayerRelation::TRADE;
}
else
{
- localChatTab->chatLog(
- _("Accepting incoming trade requests"),
- BY_SERVER);
+ SERVER_NOTICE(_("Accepting incoming trade requests"))
deflt |= PlayerRelation::TRADE;
}
@@ -764,7 +780,7 @@ void Game::handleInput()
return;
// Moving player around
- if (player_node->isAlive() && !NPC::isTalking() &&
+ if (player_node->isAlive() && !PlayerInfo::isTalking() &&
!chatWindow->isInputFocused() && !quitDialog && !TextDialog::isActive())
{
// Get the state of the keyboard keys
@@ -835,8 +851,8 @@ void Game::handleInput()
if (!player_node->getTarget())
{
// Only auto target Monsters
- target = beingManager->findNearestLivingBeing(player_node,
- 20, Being::MONSTER);
+ target = actorSpriteManager->findNearestLivingBeing(player_node,
+ 20, ActorSprite::MONSTER);
}
player_node->attack(target, newTarget);
}
@@ -848,16 +864,16 @@ void Game::handleInput()
(joystick && joystick->buttonPressed(3))) &&
!keyboard.isKeyActive(keyboard.KEY_TARGET))
{
- Being::Type currentTarget = Being::UNKNOWN;
+ ActorSprite::Type currentTarget = ActorSprite::UNKNOWN;
if (keyboard.isKeyActive(keyboard.KEY_TARGET_CLOSEST) ||
(joystick && joystick->buttonPressed(3)))
- currentTarget = Being::MONSTER;
+ currentTarget = ActorSprite::MONSTER;
else if (keyboard.isKeyActive(keyboard.KEY_TARGET_PLAYER))
- currentTarget = Being::PLAYER;
+ currentTarget = ActorSprite::PLAYER;
else if (keyboard.isKeyActive(keyboard.KEY_TARGET_NPC))
- currentTarget = Being::NPC;
+ currentTarget = ActorSprite::NPC;
- Being *target = beingManager->findNearestLivingBeing(player_node,
+ Being *target = actorSpriteManager->findNearestLivingBeing(player_node,
20, currentTarget);
if (target && (target != player_node->getTarget() ||
@@ -869,7 +885,7 @@ void Game::handleInput()
}
else
{
- mLastTarget = Being::UNKNOWN; // Reset last target
+ mLastTarget = ActorSprite::UNKNOWN; // Reset last target
}
// Talk to the nearest NPC if 't' pressed
@@ -880,8 +896,8 @@ void Game::handleInput()
if (target)
{
- if (target->getType() == Being::NPC)
- static_cast<NPC*>(target)->talk();
+ if (target->canTalk())
+ target->talkTo();
}
}
@@ -899,7 +915,7 @@ void Game::handleInput()
const int x = player_node->getTileX();
const int y = player_node->getTileY();
- FloorItem *item = floorItemManager->findByCoordinates(x, y);
+ FloorItem *item = actorSpriteManager->findItem(x, y);
if (item)
player_node->pickUp(item);
@@ -919,8 +935,7 @@ void Game::handleInput()
void Game::changeMap(const std::string &mapPath)
{
// Clean up floor items, beings and particles
- floorItemManager->clear();
- beingManager->clear();
+ actorSpriteManager->clear();
// Close the popup menu on map change so that invalid options can't be
// executed.
@@ -953,7 +968,7 @@ void Game::changeMap(const std::string &mapPath)
// Notify the minimap and beingManager about the map change
minimap->setMap(newMap);
- beingManager->setMap(newMap);
+ actorSpriteManager->setMap(newMap);
particleEngine->setMap(newMap);
viewport->setMap(newMap);
@@ -975,5 +990,7 @@ void Game::changeMap(const std::string &mapPath)
delete mCurrentMap;
mCurrentMap = newMap;
- Net::getGameHandler()->mapLoaded(mapPath);
+ Mana::Event event(EVENT_MAPLOADED);
+ event.setString("mapPath", mapPath);
+ event.trigger(CHANNEL_GAME);
}
diff --git a/src/graphics.cpp b/src/graphics.cpp
index 9815e1ad..24f92544 100644
--- a/src/graphics.cpp
+++ b/src/graphics.cpp
@@ -27,12 +27,15 @@
#include "resources/image.h"
#include "resources/imageloader.h"
+#include <SDL_gfxBlitFunc.h>
+
Graphics::Graphics():
mWidth(0),
mHeight(0),
mBpp(0),
mFullscreen(false),
- mHWAccel(false)
+ mHWAccel(false),
+ mBlitMode(BLIT_NORMAL)
{
}
@@ -183,7 +186,10 @@ bool Graphics::drawImage(Image *image, int srcX, int srcY, int dstX, int dstY,
srcRect.w = width;
srcRect.h = height;
- return !(SDL_BlitSurface(image->mSDLSurface, &srcRect, mTarget, &dstRect) < 0);
+ if (mBlitMode == BLIT_NORMAL)
+ return !(SDL_BlitSurface(image->mSDLSurface, &srcRect, mTarget, &dstRect) < 0);
+ else
+ return !(SDL_gfxBlitRGBA(image->mSDLSurface, &srcRect, mTarget, &dstRect) < 0);
}
void Graphics::drawImage(gcn::Image const *image, int srcX, int srcY,
diff --git a/src/graphics.h b/src/graphics.h
index 211fb901..344c31c3 100644
--- a/src/graphics.h
+++ b/src/graphics.h
@@ -73,6 +73,11 @@ struct ImageRect
class Graphics : public gcn::SDLGraphics
{
public:
+ enum BlitMode {
+ BLIT_NORMAL = 0,
+ BLIT_GFX
+ };
+
/**
* Constructor.
*/
@@ -182,6 +187,12 @@ class Graphics : public gcn::SDLGraphics
drawImageRect(area.x, area.y, area.width, area.height, imgRect);
}
+ void setBlitMode(BlitMode mode)
+ { mBlitMode = mode; }
+
+ BlitMode getBlitMode()
+ { return mBlitMode; }
+
/**
* Updates the screen. This is done by either copying the buffer to the
* screen or swapping pages.
@@ -211,6 +222,7 @@ class Graphics : public gcn::SDLGraphics
int mBpp;
bool mFullscreen;
bool mHWAccel;
+ BlitMode mBlitMode;
};
extern Graphics *graphics;
diff --git a/src/gui/beingpopup.cpp b/src/gui/beingpopup.cpp
index 2150f7e5..ae0b43fd 100644
--- a/src/gui/beingpopup.cpp
+++ b/src/gui/beingpopup.cpp
@@ -20,8 +20,8 @@
#include "gui/beingpopup.h"
+#include "being.h"
#include "graphics.h"
-#include "player.h"
#include "units.h"
#include "gui/gui.h"
@@ -57,24 +57,24 @@ BeingPopup::~BeingPopup()
{
}
-void BeingPopup::show(int x, int y, Player *p)
+void BeingPopup::show(int x, int y, Being *b)
{
- if (!p)
+ if (!b)
{
setVisible(false);
return;
}
- mBeingName->setCaption(p->getName());
+ mBeingName->setCaption(b->getName());
mBeingName->adjustSize();
int minWidth = mBeingName->getWidth();
const int height = getFont()->getHeight();
- if (!(p->getPartyName().empty()))
+ if (!(b->getPartyName().empty()))
{
mBeingParty->setCaption(strprintf(_("Party: %s"),
- p->getPartyName().c_str()));
+ b->getPartyName().c_str()));
mBeingParty->adjustSize();
if (minWidth < mBeingParty->getWidth())
diff --git a/src/gui/beingpopup.h b/src/gui/beingpopup.h
index f397e374..514a6e7e 100644
--- a/src/gui/beingpopup.h
+++ b/src/gui/beingpopup.h
@@ -23,8 +23,8 @@
#include "gui/widgets/popup.h"
+class Being;
class Label;
-class Player;
/**
* A popup that displays information about a being.
@@ -45,7 +45,7 @@ class BeingPopup : public Popup
/**
* Sets the info to be displayed given a particular player.
*/
- void show(int x, int y, Player *p);
+ void show(int x, int y, Being *b);
// TODO: Add a version for monsters, NPCs, etc?
diff --git a/src/gui/buy.cpp b/src/gui/buy.cpp
index faa86cc9..4a8dae17 100644
--- a/src/gui/buy.cpp
+++ b/src/gui/buy.cpp
@@ -21,6 +21,10 @@
#include "gui/buy.h"
+#include "playerinfo.h"
+#include "shopitem.h"
+#include "units.h"
+
#include "gui/setup.h"
#include "gui/widgets/button.h"
@@ -31,10 +35,6 @@
#include "gui/widgets/shoplistbox.h"
#include "gui/widgets/slider.h"
-#include "npc.h"
-#include "shopitem.h"
-#include "units.h"
-
#include "net/net.h"
#include "net/npchandler.h"
@@ -112,6 +112,8 @@ BuyDialog::BuyDialog(int npcId):
instances.push_back(this);
setVisible(true);
+
+ PlayerInfo::setBuySellState(BUYSELL_BUYING);
}
BuyDialog::~BuyDialog()
@@ -119,6 +121,9 @@ BuyDialog::~BuyDialog()
delete mShopItems;
instances.remove(this);
+
+ if (PlayerInfo::getBuySellState() == BUYSELL_BUYING)
+ PlayerInfo::setBuySellState(BUYSELL_NONE);
}
void BuyDialog::setMoney(int amount)
diff --git a/src/gui/buy.h b/src/gui/buy.h
index 4b273bcc..c3cb3229 100644
--- a/src/gui/buy.h
+++ b/src/gui/buy.h
@@ -100,11 +100,6 @@ class BuyDialog : public Window, public gcn::ActionListener,
void setVisible(bool visible);
/**
- * Returns true if any instances exist.
- */
- static bool isActive() { return instances.size() > 0; }
-
- /**
* Closes all instances.
*/
static void closeAll();
diff --git a/src/gui/buysell.cpp b/src/gui/buysell.cpp
index c6b4ef41..4419ffcc 100644
--- a/src/gui/buysell.cpp
+++ b/src/gui/buysell.cpp
@@ -21,7 +21,7 @@
#include "buysell.h"
-#include "npc.h"
+#include "playerinfo.h"
#include "gui/setup.h"
@@ -67,11 +67,16 @@ BuySellDialog::BuySellDialog(int npcId):
instances.push_back(this);
setVisible(true);
+
+ PlayerInfo::setBuySellState(BUYSELL_CHOOSING);
}
BuySellDialog::~BuySellDialog()
{
instances.remove(this);
+
+ if (PlayerInfo::getBuySellState() == BUYSELL_CHOOSING)
+ PlayerInfo::setBuySellState(BUYSELL_NONE);
}
void BuySellDialog::setVisible(bool visible)
diff --git a/src/gui/buysell.h b/src/gui/buysell.h
index cf7ec91e..3408821a 100644
--- a/src/gui/buysell.h
+++ b/src/gui/buysell.h
@@ -52,11 +52,6 @@ class BuySellDialog : public Window, public gcn::ActionListener
void action(const gcn::ActionEvent &event);
/**
- * Returns true if any instances exist.
- */
- static bool isActive() { return instances.size() > 0; }
-
- /**
* Closes all instances.
*/
static void closeAll();
diff --git a/src/gui/changeemaildialog.h b/src/gui/changeemaildialog.h
index 7e5f04fa..84838d15 100644
--- a/src/gui/changeemaildialog.h
+++ b/src/gui/changeemaildialog.h
@@ -22,8 +22,6 @@
#ifndef GUI_CHANGEEMAIL_H
#define GUI_CHANGEEMAIL_H
-#include "guichanfwd.h"
-
#include "gui/widgets/window.h"
#include <guichan/actionlistener.hpp>
diff --git a/src/gui/changepassworddialog.h b/src/gui/changepassworddialog.h
index 361debe4..d356a5df 100644
--- a/src/gui/changepassworddialog.h
+++ b/src/gui/changepassworddialog.h
@@ -22,8 +22,6 @@
#ifndef CHANGEPASSWORDDIALOG_H
#define CHANGEPASSWORDDIALOG_H
-#include "guichanfwd.h"
-
#include "gui/widgets/window.h"
#include <guichan/actionlistener.hpp>
diff --git a/src/gui/charcreatedialog.cpp b/src/gui/charcreatedialog.cpp
index e4a5fd01..746295b5 100644
--- a/src/gui/charcreatedialog.cpp
+++ b/src/gui/charcreatedialog.cpp
@@ -54,7 +54,7 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *parent, int slot):
mCharSelectDialog(parent),
mSlot(slot)
{
- mPlayer = new Player(0, 0, NULL);
+ mPlayer = new Being(0, ActorSprite::PLAYER, 0, NULL);
mPlayer->setGender(GENDER_MALE);
int numberOfHairColors = ColorDB::size();
@@ -65,10 +65,10 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *parent, int slot):
mNameField = new TextField("");
mNameLabel = new Label(_("Name:"));
- // TRANSLATORS: This is a narrow symbol used to denote 'next'.
+ // TRANSLATORS: This is an arrow symbol used to denote 'next'.
// You may change this symbol if your language uses another.
mNextHairColorButton = new Button(_(">"), "nextcolor", this);
- // TRANSLATORS: This is a narrow symbol used to denote 'previous'.
+ // TRANSLATORS: This is an arrow symbol used to denote 'previous'.
// You may change this symbol if your language uses another.
mPrevHairColorButton = new Button(_("<"), "prevcolor", this);
mHairColorLabel = new Label(_("Hair color:"));
@@ -156,7 +156,8 @@ void CharCreateDialog::action(const gcn::ActionEvent &event)
{
if (event.getId() == "create")
{
- if (getName().length() >= 4)
+ if (Net::getNetworkType() == ServerInfo::MANASERV
+ || getName().length() >= 4)
{
// Attempt to create the character
mCreateButton->setEnabled(false);
@@ -167,7 +168,12 @@ void CharCreateDialog::action(const gcn::ActionEvent &event)
atts.push_back((int) mAttributeSlider[i]->getValue());
}
- Net::getCharHandler()->newCharacter(getName(), mSlot,
+ int characterSlot = mSlot;
+ // On Manaserv, the slots start at 1, so we offset them.
+ if (Net::getNetworkType() == ServerInfo::MANASERV)
+ ++characterSlot;
+
+ Net::getCharHandler()->newCharacter(getName(), characterSlot,
mFemale->isSelected(),
mHairStyle,
mHairColor, atts);
@@ -277,7 +283,8 @@ int CharCreateDialog::getDistributedPoints() const
}
void CharCreateDialog::setAttributes(const std::vector<std::string> &labels,
- int available, int min, int max)
+ unsigned int available, unsigned int min,
+ unsigned int max)
{
mMaxPoints = available;
diff --git a/src/gui/charcreatedialog.h b/src/gui/charcreatedialog.h
index 902e650e..d6b6d390 100644
--- a/src/gui/charcreatedialog.h
+++ b/src/gui/charcreatedialog.h
@@ -22,7 +22,7 @@
#ifndef CHAR_CREATE_DIALOG_H
#define CHAR_CREATE_DIALOG_H
-#include "player.h"
+#include "being.h"
#include "guichanfwd.h"
#include "gui/charselectdialog.h"
@@ -63,8 +63,8 @@ class CharCreateDialog : public Window, public gcn::ActionListener
void unlock();
void setAttributes(const std::vector<std::string> &labels,
- int available,
- int min, int max);
+ unsigned int available,
+ unsigned int min, unsigned int max);
void setFixedGender(bool fixed, Gender gender = GENDER_FEMALE);
@@ -110,7 +110,7 @@ class CharCreateDialog : public Window, public gcn::ActionListener
gcn::Button *mCreateButton;
gcn::Button *mCancelButton;
- Player *mPlayer;
+ Being *mPlayer;
PlayerBox *mPlayerBox;
int mHairStyle;
diff --git a/src/gui/charselectdialog.cpp b/src/gui/charselectdialog.cpp
index f8c28c6a..42c514ec 100644
--- a/src/gui/charselectdialog.cpp
+++ b/src/gui/charselectdialog.cpp
@@ -59,6 +59,9 @@
#include <string>
#include <cassert>
+// Character slots per row in the dialog
+static const int SLOTS_PER_ROW = 5;
+
/**
* Listener for confirming character deletion.
*/
@@ -118,6 +121,7 @@ CharSelectDialog::CharSelectDialog(LoginData *loginData):
mLocked(false),
mUnregisterButton(0),
mChangeEmailButton(0),
+ mCharacterEntries(0),
mLoginData(loginData),
mCharHandler(Net::getCharHandler())
{
@@ -154,9 +158,10 @@ CharSelectDialog::CharSelectDialog(LoginData *loginData):
place = getPlacer(0, 1);
- for (int i = 0; i < MAX_CHARACTER_COUNT; i++) {
- mCharacterEntries[i] = new CharacterDisplay(this);
- place(i, 0, mCharacterEntries[i]);
+ for (int i = 0; i < (int)mLoginData->characterSlots; i++)
+ {
+ mCharacterEntries.push_back(new CharacterDisplay(this));
+ place(i % SLOTS_PER_ROW, (int)i / SLOTS_PER_ROW, mCharacterEntries[i]);
}
reflowLayout();
@@ -179,9 +184,14 @@ void CharSelectDialog::action(const gcn::ActionEvent &event)
// Check if a button of a character was pressed
const gcn::Widget *sourceParent = event.getSource()->getParent();
int selected = -1;
- for (int i = 0; i < MAX_CHARACTER_COUNT; ++i)
+ for (int i = 0; i < (int)mCharacterEntries.size(); ++i)
+ {
if (mCharacterEntries[i] == sourceParent)
+ {
selected = i;
+ break;
+ }
+ }
const std::string &eventId = event.getId();
@@ -191,7 +201,8 @@ void CharSelectDialog::action(const gcn::ActionEvent &event)
{
attemptCharacterSelect(selected);
}
- else if (eventId == "new" && !mCharacterEntries[selected]->getCharacter())
+ else if (eventId == "new"
+ && !mCharacterEntries[selected]->getCharacter())
{
// Start new character dialog
CharCreateDialog *charCreateDialog =
@@ -261,19 +272,29 @@ void CharSelectDialog::attemptCharacterSelect(int index)
void CharSelectDialog::setCharacters(const Net::Characters &characters)
{
// Reset previous characters
- for (int i = 0; i < MAX_CHARACTER_COUNT; ++i)
- mCharacterEntries[i]->setCharacter(0);
+ std::vector<CharacterDisplay*>::iterator iter, iter_end;
+ for (iter = mCharacterEntries.begin(), iter_end = mCharacterEntries.end();
+ iter != iter_end; ++iter)
+ (*iter)->setCharacter(0);
Net::Characters::const_iterator i, i_end = characters.end();
for (i = characters.begin(); i != i_end; ++i)
{
Net::Character *character = *i;
- if (character->slot >= MAX_CHARACTER_COUNT) {
+
+ // Slots Number start at 1 for Manaserv, so we offset them by one.
+ int characterSlot = character->slot;
+ if (Net::getNetworkType() == ServerInfo::MANASERV
+ && characterSlot > 0)
+ --characterSlot;
+
+ if (characterSlot >= (int)mCharacterEntries.size())
+ {
logger->log("Warning: slot out of range: %d", character->slot);
continue;
}
- mCharacterEntries[character->slot]->setCharacter(character);
+ mCharacterEntries[characterSlot]->setCharacter(character);
}
}
@@ -299,7 +320,7 @@ void CharSelectDialog::setLocked(bool locked)
if (mChangeEmailButton)
mChangeEmailButton->setEnabled(!locked);
- for (int i = 0; i < MAX_CHARACTER_COUNT; ++i)
+ for (int i = 0; i < (int)mCharacterEntries.size(); ++i)
mCharacterEntries[i]->setActive(!mLocked);
}
@@ -309,9 +330,12 @@ bool CharSelectDialog::selectByName(const std::string &name,
if (mLocked)
return false;
- for (int i = 0; i < MAX_CHARACTER_COUNT; ++i) {
- if (Net::Character *character = mCharacterEntries[i]->getCharacter()) {
- if (character->dummy->getName() == name) {
+ for (int i = 0; i < (int)mCharacterEntries.size(); ++i)
+ {
+ if (Net::Character *character = mCharacterEntries[i]->getCharacter())
+ {
+ if (character->dummy->getName() == name)
+ {
mCharacterEntries[i]->requestFocus();
if (action == Choose)
attemptCharacterSelect(i);
@@ -380,8 +404,10 @@ void CharacterDisplay::update()
mButton->setCaption(_("Choose"));
mButton->setActionEventId("use");
mName->setCaption(strprintf("%s", character->getName().c_str()));
- mLevel->setCaption(strprintf("Level %d", character->getLevel()));
- mMoney->setCaption(Units::formatCurrency(character->getMoney()));
+ mLevel->setCaption(strprintf("Level %d",
+ mCharacter->data.mAttributes[LEVEL]));
+ mMoney->setCaption(Units::formatCurrency(
+ mCharacter->data.mAttributes[MONEY]));
mDelete->setVisible(true);
}
diff --git a/src/gui/charselectdialog.h b/src/gui/charselectdialog.h
index b6e71715..455ec2df 100644
--- a/src/gui/charselectdialog.h
+++ b/src/gui/charselectdialog.h
@@ -22,10 +22,6 @@
#ifndef CHAR_SELECT_H
#define CHAR_SELECT_H
-#include "guichanfwd.h"
-#include "main.h"
-#include "player.h"
-
#include "gui/widgets/window.h"
#include "net/charhandler.h"
@@ -100,8 +96,8 @@ class CharSelectDialog : public Window, public gcn::ActionListener,
gcn::Button *mUnregisterButton;
gcn::Button *mChangeEmailButton;
- enum { MAX_CHARACTER_COUNT = 3 };
- CharacterDisplay *mCharacterEntries[MAX_CHARACTER_COUNT];
+ /** The player boxes */
+ std::vector<CharacterDisplay*> mCharacterEntries;
LoginData *mLoginData;
diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp
index 6d900e98..2ac5100d 100644
--- a/src/gui/chat.cpp
+++ b/src/gui/chat.cpp
@@ -21,10 +21,11 @@
#include "chat.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
#include "configuration.h"
#include "localplayer.h"
#include "party.h"
+#include "playerrelations.h"
#include "gui/recorder.h"
#include "gui/setup.h"
@@ -89,6 +90,9 @@ ChatWindow::ChatWindow():
mAutoComplete(new ChatAutoComplete),
mTmpVisible(false)
{
+ listen(CHANNEL_CHAT);
+ listen(CHANNEL_NOTICES);
+
setWindowName("Chat");
setupWindow->registerWindowForReset(this);
@@ -119,7 +123,7 @@ ChatWindow::ChatWindow():
mChatInput->setHistory(mHistory);
mChatInput->setAutoComplete(mAutoComplete);
- mReturnToggles = config.getValue("ReturnToggles", "0") == "1";
+ mReturnToggles = config.getBoolValue("ReturnToggles");
mRecorder = new Recorder(this);
}
@@ -286,20 +290,20 @@ void ChatWindow::chatInput(const std::string &msg)
void ChatWindow::doPresent()
{
- const Beings &beings = beingManager->getAll();
+ const ActorSprites &actors = actorSpriteManager->getAll();
std::string response = "";
int playercount = 0;
- for (Beings::const_iterator bi = beings.begin(), be = beings.end();
- bi != be; ++bi)
+ for (ActorSpritesConstIterator it = actors.begin(), it_end = actors.end();
+ it != it_end; it++)
{
- if ((*bi)->getType() == Being::PLAYER)
+ if ((*it)->getType() == ActorSprite::PLAYER)
{
if (!response.empty())
{
response += ", ";
}
- response += (*bi)->getName();
+ response += static_cast<Being*>(*it)->getName();
++playercount;
}
}
@@ -371,6 +375,40 @@ void ChatWindow::mouseDragged(gcn::MouseEvent &event)
}
}
+void ChatWindow::event(Channels channel, const Mana::Event &event)
+{
+ if (channel == CHANNEL_NOTICES)
+ {
+ if (event.getName() == EVENT_SERVERNOTICE)
+ localChatTab->chatLog(event.getString("message"), BY_SERVER);
+ }
+ else if (channel == CHANNEL_CHAT)
+ {
+ if (event.getName() == EVENT_WHISPER)
+ {
+ whisper(event.getString("nick"), event.getString("message"));
+ }
+ else if (event.getName() == EVENT_WHISPERERROR)
+ {
+ whisper(event.getString("nick"),
+ event.getString("error"), BY_SERVER);
+ }
+ else if (event.getName() == EVENT_PLAYER)
+ {
+ localChatTab->chatLog(event.getString("message"), BY_PLAYER);
+ }
+ else if (event.getName() == EVENT_ANNOUNCEMENT)
+ {
+ localChatTab->chatLog(event.getString("message"), BY_GM);
+ }
+ else if (event.getName() == EVENT_BEING)
+ {
+ if (event.getInt("permissions") & PlayerRelation::SPEECH_LOG)
+ localChatTab->chatLog(event.getString("message"), BY_OTHER);
+ }
+ }
+}
+
void ChatWindow::addInputText(const std::string &text)
{
const int caretPos = mChatInput->getCaretPosition();
@@ -409,7 +447,7 @@ void ChatWindow::setRecordingFile(const std::string &msg)
}
void ChatWindow::whisper(const std::string &nick,
- const std::string &mes, bool own)
+ const std::string &mes, Own own)
{
if (mes.empty())
return;
@@ -428,15 +466,19 @@ void ChatWindow::whisper(const std::string &nick,
if (i != mWhispers.end())
tab = i->second;
- else if (config.getValue("whispertab", true))
+ else if (config.getBoolValue("whispertab"))
tab = addWhisperTab(nick);
if (tab)
{
- if (own)
+ if (own == BY_PLAYER)
{
tab->chatInput(mes);
}
+ else if (own == BY_SERVER)
+ {
+ tab->chatLog(mes);
+ }
else
{
tab->chatLog(nick, mes);
@@ -445,7 +487,7 @@ void ChatWindow::whisper(const std::string &nick,
}
else
{
- if (own)
+ if (own == BY_PLAYER)
{
Net::getChatHandler()->privateMessage(nick, mes);
diff --git a/src/gui/chat.h b/src/gui/chat.h
index 1c673556..f546502c 100644
--- a/src/gui/chat.h
+++ b/src/gui/chat.h
@@ -22,6 +22,8 @@
#ifndef CHAT_H
#define CHAT_H
+#include "listener.h"
+
#include "gui/widgets/window.h"
#include "gui/widgets/textfield.h"
@@ -36,8 +38,8 @@
#include <vector>
class BrowserBox;
-class Channel;
class ChatTab;
+class Channel;
class ChatInput;
class Recorder;
class ScrollArea;
@@ -48,12 +50,24 @@ class WhisperTab;
#define DEFAULT_CHAT_WINDOW_SCROLL 7 // 1 means `1/8th of the window size'.
+enum Own
+{
+ BY_GM,
+ BY_PLAYER,
+ BY_OTHER,
+ BY_SERVER,
+ BY_CHANNEL,
+ ACT_WHISPER, // getting whispered at
+ ACT_IS, // equivalent to "/me" on IRC
+ BY_LOGGER
+};
+
/** One item in the chat log */
struct CHATLOG
{
std::string nick;
std::string text;
- int own;
+ Own own;
};
/**
@@ -62,7 +76,8 @@ struct CHATLOG
* \ingroup Interface
*/
class ChatWindow : public Window,
- public gcn::ActionListener
+ public gcn::ActionListener,
+ public Mana::Listener
{
public:
/**
@@ -143,6 +158,8 @@ class ChatWindow : public Window,
void mousePressed(gcn::MouseEvent &event);
void mouseDragged(gcn::MouseEvent &event);
+ void event(Channels channel, const Mana::Event &event);
+
/**
* Scrolls the chat window
*
@@ -165,7 +182,7 @@ class ChatWindow : public Window,
void doPresent();
void whisper(const std::string &nick, const std::string &mes,
- bool own = false);
+ Own own = BY_OTHER);
ChatTab *addWhisperTab(const std::string &nick, bool switchTo = false);
diff --git a/src/gui/emotepopup.cpp b/src/gui/emotepopup.cpp
index 7c05e263..bd40a932 100644
--- a/src/gui/emotepopup.cpp
+++ b/src/gui/emotepopup.cpp
@@ -22,18 +22,17 @@
#include "gui/emotepopup.h"
-#include "animatedsprite.h"
+#include "imagesprite.h"
#include "configuration.h"
#include "emoteshortcut.h"
#include "graphics.h"
#include "localplayer.h"
#include "log.h"
-#include "gui/theme.h"
-
#include "resources/emotedb.h"
#include "resources/image.h"
#include "resources/iteminfo.h"
+#include "resources/theme.h"
#include "utils/dtor.h"
@@ -54,14 +53,14 @@ EmotePopup::EmotePopup():
// Setup emote sprites
for (int i = 0; i <= EmoteDB::getLast(); ++i)
{
- mEmotes.push_back(EmoteDB::getAnimation(i));
+ mEmotes.push_back(EmoteDB::get(i)->sprite);
}
mSelectionImage = Theme::getImageFromTheme("selection.png");
if (!mSelectionImage)
logger->error("Unable to load selection.png");
- mSelectionImage->setAlpha(config.getValue("guialpha", 0.8));
+ mSelectionImage->setAlpha(config.getFloatValue("guialpha"));
addMouseListener(this);
recalculateSize();
diff --git a/src/gui/emotepopup.h b/src/gui/emotepopup.h
index 62a3f24a..d2cabc44 100644
--- a/src/gui/emotepopup.h
+++ b/src/gui/emotepopup.h
@@ -30,7 +30,7 @@
#include <list>
#include <vector>
-class AnimatedSprite;
+class ImageSprite;
class Image;
namespace gcn {
@@ -105,7 +105,7 @@ class EmotePopup : public Popup
*/
void distributeValueChangedEvent();
- std::vector<const AnimatedSprite*> mEmotes;
+ std::vector<const ImageSprite*> mEmotes;
Image *mSelectionImage;
int mSelectedEmoteIndex;
int mHoveredEmoteIndex;
diff --git a/src/gui/equipmentwindow.cpp b/src/gui/equipmentwindow.cpp
index 43e330f4..02fc2a96 100644
--- a/src/gui/equipmentwindow.cpp
+++ b/src/gui/equipmentwindow.cpp
@@ -29,7 +29,6 @@
#include "gui/equipmentwindow.h"
#include "gui/itempopup.h"
-#include "gui/theme.h"
#include "gui/setup.h"
#include "gui/viewport.h"
@@ -41,6 +40,7 @@
#include "resources/image.h"
#include "resources/iteminfo.h"
#include "resources/resourcemanager.h"
+#include "resources/theme.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -67,8 +67,9 @@ static const int boxPosition[][2] = {
EquipmentWindow::EquipmentWindow(Equipment *equipment):
Window(_("Equipment")),
- mEquipment(equipment),
- mSelected(-1)
+ mEquipBox(0),
+ mSelected(-1),
+ mEquipment(equipment)
{
mItemPopup = new ItemPopup;
setupWindow->registerWindowForReset(this);
@@ -92,12 +93,6 @@ EquipmentWindow::EquipmentWindow(Equipment *equipment):
add(playerBox);
add(mUnequip);
-
- for (int i = 0; i < Equipment::EQUIP_VECTOREND; i++)
- {
- mEquipBox[i].posX = boxPosition[i][0] + getPadding();
- mEquipBox[i].posY = boxPosition[i][1] + getTitleBarHeight();
- }
}
EquipmentWindow::~EquipmentWindow()
@@ -110,47 +105,7 @@ void EquipmentWindow::draw(gcn::Graphics *graphics)
// Draw window graphics
Window::draw(graphics);
- Graphics *g = static_cast<Graphics*>(graphics);
-
Window::drawChildren(graphics);
-
- for (int i = 0; i < Equipment::EQUIP_VECTOREND; i++)
- {
- if (i == mSelected)
- {
- const gcn::Color color = Theme::getThemeColor(Theme::HIGHLIGHT);
-
- // Set color to the highlight color
- g->setColor(gcn::Color(color.r, color.g, color.b, getGuiAlpha()));
- g->fillRectangle(gcn::Rectangle(mEquipBox[i].posX, mEquipBox[i].posY,
- BOX_WIDTH, BOX_HEIGHT));
- }
-
- // Set color black
- g->setColor(gcn::Color(0, 0, 0));
- // Draw box border
- g->drawRectangle(gcn::Rectangle(mEquipBox[i].posX, mEquipBox[i].posY,
- BOX_WIDTH, BOX_HEIGHT));
-
- Item *item = mEquipment->getEquipment(i);
- if (item)
- {
- // Draw Item.
- Image *image = item->getImage();
- image->setAlpha(1.0f); // Ensure the image is drawn with maximum opacity
- g->drawImage(image,
- mEquipBox[i].posX + 2,
- mEquipBox[i].posY + 2);
- if (i == EQUIP_PROJECTILE_SLOT)
- {
- g->setColor(Theme::getThemeColor(Theme::TEXT));
- graphics->drawText(toString(item->getQuantity()),
- mEquipBox[i].posX + (BOX_WIDTH / 2),
- mEquipBox[i].posY - getFont()->getHeight(),
- gcn::Graphics::CENTER);
- }
- }
- }
}
void EquipmentWindow::action(const gcn::ActionEvent &event)
@@ -158,21 +113,22 @@ void EquipmentWindow::action(const gcn::ActionEvent &event)
if (event.getId() == "unequip" && mSelected > -1)
{
Item *item = mEquipment->getEquipment(mSelected);
- Net::getInventoryHandler()->unequipItem(item);
+ item->doEvent(EVENT_DOUNEQUIP);
setSelected(-1);
}
}
Item *EquipmentWindow::getItem(int x, int y) const
{
- for (int i = 0; i < Equipment::EQUIP_VECTOREND; i++)
+ if (Net::getNetworkType() == ServerInfo::TMWATHENA)
{
- gcn::Rectangle tRect(mEquipBox[i].posX, mEquipBox[i].posY,
- BOX_WIDTH, BOX_HEIGHT);
-
- if (tRect.isPointInRect(x, y))
+ for (int i = 0; i < TmwAthena::EQUIP_VECTOR_END; i++)
{
- return mEquipment->getEquipment(i);
+ gcn::Rectangle tRect(mEquipBox[i].posX, mEquipBox[i].posY,
+ BOX_WIDTH, BOX_HEIGHT);
+
+ if (tRect.isPointInRect(x, y))
+ return mEquipment->getEquipment(i);
}
}
return NULL;
@@ -188,14 +144,17 @@ void EquipmentWindow::mousePressed(gcn::MouseEvent& mouseEvent)
if (mouseEvent.getButton() == gcn::MouseEvent::LEFT)
{
// Checks if any of the presses were in the equip boxes.
- for (int i = 0; i < Equipment::EQUIP_VECTOREND; i++)
+ if (Net::getNetworkType() == ServerInfo::TMWATHENA)
{
- Item *item = mEquipment->getEquipment(i);
- gcn::Rectangle tRect(mEquipBox[i].posX, mEquipBox[i].posY,
- BOX_WIDTH, BOX_HEIGHT);
+ for (int i = 0; i < TmwAthena::EQUIP_VECTOR_END; i++)
+ {
+ Item *item = mEquipment->getEquipment(i);
+ gcn::Rectangle tRect(mEquipBox[i].posX, mEquipBox[i].posY,
+ BOX_WIDTH, BOX_HEIGHT);
- if (tRect.isPointInRect(x, y) && item)
- setSelected(i);
+ if (tRect.isPointInRect(x, y) && item)
+ setSelected(i);
+ }
}
}
else if (mouseEvent.getButton() == gcn::MouseEvent::RIGHT)
@@ -245,3 +204,71 @@ void EquipmentWindow::setSelected(int index)
mSelected = index;
mUnequip->setEnabled(mSelected != -1);
}
+
+namespace TmwAthena {
+
+TaEquipmentWindow::TaEquipmentWindow(Equipment *equipment):
+ EquipmentWindow(equipment)
+{
+ // Load equipment boxes.
+ mEquipBox = new EquipBox[TmwAthena::EQUIP_VECTOR_END];
+
+ for (int i = 0; i < TmwAthena::EQUIP_VECTOR_END; i++)
+ {
+ mEquipBox[i].posX = boxPosition[i][0] + getPadding();
+ mEquipBox[i].posY = boxPosition[i][1] + getTitleBarHeight();
+ }
+}
+
+TaEquipmentWindow::~TaEquipmentWindow()
+{
+ delete[] mEquipBox;
+}
+
+void TaEquipmentWindow::draw(gcn::Graphics *graphics)
+{
+ EquipmentWindow::draw(graphics);
+
+ // Draw equipment boxes
+ Graphics *g = static_cast<Graphics*>(graphics);
+
+ for (int i = 0; i < TmwAthena::EQUIP_VECTOR_END; i++)
+ {
+ if (i == mSelected)
+ {
+ const gcn::Color color = Theme::getThemeColor(Theme::HIGHLIGHT);
+
+ // Set color to the highlight color
+ g->setColor(gcn::Color(color.r, color.g, color.b, getGuiAlpha()));
+ g->fillRectangle(gcn::Rectangle(mEquipBox[i].posX, mEquipBox[i].posY,
+ BOX_WIDTH, BOX_HEIGHT));
+ }
+
+ // Set color black
+ g->setColor(gcn::Color(0, 0, 0));
+ // Draw box border
+ g->drawRectangle(gcn::Rectangle(mEquipBox[i].posX, mEquipBox[i].posY,
+ BOX_WIDTH, BOX_HEIGHT));
+
+ Item *item = mEquipment->getEquipment(i);
+ if (item)
+ {
+ // Draw Item.
+ Image *image = item->getImage();
+ image->setAlpha(1.0f); // Ensure the image is drawn with maximum opacity
+ g->drawImage(image,
+ mEquipBox[i].posX + 2,
+ mEquipBox[i].posY + 2);
+ if (i == TmwAthena::EQUIP_PROJECTILE_SLOT)
+ {
+ g->setColor(Theme::getThemeColor(Theme::TEXT));
+ graphics->drawText(toString(item->getQuantity()),
+ mEquipBox[i].posX + (BOX_WIDTH / 2),
+ mEquipBox[i].posY - getFont()->getHeight(),
+ gcn::Graphics::CENTER);
+ }
+ }
+ }
+}
+
+};
diff --git a/src/gui/equipmentwindow.h b/src/gui/equipmentwindow.h
index 5688bf30..a0fa6acb 100644
--- a/src/gui/equipmentwindow.h
+++ b/src/gui/equipmentwindow.h
@@ -23,7 +23,6 @@
#define EQUIPMENTWINDOW_H
#include "equipment.h"
-#include "guichanfwd.h"
#include "gui/widgets/window.h"
@@ -60,6 +59,21 @@ class EquipmentWindow : public Window, public gcn::ActionListener
void mousePressed(gcn::MouseEvent& mouseEvent);
+ protected:
+ /**
+ * Equipment box.
+ */
+ struct EquipBox
+ {
+ int posX;
+ int posY;
+ };
+
+ EquipBox *mEquipBox; /**< Equipment Boxes. */
+
+ int mSelected; /**< Index of selected item. */
+ Equipment *mEquipment;
+
private:
void mouseExited(gcn::MouseEvent &event);
void mouseMoved(gcn::MouseEvent &event);
@@ -68,25 +82,34 @@ class EquipmentWindow : public Window, public gcn::ActionListener
void setSelected(int index);
- Equipment *mEquipment;
+ ItemPopup *mItemPopup;
+ gcn::Button *mUnequip;
+};
+namespace TmwAthena {
+
+class TaEquipmentWindow : public EquipmentWindow
+{
+ public:
/**
- * Equipment box.
+ * Constructor.
*/
- struct EquipBox
- {
- int posX;
- int posY;
- };
+ TaEquipmentWindow(Equipment *equipment);
- EquipBox mEquipBox[Equipment::EQUIP_VECTOREND]; /**< Equipment Boxes. */
+ /**
+ * Destructor.
+ */
+ ~TaEquipmentWindow();
- ItemPopup *mItemPopup;
- gcn::Button *mUnequip;
+ /**
+ * Draws the equipment window using TmwAthena routine.
+ */
+ void draw(gcn::Graphics *graphics);
- int mSelected; /**< Index of selected item. */
};
+}; // namespace TmwAthena
+
extern EquipmentWindow *equipmentWindow;
#endif
diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp
index 75f67435..c0d1babf 100644
--- a/src/gui/gui.cpp
+++ b/src/gui/gui.cpp
@@ -24,14 +24,13 @@
#include "gui/focushandler.h"
#include "gui/palette.h"
#include "gui/sdlinput.h"
-#include "gui/theme.h"
#include "gui/truetypefont.h"
#include "gui/widgets/window.h"
#include "gui/widgets/windowcontainer.h"
-#include "configlistener.h"
#include "configuration.h"
+#include "listener.h"
#include "graphics.h"
#include "log.h"
@@ -39,6 +38,7 @@
#include "resources/imageset.h"
#include "resources/imageloader.h"
#include "resources/resourcemanager.h"
+#include "resources/theme.h"
#include <guichan/exception.hpp>
#include <guichan/image.hpp>
@@ -50,19 +50,23 @@ SDLInput *guiInput = 0;
// Bolded font
gcn::Font *boldFont = 0;
-class GuiConfigListener : public ConfigListener
+class GuiConfigListener : public Mana::Listener
{
public:
GuiConfigListener(Gui *g):
mGui(g)
{}
- void optionChanged(const std::string &name)
+ void event(Channels channel, const Mana::Event &event)
{
- if (name == "customcursor")
+ if (channel == CHANNEL_CONFIG)
{
- bool bCustomCursor = config.getValue("customcursor", 1) == 1;
- mGui->setUseCustomCursor(bCustomCursor);
+ if (event.getName() == EVENT_CONFIGOPTIONCHANGED &&
+ event.getString("option") == "customcursor")
+ {
+ bool bCustomCursor = config.getBoolValue("customcursor");
+ mGui->setUseCustomCursor(bCustomCursor);
+ }
}
}
private:
@@ -104,7 +108,7 @@ Gui::Gui(Graphics *graphics):
ResourceManager *resman = ResourceManager::getInstance();
// Set global font
- const int fontSize = (int) config.getValue("fontSize", 11);
+ const int fontSize = config.getValue("fontSize", 11);
std::string fontFile = branding.getValue("font", "fonts/dejavusans.ttf");
std::string path = resman->getPath(fontFile);
@@ -135,14 +139,13 @@ Gui::Gui(Graphics *graphics):
gcn::Widget::setGlobalFont(mGuiFont);
// Initialize mouse cursor and listen for changes to the option
- setUseCustomCursor(config.getValue("customcursor", 1) == 1);
+ setUseCustomCursor(config.getBoolValue("customcursor"));
mConfigListener = new GuiConfigListener(this);
- config.addListener("customcursor", mConfigListener);
+ mConfigListener->listen(CHANNEL_CONFIG);
}
Gui::~Gui()
{
- config.removeListener("customcursor", mConfigListener);
delete mConfigListener;
if (mMouseCursors)
diff --git a/src/gui/help.cpp b/src/gui/help.cpp
index f3c6a0af..aca036c1 100644
--- a/src/gui/help.cpp
+++ b/src/gui/help.cpp
@@ -94,9 +94,9 @@ void HelpWindow::loadHelp(const std::string &helpFile)
void HelpWindow::loadFile(const std::string &file)
{
ResourceManager *resman = ResourceManager::getInstance();
- std::string helpPath = branding.getValue("helpPath", "");
+ std::string helpPath = branding.getStringValue("helpPath");
if (helpPath.empty())
- helpPath = paths.getValue("help", "help/");
+ helpPath = paths.getStringValue("help");
std::vector<std::string> lines =
resman->loadTextFile(helpPath + file + ".txt");
diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp
index 16ac5409..31743c57 100644
--- a/src/gui/inventorywindow.cpp
+++ b/src/gui/inventorywindow.cpp
@@ -23,14 +23,13 @@
#include "inventory.h"
#include "item.h"
-#include "localplayer.h"
#include "units.h"
#include "keyboardconfig.h"
+#include "playerinfo.h"
#include "gui/itemamount.h"
#include "gui/setup.h"
#include "gui/sdlinput.h"
-#include "gui/theme.h"
#include "gui/viewport.h"
#include "gui/widgets/button.h"
@@ -44,6 +43,7 @@
#include "net/net.h"
#include "resources/iteminfo.h"
+#include "resources/theme.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -60,6 +60,8 @@ InventoryWindow::InventoryWindow(Inventory *inventory):
mInventory(inventory),
mSplit(false)
{
+ listen(CHANNEL_ATTRIBUTES);
+
setWindowName(isMainInventory() ? "Inventory" : "Storage");
setupWindow->registerWindowForReset(this);
setResizable(true);
@@ -95,7 +97,8 @@ InventoryWindow::InventoryWindow(Inventory *inventory):
longestUseString = unequip;
}
- mUseButton = new Button(longestUseString, "use", this);
+ mEquipButton = new Button(_("Equip"), "equip", this);
+ mUseButton = new Button(_("Activate"), "activate", this);
mDropButton = new Button(_("Drop..."), "drop", this);
mSplitButton = new Button(_("Split"), "split", this);
mOutfitButton = new Button(_("Outfits"), "outfit", this);
@@ -109,8 +112,9 @@ InventoryWindow::InventoryWindow(Inventory *inventory):
place(5, 0, mSlotsBar, 2);
place(0, 1, invenScroll, 7).setPadding(3);
place(0, 2, mUseButton);
- place(1, 2, mDropButton);
- place(2, 2, mSplitButton);
+ place(1, 2, mEquipButton);
+ place(2, 2, mDropButton);
+ place(3, 2, mSplitButton);
place(6, 2, mOutfitButton);
updateWeight();
@@ -138,13 +142,19 @@ InventoryWindow::InventoryWindow(Inventory *inventory):
slotsChanged(mInventory);
if (!isMainInventory())
+ {
setVisible(true);
+ PlayerInfo::setStorageCount(PlayerInfo::getStorageCount() + 1);
+ }
}
InventoryWindow::~InventoryWindow()
{
instances.remove(this);
mInventory->removeInventoyListener(this);
+
+ if (!isMainInventory())
+ PlayerInfo::setStorageCount(PlayerInfo::getStorageCount() - 1);
}
void InventoryWindow::action(const gcn::ActionEvent &event)
@@ -175,17 +185,21 @@ void InventoryWindow::action(const gcn::ActionEvent &event)
if (!item)
return;
- if (event.getId() == "use")
+ if (event.getId() == "activate")
+ item->doEvent(EVENT_DOUSE);
+ else if (event.getId() == "equip")
{
- if (item->isEquipment())
+ if (item->isEquippable())
{
if (item->isEquipped())
- Net::getInventoryHandler()->unequipItem(item);
+ item->doEvent(EVENT_DOUNEQUIP);
else
- Net::getInventoryHandler()->equipItem(item);
+ item->doEvent(EVENT_DOEQUIP);
}
else
- Net::getInventoryHandler()->useItem(item);
+ {
+ item->doEvent(EVENT_DOUSE);
+ }
}
else if (event.getId() == "drop")
{
@@ -234,20 +248,30 @@ void InventoryWindow::mouseClicked(gcn::MouseEvent &event)
if (event.getButton() == gcn::MouseEvent::LEFT)
{
- if (isStorageActive() && keyboard.isKeyActive(keyboard.KEY_EMOTE))
+ if (instances.size() > 1 && keyboard.isKeyActive(keyboard.KEY_EMOTE))
{
Item *item = mItems->getSelectedItem();
if(!item)
return;
if (mInventory->isMainInventory())
- Net::getInventoryHandler()->moveItem(Inventory::INVENTORY,
- item->getInvIndex(), item->getQuantity(),
- Inventory::STORAGE);
+ {
+ Mana::Event event(EVENT_DOMOVE);
+ event.setItem("item", item);
+ event.setInt("amount", item->getQuantity());
+ event.setInt("source", Inventory::INVENTORY);
+ event.setInt("destination", Inventory::STORAGE);
+ event.trigger(CHANNEL_ITEM);
+ }
else
- Net::getInventoryHandler()->moveItem(Inventory::STORAGE,
- item->getInvIndex(), item->getQuantity(),
- Inventory::INVENTORY);
+ {
+ Mana::Event event(EVENT_DOMOVE);
+ event.setItem("item", item);
+ event.setInt("amount", item->getQuantity());
+ event.setInt("source", Inventory::STORAGE);
+ event.setInt("destination", Inventory::INVENTORY);
+ event.trigger(CHANNEL_ITEM);
+ }
}
}
}
@@ -298,26 +322,27 @@ void InventoryWindow::updateButtons()
if (!item || item->getQuantity() == 0)
{
mUseButton->setEnabled(false);
+ mEquipButton->setEnabled(false);
mDropButton->setEnabled(false);
mSplitButton->setEnabled(false);
return;
}
- mUseButton->setEnabled(true);
mDropButton->setEnabled(true);
- if (item->isEquipment())
+ if (item->getInfo().getEquippable())
{
if (item->isEquipped())
- mUseButton->setCaption(_("Unequip"));
+ mEquipButton->setCaption(_("Unequip"));
else
- mUseButton->setCaption(_("Equip"));
+ mEquipButton->setCaption(_("Equip"));
+ mEquipButton->setEnabled(true);
}
else
- {
- mUseButton->setCaption(_("Use"));
- }
+ mEquipButton->setEnabled(false);
+
+ mUseButton->setEnabled(item->getInfo().getActivatable());
if (item->getQuantity() > 1)
mDropButton->setCaption(_("Drop..."));
@@ -343,15 +368,36 @@ void InventoryWindow::close()
}
else
{
- Net::getInventoryHandler()->closeStorage(Inventory::STORAGE);
+ Mana::Event event(EVENT_DOCLOSEINVENTORY);
+ event.setInt("type", mInventory->getType());
+ event.trigger(CHANNEL_ITEM);
scheduleDelete();
}
}
+void InventoryWindow::event(Channels channel, const Mana::Event &event)
+{
+ if (event.getName() == EVENT_UPDATEATTRIBUTE)
+ {
+ int id = event.getInt("id");
+ if (id == TOTAL_WEIGHT ||
+ id == MAX_WEIGHT)
+ {
+ updateWeight();
+ }
+ }
+}
+
void InventoryWindow::updateWeight()
{
- int total = player_node->getTotalWeight();
- int max = player_node->getMaxWeight();
+ if (!isMainInventory())
+ return;
+
+ int total = PlayerInfo::getAttribute(TOTAL_WEIGHT);
+ int max = PlayerInfo::getAttribute(MAX_WEIGHT);
+
+ if (max <= 0)
+ return;
// Adjust progress bar
mWeightBar->setProgress((float) total / max);
diff --git a/src/gui/inventorywindow.h b/src/gui/inventorywindow.h
index 0dce0611..0ddd13f7 100644
--- a/src/gui/inventorywindow.h
+++ b/src/gui/inventorywindow.h
@@ -23,11 +23,11 @@
#define INVENTORYWINDOW_H
#include "inventory.h"
+#include "listener.h"
#include "gui/widgets/window.h"
#include "net/inventoryhandler.h"
-#include "net/net.h"
#include <guichan/actionlistener.hpp>
#include <guichan/keylistener.hpp>
@@ -47,7 +47,8 @@ class InventoryWindow : public Window,
public gcn::ActionListener,
public gcn::KeyListener,
public gcn::SelectionListener,
- public InventoryListener
+ public InventoryListener,
+ public Mana::Listener
{
public:
/**
@@ -106,21 +107,19 @@ class InventoryWindow : public Window,
*/
void updateButtons();
- /**
- * Updates the weight bar.
- */
- void updateWeight();
-
void slotsChanged(Inventory* inventory);
bool isMainInventory() { return mInventory->isMainInventory(); }
+ void event(Channels channel, const Mana::Event &event);
+
+ private:
/**
- * Returns true if any instances exist.
+ * Updates the weight bar.
*/
- static bool isStorageActive() { return instances.size() > 1; }
+ void updateWeight();
+
- private:
typedef std::list<InventoryWindow*> WindowList;
static WindowList instances;
@@ -129,8 +128,8 @@ class InventoryWindow : public Window,
std::string mWeight, mSlots;
- gcn::Button *mUseButton, *mDropButton, *mSplitButton, *mOutfitButton,
- *mStoreButton, *mRetrieveButton;
+ gcn::Button *mUseButton, *mEquipButton, *mDropButton, *mSplitButton,
+ *mOutfitButton, *mStoreButton, *mRetrieveButton;
gcn::Label *mWeightLabel, *mSlotsLabel;
diff --git a/src/gui/itemamount.cpp b/src/gui/itemamount.cpp
index a98a67ab..85325c66 100644
--- a/src/gui/itemamount.cpp
+++ b/src/gui/itemamount.cpp
@@ -47,20 +47,30 @@ void ItemAmountWindow::finish(Item *item, int amount, Usage usage)
tradeWindow->tradeItem(item, amount);
break;
case ItemDrop:
- Net::getInventoryHandler()->dropItem(item, amount);
+ item->doEvent(EVENT_DODROP, amount);
break;
case ItemSplit:
- Net::getInventoryHandler()->splitItem(item, amount);
+ item->doEvent(EVENT_DOSPLIT, amount);
break;
case StoreAdd:
- Net::getInventoryHandler()->moveItem(Inventory::INVENTORY,
- item->getInvIndex(), amount,
- Inventory::STORAGE);
+ {
+ Mana::Event event(EVENT_DOMOVE);
+ event.setItem("item", item);
+ event.setInt("amount", amount);
+ event.setInt("source", Inventory::INVENTORY);
+ event.setInt("destination", Inventory::STORAGE);
+ event.trigger(CHANNEL_ITEM);
+ }
break;
case StoreRemove:
- Net::getInventoryHandler()->moveItem(Inventory::STORAGE,
- item->getInvIndex(), amount,
- Inventory::INVENTORY);
+ {
+ Mana::Event event(EVENT_DOMOVE);
+ event.setItem("item", item);
+ event.setInt("amount", amount);
+ event.setInt("source", Inventory::STORAGE);
+ event.setInt("destination", Inventory::INVENTORY);
+ event.trigger(CHANNEL_ITEM);
+ }
break;
default:
break;
diff --git a/src/gui/itempopup.cpp b/src/gui/itempopup.cpp
index b71ca529..60943756 100644
--- a/src/gui/itempopup.cpp
+++ b/src/gui/itempopup.cpp
@@ -26,27 +26,67 @@
#include "units.h"
#include "gui/gui.h"
-#include "gui/theme.h"
#include "gui/widgets/icon.h"
+#include "gui/widgets/label.h"
#include "gui/widgets/textbox.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
+#include "net/net.h"
+
#include "resources/image.h"
#include "resources/resourcemanager.h"
+#include "resources/theme.h"
#include <guichan/font.hpp>
#include <guichan/widgets/label.hpp>
+#define ITEMPOPUP_WRAP_WIDTH 196
+
+static gcn::Color getColorFromItemType(ItemType type)
+{
+ switch (type)
+ {
+ case ITEM_UNUSABLE:
+ return Theme::getThemeColor(Theme::GENERIC);
+ case ITEM_USABLE:
+ return Theme::getThemeColor(Theme::USABLE);
+ case ITEM_EQUIPMENT_ONE_HAND_WEAPON:
+ return Theme::getThemeColor(Theme::ONEHAND);
+ case ITEM_EQUIPMENT_TWO_HANDS_WEAPON:
+ return Theme::getThemeColor(Theme::TWOHAND);
+ case ITEM_EQUIPMENT_TORSO:
+ return Theme::getThemeColor(Theme::TORSO);
+ case ITEM_EQUIPMENT_ARMS:
+ return Theme::getThemeColor(Theme::ARMS);
+ case ITEM_EQUIPMENT_HEAD:
+ return Theme::getThemeColor(Theme::HEAD);
+ case ITEM_EQUIPMENT_LEGS:
+ return Theme::getThemeColor(Theme::LEGS);
+ case ITEM_EQUIPMENT_SHIELD:
+ return Theme::getThemeColor(Theme::SHIELD);
+ case ITEM_EQUIPMENT_RING:
+ return Theme::getThemeColor(Theme::RING);
+ case ITEM_EQUIPMENT_NECKLACE:
+ return Theme::getThemeColor(Theme::NECKLACE);
+ case ITEM_EQUIPMENT_FEET:
+ return Theme::getThemeColor(Theme::FEET);
+ case ITEM_EQUIPMENT_AMMO:
+ return Theme::getThemeColor(Theme::AMMO);
+ default:
+ return Theme::getThemeColor(Theme::UNKNOWN_ITEM);
+ }
+}
+
ItemPopup::ItemPopup():
Popup("ItemPopup"),
mIcon(0)
{
// Item Name
- mItemName = new gcn::Label;
+ mItemName = new Label;
mItemName->setFont(boldFont);
mItemName->setPosition(getPadding(), getPadding());
@@ -98,8 +138,9 @@ void ItemPopup::setItem(const ItemInfo &item, bool showImage)
{
ResourceManager *resman = ResourceManager::getInstance();
Image *image = resman->getImage(
- paths.getValue("itemIcons", "graphics/items/")
- + item.getImageName());
+ paths.getStringValue("itemIcons")
+ + item.getDisplay().image);
+
mIcon->setImage(image);
if (image)
{
@@ -114,18 +155,25 @@ void ItemPopup::setItem(const ItemInfo &item, bool showImage)
mIcon->setImage(0);
}
- mItemType = item.getType();
+ mItemType = item.getItemType();
mItemName->setCaption(item.getName());
mItemName->adjustSize();
- mItemName->setForegroundColor(getColor(mItemType));
+ mItemName->setForegroundColor(getColorFromItemType(mItemType));
mItemName->setPosition(getPadding() + space, getPadding());
- mItemDesc->setTextWrapped(item.getDescription(), 196);
- mItemEffect->setTextWrapped(item.getEffect(), 196);
+ mItemDesc->setTextWrapped(item.getDescription(), ITEMPOPUP_WRAP_WIDTH);
+ {
+ const std::vector<std::string> &effect = item.getEffect();
+ std::string temp = "";
+ for (std::vector<std::string>::const_iterator it = effect.begin(),
+ it_end = effect.end(); it != it_end; ++it)
+ temp += temp.empty() ? *it : "\n" + *it;
+ mItemEffect->setTextWrapped(temp, ITEMPOPUP_WRAP_WIDTH);
+ }
mItemWeight->setTextWrapped(strprintf(_("Weight: %s"),
Units::formatWeight(item.getWeight()).c_str()),
- 196);
+ ITEMPOPUP_WRAP_WIDTH);
int minWidth = mItemName->getWidth() + space;
@@ -172,41 +220,6 @@ void ItemPopup::setItem(const ItemInfo &item, bool showImage)
(numRowsDesc + 1) * fontHeight);
}
-gcn::Color ItemPopup::getColor(ItemType type)
-{
- switch (type)
- {
- case ITEM_UNUSABLE:
- return Theme::getThemeColor(Theme::GENERIC);
- case ITEM_USABLE:
- return Theme::getThemeColor(Theme::USABLE);
- case ITEM_EQUIPMENT_ONE_HAND_WEAPON:
- return Theme::getThemeColor(Theme::ONEHAND);
- case ITEM_EQUIPMENT_TWO_HANDS_WEAPON:
- return Theme::getThemeColor(Theme::TWOHAND);
- case ITEM_EQUIPMENT_TORSO:
- return Theme::getThemeColor(Theme::TORSO);
- case ITEM_EQUIPMENT_ARMS:
- return Theme::getThemeColor(Theme::ARMS);
- case ITEM_EQUIPMENT_HEAD:
- return Theme::getThemeColor(Theme::HEAD);
- case ITEM_EQUIPMENT_LEGS:
- return Theme::getThemeColor(Theme::LEGS);
- case ITEM_EQUIPMENT_SHIELD:
- return Theme::getThemeColor(Theme::SHIELD);
- case ITEM_EQUIPMENT_RING:
- return Theme::getThemeColor(Theme::RING);
- case ITEM_EQUIPMENT_NECKLACE:
- return Theme::getThemeColor(Theme::NECKLACE);
- case ITEM_EQUIPMENT_FEET:
- return Theme::getThemeColor(Theme::FEET);
- case ITEM_EQUIPMENT_AMMO:
- return Theme::getThemeColor(Theme::AMMO);
- default:
- return Theme::getThemeColor(Theme::UNKNOWN_ITEM);
- }
-}
-
void ItemPopup::mouseMoved(gcn::MouseEvent &event)
{
Popup::mouseMoved(event);
diff --git a/src/gui/itempopup.h b/src/gui/itempopup.h
index a3976a11..f054ddf5 100644
--- a/src/gui/itempopup.h
+++ b/src/gui/itempopup.h
@@ -62,8 +62,6 @@ class ItemPopup : public Popup
TextBox *mItemWeight;
ItemType mItemType;
Icon *mIcon;
-
- static gcn::Color getColor(ItemType type);
};
#endif // ITEMPOPUP_H
diff --git a/src/gui/minimap.cpp b/src/gui/minimap.cpp
index 8713d3f9..993814ea 100644
--- a/src/gui/minimap.cpp
+++ b/src/gui/minimap.cpp
@@ -21,20 +21,19 @@
#include "gui/minimap.h"
+#include "actorspritemanager.h"
#include "being.h"
-#include "beingmanager.h"
#include "configuration.h"
#include "graphics.h"
#include "localplayer.h"
#include "log.h"
#include "map.h"
-#include "player.h"
#include "gui/setup.h"
-#include "gui/userpalette.h"
#include "resources/image.h"
#include "resources/resourcemanager.h"
+#include "resources/userpalette.h"
#include "utils/gettext.h"
@@ -186,52 +185,46 @@ void Minimap::draw(gcn::Graphics *graphics)
drawImage(mMapImage, mapOriginX, mapOriginY);
}
- const Beings &beings = beingManager->getAll();
+ const ActorSprites &actors = actorSpriteManager->getAll();
- for (Beings::const_iterator bi = beings.begin(), bi_end = beings.end();
- bi != bi_end; ++bi)
+ for (ActorSpritesConstIterator it = actors.begin(), it_end = actors.end();
+ it != it_end; it++)
{
- const Being *being = (*bi);
+ if ((*it)->getType() == ActorSprite::FLOOR_ITEM)
+ continue;
+
+ const Being *being = static_cast<Being*>(*it);
int dotSize = 2;
- switch (being->getType())
+ int type = UserPalette::PC;
+
+ if (being == player_node)
+ {
+ type = UserPalette::SELF;
+ dotSize = 3;
+ }
+ else if (being->isGM())
+ type = UserPalette::GM;
+ else if (being->isInParty())
+ type = UserPalette::PARTY;
+ else
{
- case Being::PLAYER:
- {
- const Player *player = static_cast<const Player*>(being);
-
- int type = UserPalette::PC;
-
- if (being == player_node)
- {
- type = UserPalette::SELF;
- dotSize = 3;
- }
- else if (player->isGM())
- {
- type = UserPalette::GM;
- }
- else if (player->isInParty())
- {
- type = UserPalette::PARTY;
- }
-
- graphics->setColor(userPalette->getColor(type));
+ switch (being->getType())
+ {
+ case ActorSprite::MONSTER:
+ graphics->setColor(userPalette->getColor(UserPalette::MONSTER));
break;
- }
-
- case Being::MONSTER:
- graphics->setColor(userPalette->getColor(UserPalette::MONSTER));
- break;
- case Being::NPC:
- graphics->setColor(userPalette->getColor(UserPalette::NPC));
- break;
+ case ActorSprite::NPC:
+ graphics->setColor(userPalette->getColor(UserPalette::NPC));
+ break;
- default:
- continue;
+ default:
+ continue;
+ }
}
+ graphics->setColor(userPalette->getColor(type));
const int offsetHeight = (int) ((dotSize - 1) * mHeightProportion);
const int offsetWidth = (int) ((dotSize - 1) * mWidthProportion);
diff --git a/src/gui/ministatus.cpp b/src/gui/ministatus.cpp
index 90581f61..fae40d03 100644
--- a/src/gui/ministatus.cpp
+++ b/src/gui/ministatus.cpp
@@ -24,17 +24,20 @@
#include "animatedsprite.h"
#include "configuration.h"
#include "graphics.h"
-#include "localplayer.h"
+#include "playerinfo.h"
+#include "statuseffect.h"
#include "gui/gui.h"
#include "gui/statuswindow.h"
#include "gui/textpopup.h"
-#include "gui/theme.h"
#include "gui/widgets/progressbar.h"
#include "net/net.h"
#include "net/playerhandler.h"
+#include "net/gamehandler.h"
+
+#include "resources/theme.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -44,22 +47,36 @@ extern volatile int tick_time;
MiniStatusWindow::MiniStatusWindow():
Popup("MiniStatus")
{
- int max = player_node->getMaxHp();
- mHpBar = new ProgressBar(max ? (float) player_node->getHp() / max : 0,
- 100, 20, Theme::PROG_HP);
- max = player_node->getMaxMP();
- mMpBar = new ProgressBar(max ? (float) player_node->getMP() / max : 0,
- 100, 20, Net::getPlayerHandler()->canUseMagic() ?
- Theme::PROG_MP : Theme::PROG_NO_MP);
- max = player_node->getExpNeeded();
- mXpBar = new ProgressBar(max ? (float) player_node->getExp() / max : 0,
- 100, 20, Theme::PROG_EXP);
+ listen(CHANNEL_ATTRIBUTES);
+
+ mHpBar = new ProgressBar(0, 100, 20, Theme::PROG_HP);
+ StatusWindow::updateHPBar(mHpBar);
+
+ if (Net::getGameHandler()->canUseMagicBar())
+ {
+ mMpBar = new ProgressBar(0, 100, 20,
+ Net::getPlayerHandler()->canUseMagic()
+ ? Theme::PROG_MP : Theme::PROG_NO_MP);
+
+ StatusWindow::updateMPBar(mMpBar);
+ }
+ else
+ mMpBar = 0;
+
+ mXpBar = new ProgressBar(0, 100, 20, Theme::PROG_EXP);
+ StatusWindow::updateXPBar(mXpBar);
+
+ // Add the progressbars to the window
+
mHpBar->setPosition(0, 3);
- mMpBar->setPosition(mHpBar->getWidth() + 3, 3);
- mXpBar->setPosition(mMpBar->getX() + mMpBar->getWidth() + 3, 3);
+ if (mMpBar)
+ mMpBar->setPosition(mHpBar->getWidth() + 3, 3);
+ mXpBar->setPosition(mMpBar ? mMpBar->getX() + mMpBar->getWidth() + 3 :
+ mHpBar->getX() + mHpBar->getWidth() + 3, 3);
add(mHpBar);
- add(mMpBar);
+ if (mMpBar)
+ add(mMpBar);
add(mXpBar);
setContentSize(mXpBar->getX() + mXpBar->getWidth(),
@@ -70,8 +87,6 @@ MiniStatusWindow::MiniStatusWindow():
mTextPopup = new TextPopup();
addMouseListener(this);
-
- update(StatusWindow::HP);
}
void MiniStatusWindow::setIcon(int index, AnimatedSprite *sprite)
@@ -104,19 +119,82 @@ void MiniStatusWindow::drawIcons(Graphics *graphics)
}
}
-void MiniStatusWindow::update(int id)
+void MiniStatusWindow::event(Channels channel, const Mana::Event &event)
{
- if (id == StatusWindow::HP)
- {
- StatusWindow::updateHPBar(mHpBar);
- }
- else if (id == StatusWindow::MP)
+ if (channel == CHANNEL_ATTRIBUTES)
{
- StatusWindow::updateMPBar(mMpBar);
+ if (event.getName() == EVENT_UPDATEATTRIBUTE)
+ {
+ int id = event.getInt("id");
+ if (id == HP || id == MAX_HP)
+ {
+ StatusWindow::updateHPBar(mHpBar);
+ }
+ else if (id == MP || id == MAX_MP)
+ {
+ StatusWindow::updateMPBar(mMpBar);
+ }
+ else if (id == EXP || id == EXP_NEEDED)
+ {
+ StatusWindow::updateXPBar(mXpBar);
+ }
+ }
}
- else if (id == StatusWindow::EXP)
+ else if (channel == CHANNEL_ACTORSPRITE)
{
- StatusWindow::updateXPBar(mXpBar);
+ if (event.getName() == EVENT_UPDATESTATUSEFFECT)
+ {
+ int index = event.getInt("index");
+ bool newStatus = event.getBool("newStatus");
+
+ StatusEffect *effect = StatusEffect::getStatusEffect(index,
+ newStatus);
+
+ if (effect)
+ {
+ effect->deliverMessage();
+ effect->playSFX();
+
+ AnimatedSprite *sprite = effect->getIcon();
+
+ typedef std::vector<int> IntMap;
+
+ if (!sprite)
+ {
+ // delete sprite, if necessary
+ for (unsigned int i = 0; i < mStatusEffectIcons.size();)
+ if (mStatusEffectIcons[i] == index)
+ {
+ mStatusEffectIcons.erase(mStatusEffectIcons.begin()
+ + i);
+ miniStatusWindow->eraseIcon(i);
+ }
+ else
+ i++;
+ }
+ else
+ {
+ // replace sprite or append
+ bool found = false;
+
+ for (unsigned int i = 0; i < mStatusEffectIcons.size();
+ i++)
+ if (mStatusEffectIcons[i] == index)
+ {
+ miniStatusWindow->setIcon(i, sprite);
+ found = true;
+ break;
+ }
+
+ if (!found)
+ { // add new
+ int offset = mStatusEffectIcons.size();
+ miniStatusWindow->setIcon(offset, sprite);
+ mStatusEffectIcons.push_back(index);
+ }
+ }
+ }
+ }
}
}
@@ -152,23 +230,23 @@ void MiniStatusWindow::mouseMoved(gcn::MouseEvent &event)
if (event.getSource() == mXpBar)
{
mTextPopup->show(x + getX(), y + getY(),
- strprintf("%u/%u", player_node->getExp(),
- player_node->getExpNeeded()),
+ strprintf("%u/%u", PlayerInfo::getAttribute(EXP),
+ PlayerInfo::getAttribute(EXP_NEEDED)),
strprintf("%s: %u", _("Need"),
- player_node->getExpNeeded()
- - player_node->getExp()));
+ PlayerInfo::getAttribute(EXP_NEEDED)
+ - PlayerInfo::getAttribute(EXP)));
}
else if (event.getSource() == mHpBar)
{
mTextPopup->show(x + getX(), y + getY(),
- strprintf("%u/%u", player_node->getHp(),
- player_node->getMaxHp()));
+ strprintf("%u/%u", PlayerInfo::getAttribute(HP),
+ PlayerInfo::getAttribute(MAX_HP)));
}
else if (event.getSource() == mMpBar)
{
mTextPopup->show(x + getX(), y + getY(),
- strprintf("%u/%u", player_node->getMP(),
- player_node->getMaxMP()));
+ strprintf("%u/%u", PlayerInfo::getAttribute(MP),
+ PlayerInfo::getAttribute(MAX_MP)));
}
else
{
@@ -182,5 +260,3 @@ void MiniStatusWindow::mouseExited(gcn::MouseEvent &event)
mTextPopup->setVisible(false);
}
-
-
diff --git a/src/gui/ministatus.h b/src/gui/ministatus.h
index bb8d4094..9dfcaeae 100644
--- a/src/gui/ministatus.h
+++ b/src/gui/ministatus.h
@@ -22,6 +22,8 @@
#ifndef MINISTATUS_H
#define MINISTATUS_H
+#include "listener.h"
+
#include "gui/widgets/popup.h"
#include <vector>
@@ -36,21 +38,14 @@ class TextPopup;
*
* \ingroup Interface
*/
-class MiniStatusWindow : public Popup
+class MiniStatusWindow : public Popup, public Mana::Listener
{
public:
MiniStatusWindow();
- /**
- * Sets one of the icons.
- */
- void setIcon(int index, AnimatedSprite *sprite);
-
- void eraseIcon(int index);
-
void drawIcons(Graphics *graphics);
- void update(int id); // Same types as status window
+ void event(Channels channel, const Mana::Event &event);
void logic(); // Updates icons
@@ -63,6 +58,13 @@ class MiniStatusWindow : public Popup
private:
bool isInBar(ProgressBar *bar, int x, int y) const;
+ /**
+ * Sets one of the icons.
+ */
+ void setIcon(int index, AnimatedSprite *sprite);
+
+ void eraseIcon(int index);
+
/*
* Mini Status Bars
*/
@@ -71,6 +73,7 @@ class MiniStatusWindow : public Popup
ProgressBar *mXpBar;
TextPopup *mTextPopup;
+ std::vector<int> mStatusEffectIcons;
std::vector<AnimatedSprite *> mIcons;
};
diff --git a/src/gui/npcdialog.cpp b/src/gui/npcdialog.cpp
index c4128588..590001b0 100644
--- a/src/gui/npcdialog.cpp
+++ b/src/gui/npcdialog.cpp
@@ -22,8 +22,11 @@
#include "gui/npcdialog.h"
#include "configuration.h"
-#include "npc.h"
+#include "event.h"
+#include "listener.h"
+#include "playerinfo.h"
+#include "gui/npcpostdialog.h"
#include "gui/setup.h"
#include "gui/widgets/button.h"
@@ -47,12 +50,29 @@
#define CAPTION_CLOSE _("Close")
#define CAPTION_SUBMIT _("Submit")
+typedef std::map<int, NpcDialog*> NpcDialogs;
+
+class NpcEventListener : public Mana::Listener
+{
+public:
+ void event(Channels channel, const Mana::Event &event);
+
+ NpcDialog *getDialog(int id, bool make = true);
+
+ void removeDialog(int id);
+
+private:
+ NpcDialogs mNpcDialogs;
+};
+
+static NpcEventListener *npcListener = NULL;
+
NpcDialog::DialogList NpcDialog::instances;
NpcDialog::NpcDialog(int npcId)
: Window(_("NPC")),
mNpcId(npcId),
- mLogInteraction(config.getValue("logNpcInGui", true)),
+ mLogInteraction(config.getBoolValue("logNpcInGui")),
mDefaultInt(0),
mInputState(NPC_INPUT_NONE),
mActionState(NPC_ACTION_WAIT)
@@ -123,7 +143,9 @@ NpcDialog::NpcDialog(int npcId)
setVisible(true);
requestFocus();
- config.addListener("logNpcInGui", this);
+ listen(CHANNEL_CONFIG);
+ PlayerInfo::setNPCInteractionCount(PlayerInfo::getNPCInteractionCount()
+ + 1);
}
NpcDialog::~NpcDialog()
@@ -139,7 +161,10 @@ NpcDialog::~NpcDialog()
instances.remove(this);
- config.removeListener("logNpcInGui", this);
+ PlayerInfo::setNPCInteractionCount(PlayerInfo::getNPCInteractionCount()
+ - 1);
+
+ npcListener->removeDialog(mNpcId);
}
void NpcDialog::setText(const std::string &text)
@@ -192,26 +217,25 @@ void NpcDialog::action(const gcn::ActionEvent &event)
if (mInputState == NPC_INPUT_LIST)
{
- int choice = 0;
int selectedIndex = mItemList->getSelected();
if (selectedIndex >= (int) mItems.size() || selectedIndex < 0)
- {
return;
- }
- choice = selectedIndex + 1;
+
printText = mItems[selectedIndex];
- Net::getNpcHandler()->listInput(mNpcId, choice);
+ Net::getNpcHandler()->menuSelect(mNpcId, selectedIndex + 1);
}
else if (mInputState == NPC_INPUT_STRING)
{
printText = mTextField->getText();
+
Net::getNpcHandler()->stringInput(mNpcId, printText);
}
else if (mInputState == NPC_INPUT_INTEGER)
{
printText = strprintf("%d", mIntField->getValue());
+
Net::getNpcHandler()->integerInput(mNpcId, mIntField->getValue());
}
// addText will auto remove the input layout
@@ -256,6 +280,7 @@ void NpcDialog::nextDialog()
void NpcDialog::closeDialog()
{
Net::getNpcHandler()->closeDialog(mNpcId);
+ close();
}
int NpcDialog::getNumberOfElements()
@@ -281,15 +306,6 @@ void NpcDialog::addChoice(const std::string &choice)
mItems.push_back(choice);
}
-void NpcDialog::parseListItems(const std::string &itemString)
-{
- std::istringstream iss(itemString);
-
- std::string tmp;
- while (getline(iss, tmp, ':'))
- mItems.push_back(tmp);
-}
-
void NpcDialog::textRequest(const std::string &defaultText)
{
mActionState = NPC_ACTION_INPUT;
@@ -371,11 +387,15 @@ void NpcDialog::setVisible(bool visible)
}
}
-void NpcDialog::optionChanged(const std::string &name)
+void NpcDialog::event(Channels channel, const Mana::Event &event)
{
- if (name == "logNpcInGui")
+ if (channel != CHANNEL_CONFIG)
+ return;
+
+ if (event.getName() == EVENT_CONFIGOPTIONCHANGED &&
+ event.getString("option") == "logNpcInGui")
{
- mLogInteraction = config.getValue("logNpcInGui", true);
+ mLogInteraction = config.getBoolValue("logNpcInGui");
}
}
@@ -409,6 +429,16 @@ void NpcDialog::closeAll()
}
}
+void NpcDialog::setup()
+{
+ if (npcListener)
+ return;
+
+ npcListener = new NpcEventListener();
+
+ npcListener->listen(CHANNEL_NPC);
+}
+
void NpcDialog::buildLayout()
{
clearLayout();
@@ -475,3 +505,123 @@ void NpcDialog::buildLayout()
mScrollArea->setVerticalScrollAmount(mScrollArea->getVerticalMaxScroll());
}
+
+void NpcEventListener::event(Channels channel,
+ const Mana::Event &event)
+{
+ if (channel != CHANNEL_NPC)
+ return;
+
+ if (event.getName() == EVENT_MESSAGE)
+ {
+ NpcDialog *dialog = getDialog(event.getInt("id"));
+
+ dialog->addText(event.getString("text"));
+ }
+ else if (event.getName() == EVENT_MENU)
+ {
+ NpcDialog *dialog = getDialog(event.getInt("id"));
+
+ dialog->choiceRequest();
+
+ int count = event.getInt("choiceCount");
+ for (int i = 1; i <= count; i++)
+ dialog->addChoice(event.getString("choice" + toString(i)));
+ }
+ else if (event.getName() == EVENT_INTEGERINPUT)
+ {
+ NpcDialog *dialog = getDialog(event.getInt("id"));
+
+ int defaultValue = event.getInt("default", 0);
+ int min = event.getInt("min", 0);
+ int max = event.getInt("max", 2147483647);
+
+ dialog->integerRequest(defaultValue, min, max);
+ }
+ else if (event.getName() == EVENT_STRINGINPUT)
+ {
+ NpcDialog *dialog = getDialog(event.getInt("id"));
+
+ try
+ {
+ dialog->textRequest(event.getString("default"));
+ }
+ catch (Mana::BadEvent)
+ {
+ dialog->textRequest("");
+ }
+ }
+ else if (event.getName() == EVENT_NEXT)
+ {
+ int id = event.getInt("id");
+ NpcDialog *dialog = getDialog(id, false);
+
+ if (!dialog)
+ {
+ int mNpcId = id;
+ Net::getNpcHandler()->nextDialog(mNpcId);
+ return;
+ }
+
+ dialog->showNextButton();
+ }
+ else if (event.getName() == EVENT_CLOSE)
+ {
+ int id = event.getInt("id");
+ NpcDialog *dialog = getDialog(id, false);
+
+ if (!dialog)
+ {
+ int mNpcId = id;
+ Net::getNpcHandler()->closeDialog(mNpcId);
+ return;
+ }
+
+ dialog->showCloseButton();
+ }
+ else if (event.getName() == EVENT_CLOSEALL)
+ {
+ NpcDialog::closeAll();
+ }
+ else if (event.getName() == EVENT_END)
+ {
+ int id = event.getInt("id");
+ NpcDialog *dialog = getDialog(id, false);
+
+ if (dialog)
+ dialog->close();
+ }
+ else if (event.getName() == EVENT_POST)
+ {
+ new NpcPostDialog(event.getInt("id"));
+ }
+}
+
+NpcDialog *NpcEventListener::getDialog(int id, bool make)
+{
+ NpcDialogs::iterator diag = mNpcDialogs.find(id);
+ NpcDialog *dialog = 0;
+
+ if (diag == mNpcDialogs.end())
+ {
+ // Empty dialogs don't help
+ if (make)
+ {
+ dialog = new NpcDialog(id);
+ mNpcDialogs[id] = dialog;
+ }
+ }
+ else
+ {
+ dialog = diag->second;
+ }
+
+ return dialog;
+}
+
+void NpcEventListener::removeDialog(int id)
+{
+ NpcDialogs::iterator it = mNpcDialogs.find(id);
+ if (it != mNpcDialogs.end())
+ mNpcDialogs.erase(it);
+}
diff --git a/src/gui/npcdialog.h b/src/gui/npcdialog.h
index 337da6f2..d0131d0e 100644
--- a/src/gui/npcdialog.h
+++ b/src/gui/npcdialog.h
@@ -22,8 +22,7 @@
#ifndef NPCDIALOG_H
#define NPCDIALOG_H
-#include "configlistener.h"
-#include "npc.h"
+#include "listener.h"
#include "gui/widgets/window.h"
@@ -46,7 +45,7 @@ class Button;
* \ingroup Interface
*/
class NpcDialog : public Window, public gcn::ActionListener,
- public gcn::ListModel, public ConfigListener
+ public gcn::ListModel, public Mana::Listener
{
public:
/**
@@ -120,13 +119,6 @@ class NpcDialog : public Window, public gcn::ActionListener,
void addChoice(const std::string &);
/**
- * Fills the options list for an NPC dialog.
- *
- * @param itemString A string with the options separated with colons.
- */
- void parseListItems(const std::string &itemString);
-
- /**
* Requests a text string from the user.
*/
void textRequest(const std::string &defaultText = "");
@@ -140,8 +132,7 @@ class NpcDialog : public Window, public gcn::ActionListener,
/**
* Requests a interger from the user.
*/
- void integerRequest(int defaultValue = 0, int min = 0,
- int max = 2147483647);
+ void integerRequest(int defaultValue, int min, int max);
void move(int amount);
@@ -154,12 +145,7 @@ class NpcDialog : public Window, public gcn::ActionListener,
void setVisible(bool visible);
- void optionChanged(const std::string &name);
-
- /**
- * Returns true if any instances exist.
- */
- static bool isActive() { return instances.size() > 0; }
+ void event(Channels channel, const Mana::Event &event);
/**
* Returns the first active instance. Useful for pushing user
@@ -172,6 +158,8 @@ class NpcDialog : public Window, public gcn::ActionListener,
*/
static void closeAll();
+ static void setup();
+
private:
typedef std::list<NpcDialog*> DialogList;
static DialogList instances;
diff --git a/src/gui/npcpostdialog.cpp b/src/gui/npcpostdialog.cpp
index 19d0cf61..c53203be 100644
--- a/src/gui/npcpostdialog.cpp
+++ b/src/gui/npcpostdialog.cpp
@@ -21,10 +21,10 @@
#include "gui/npcpostdialog.h"
-#include "npc.h"
+#include "event.h"
+#include "playerinfo.h"
#include "gui/widgets/button.h"
-#include "gui/widgets/chattab.h"
#include "gui/widgets/label.h"
#include "gui/widgets/textbox.h"
#include "gui/widgets/textfield.h"
@@ -80,11 +80,14 @@ NpcPostDialog::NpcPostDialog(int npcId):
instances.push_back(this);
setVisible(true);
+
+ PlayerInfo::setNPCPostCount(PlayerInfo::getNPCPostCount() + 1);
}
NpcPostDialog::~NpcPostDialog()
{
instances.remove(this);
+ PlayerInfo::setNPCPostCount(PlayerInfo::getNPCPostCount() - 1);
}
void NpcPostDialog::action(const gcn::ActionEvent &event)
@@ -93,12 +96,12 @@ void NpcPostDialog::action(const gcn::ActionEvent &event)
{
if (mSender->getText().empty() || mText->getText().empty())
{
- localChatTab->chatLog(_("Failed to send as sender or letter "
- "invalid."));
+ SERVER_NOTICE(_("Failed to send as sender or letter invalid."))
}
else
{
- Net::getNpcHandler()->sendLetter(mNpcId, mSender->getText(),
+ Net::getNpcHandler()->sendLetter(mNpcId,
+ mSender->getText(),
mText->getText());
}
setVisible(false);
diff --git a/src/gui/npcpostdialog.h b/src/gui/npcpostdialog.h
index ad0053a3..248e4515 100644
--- a/src/gui/npcpostdialog.h
+++ b/src/gui/npcpostdialog.h
@@ -47,11 +47,6 @@ public:
void setVisible(bool visible);
/**
- * Returns true if any instances exist.
- */
- static bool isActive() { return instances.size() > 0; }
-
- /**
* Closes all instances.
*/
static void closeAll();
diff --git a/src/gui/outfitwindow.cpp b/src/gui/outfitwindow.cpp
index 89bf47da..8da8914a 100644
--- a/src/gui/outfitwindow.cpp
+++ b/src/gui/outfitwindow.cpp
@@ -22,18 +22,17 @@
#include "outfitwindow.h"
#include "configuration.h"
-#include "localplayer.h"
+#include "equipment.h"
#include "graphics.h"
#include "inventory.h"
-#include "equipment.h"
#include "item.h"
#include "log.h"
+#include "playerinfo.h"
#include "gui/chat.h"
#include "gui/widgets/button.h"
#include "gui/widgets/checkbox.h"
-#include "gui/widgets/chattab.h"
#include "gui/widgets/label.h"
#include "gui/widgets/layout.h"
@@ -41,6 +40,7 @@
#include "net/net.h"
#include "resources/image.h"
+#include "resources/iteminfo.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -168,11 +168,11 @@ void OutfitWindow::wearOutfit(int outfit)
Item *item;
for (int i = 0; i < OUTFIT_ITEM_COUNT; i++)
{
- item = player_node->getInventory()->findItem(mItems[outfit][i]);
+ item = PlayerInfo::getInventory()->findItem(mItems[outfit][i]);
if (item && !item->isEquipped() && item->getQuantity())
{
- if (item->isEquipment())
- Net::getInventoryHandler()->equipItem(item);
+ if (item->isEquippable())
+ item->doEvent(EVENT_DOEQUIP);
}
}
}
@@ -206,7 +206,7 @@ void OutfitWindow::draw(gcn::Graphics *graphics)
}
Item *item =
- player_node->getInventory()->findItem(mItems[mCurrentOutfit][i]);
+ PlayerInfo::getInventory()->findItem(mItems[mCurrentOutfit][i]);
if (item)
{
// Draw item icon.
@@ -245,7 +245,7 @@ void OutfitWindow::mouseDragged(gcn::MouseEvent &event)
const int itemId = mItems[mCurrentOutfit][index];
if (itemId < 0)
return;
- Item *item = player_node->getInventory()->findItem(itemId);
+ Item *item = PlayerInfo::getInventory()->findItem(itemId);
if (item)
{
mItemMoved = item;
@@ -319,7 +319,7 @@ int OutfitWindow::getIndexFromGrid(int pointX, int pointY) const
void OutfitWindow::unequipNotInOutfit(int outfit)
{
- Inventory *inventory = player_node->getInventory();
+ Inventory *inventory = PlayerInfo::getInventory();
if (!inventory)
return;
@@ -338,7 +338,10 @@ void OutfitWindow::unequipNotInOutfit(int outfit)
}
if (!found)
{
- Net::getInventoryHandler()->unequipItem(inventory->getItem(i));
+ Item *item = inventory->getItem(i);
+
+ if (item)
+ item->doEvent(EVENT_DOUNEQUIP);
}
}
}
diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp
index 409a0eda..8ff638c2 100644
--- a/src/gui/popupmenu.cpp
+++ b/src/gui/popupmenu.cpp
@@ -21,14 +21,14 @@
#include "gui/popupmenu.h"
+#include "actorspritemanager.h"
#include "being.h"
-#include "beingmanager.h"
#include "flooritem.h"
#include "graphics.h"
#include "item.h"
#include "localplayer.h"
#include "log.h"
-#include "npc.h"
+#include "playerinfo.h"
#include "playerrelations.h"
#include "gui/chat.h"
@@ -76,7 +76,7 @@ void PopupMenu::showPopup(int x, int y, Being *being)
switch (being->getType())
{
- case Being::PLAYER:
+ case ActorSprite::PLAYER:
{
// Players can be traded with.
mBrowserBox->addRow(strprintf("@@trade|%s@@",
@@ -143,7 +143,7 @@ void PopupMenu::showPopup(int x, int y, Being *being)
}
break;
- case Being::NPC:
+ case ActorSprite::NPC:
// NPCs can be talked to (single option, candidate for removal
// unless more options would be added)
mBrowserBox->addRow(strprintf("@@talk|%s@@",
@@ -151,7 +151,7 @@ void PopupMenu::showPopup(int x, int y, Being *being)
name.c_str()).c_str()));
break;
- case Being::MONSTER:
+ case ActorSprite::MONSTER:
{
// Monsters can be attacked
mBrowserBox->addRow(strprintf("@@attack|%s@@",
@@ -180,11 +180,11 @@ void PopupMenu::showPopup(int x, int y, Being *being)
void PopupMenu::showPopup(int x, int y, FloorItem *floorItem)
{
mFloorItem = floorItem;
- mItem = floorItem->getItem();
+ ItemInfo info = floorItem->getInfo();
mBrowserBox->clearRows();
// Floor item can be picked up (single option, candidate for removal)
- std::string name = ItemDB::get(mFloorItem->getItemId()).getName();
+ std::string name = info.getName();
mBrowserBox->addRow(strprintf("@@pickup|%s@@", strprintf(_("Pick up %s"),
name.c_str()).c_str()));
mBrowserBox->addRow(strprintf("@@chat|%s@@", _("Add to chat")));
@@ -198,16 +198,17 @@ void PopupMenu::showPopup(int x, int y, FloorItem *floorItem)
void PopupMenu::handleLink(const std::string &link)
{
- Being *being = beingManager->findBeing(mBeingId);
+ Being *being = actorSpriteManager->findBeing(mBeingId);
// Talk To action
- if (link == "talk" && being && being->getType() == Being::NPC)
+ if (link == "talk" && being && being->canTalk())
{
- static_cast<NPC*>(being)->talk();
+ being->talkTo();
}
// Trade action
- else if (link == "trade" && being && being->getType() == Being::PLAYER)
+ else if (link == "trade" && being &&
+ being->getType() == ActorSprite::PLAYER)
{
Net::getTradeHandler()->request(being);
tradePartnerName = being->getName();
@@ -221,27 +222,32 @@ void PopupMenu::handleLink(const std::string &link)
{
chatWindow->addInputText("/w \"" + being->getName() + "\" ");
}
- else if (link == "unignore" && being && being->getType() == Being::PLAYER)
+ else if (link == "unignore" && being &&
+ being->getType() == ActorSprite::PLAYER)
{
player_relations.setRelation(being->getName(), PlayerRelation::NEUTRAL);
}
- else if (link == "ignore" && being && being->getType() == Being::PLAYER)
+ else if (link == "ignore" && being &&
+ being->getType() == ActorSprite::PLAYER)
{
player_relations.setRelation(being->getName(), PlayerRelation::IGNORED);
}
- else if (link == "disregard" && being && being->getType() == Being::PLAYER)
+ else if (link == "disregard" && being &&
+ being->getType() == ActorSprite::PLAYER)
{
player_relations.setRelation(being->getName(), PlayerRelation::DISREGARDED);
}
- else if (link == "friend" && being && being->getType() == Being::PLAYER)
+ else if (link == "friend" && being &&
+ being->getType() == ActorSprite::PLAYER)
{
player_relations.setRelation(being->getName(), PlayerRelation::FRIEND);
}
// Guild action
- else if (link == "guild" && being && being->getType() == Being::PLAYER)
+ else if (link == "guild" && being &&
+ being->getType() == ActorSprite::PLAYER)
{
player_node->inviteToGuild(being);
}
@@ -257,25 +263,27 @@ void PopupMenu::handleLink(const std::string &link)
{
}
- else if (link == "use")
+ else if (link == "activate")
{
assert(mItem);
- if (mItem->isEquipment())
+ if (mItem->isEquippable())
{
if (mItem->isEquipped())
- Net::getInventoryHandler()->unequipItem(mItem);
+ mItem->doEvent(EVENT_DOUNEQUIP);
else
- Net::getInventoryHandler()->equipItem(mItem);
+ mItem->doEvent(EVENT_DOEQUIP);
}
else
{
- Net::getInventoryHandler()->useItem(mItem);
+ mItem->doEvent(EVENT_DOUSE);
}
}
-
else if (link == "chat")
{
- chatWindow->addItemText(mItem->getInfo().getName());
+ if (mItem)
+ chatWindow->addItemText(mItem->getInfo().getName());
+ else if (mFloorItem)
+ chatWindow->addItemText(mFloorItem->getInfo().getName());
}
else if (link == "split")
@@ -302,9 +310,10 @@ void PopupMenu::handleLink(const std::string &link)
mItem);
}
- else if (link == "party" && being && being->getType() == Being::PLAYER)
+ else if (link == "party" && being &&
+ being->getType() == ActorSprite::PLAYER)
{
- Net::getPartyHandler()->invite(static_cast<Player*>(being));
+ Net::getPartyHandler()->invite(being);
}
else if (link == "name" && being)
@@ -315,8 +324,8 @@ void PopupMenu::handleLink(const std::string &link)
else if (link == "admin-kick" &&
being &&
- (being->getType() == Being::PLAYER ||
- being->getType() == Being::MONSTER))
+ (being->getType() == ActorSprite::PLAYER ||
+ being->getType() == ActorSprite::MONSTER))
{
Net::getAdminHandler()->kick(being->getId());
}
@@ -344,15 +353,15 @@ void PopupMenu::showPopup(Window *parent, int x, int y, Item *item,
if (isInventory)
{
- if (item->isEquipment())
+ if (item->getInfo().getEquippable())
{
if (item->isEquipped())
- mBrowserBox->addRow(strprintf("@@use|%s@@", _("Unequip")));
+ mBrowserBox->addRow(strprintf("@@equip|%s@@", _("Unequip")));
else
- mBrowserBox->addRow(strprintf("@@use|%s@@", _("Equip")));
+ mBrowserBox->addRow(strprintf("@@equip|%s@@", _("Equip")));
}
- else
- mBrowserBox->addRow(strprintf("@@use|%s@@", _("Use")));
+ if (item->getInfo().getActivatable())
+ mBrowserBox->addRow(strprintf("@@activate|%s@@", _("Activate")));
if (item->getQuantity() > 1)
mBrowserBox->addRow(strprintf("@@drop|%s@@", _("Drop...")));
@@ -364,7 +373,7 @@ void PopupMenu::showPopup(Window *parent, int x, int y, Item *item,
mBrowserBox->addRow(strprintf("@@split|%s@@", _("Split")));
}
- if (InventoryWindow::isStorageActive())
+ if (PlayerInfo::getStorageCount() > 0)
{
mBrowserBox->addRow(strprintf("@@store|%s@@", _("Store")));
}
diff --git a/src/gui/quitdialog.h b/src/gui/quitdialog.h
index 8fa1052c..d0dc2c69 100644
--- a/src/gui/quitdialog.h
+++ b/src/gui/quitdialog.h
@@ -22,8 +22,6 @@
#ifndef QUITDIALOG_H
#define QUITDIALOG_H
-#include "guichanfwd.h"
-
#include "gui/widgets/window.h"
#include <guichan/actionlistener.hpp>
diff --git a/src/gui/recorder.cpp b/src/gui/recorder.cpp
index 257afd7f..2345369e 100644
--- a/src/gui/recorder.cpp
+++ b/src/gui/recorder.cpp
@@ -21,11 +21,11 @@
#include "gui/recorder.h"
#include "client.h"
+#include "event.h"
#include "gui/chat.h"
#include "gui/widgets/button.h"
-#include "gui/widgets/chattab.h"
#include "gui/widgets/layout.h"
#include "gui/widgets/windowcontainer.h"
@@ -84,16 +84,16 @@ void Recorder::setRecordingFile(const std::string &msg)
* Message should go after mStream is closed so that it isn't
* recorded.
*/
- localChatTab->chatLog(_("Finishing recording."), BY_SERVER);
+ SERVER_NOTICE(_("Finishing recording."))
}
else
{
- localChatTab->chatLog(_("Not currently recording."), BY_SERVER);
+ SERVER_NOTICE(_("Not currently recording."))
}
}
else if (mStream.is_open())
{
- localChatTab->chatLog(_("Already recording."), BY_SERVER);
+ SERVER_NOTICE(_("Already recording."))
}
else
{
@@ -101,7 +101,7 @@ void Recorder::setRecordingFile(const std::string &msg)
* Message should go before mStream is opened so that it isn't
* recorded.
*/
- localChatTab->chatLog(_("Starting to record..."), BY_SERVER);
+ SERVER_NOTICE(_("Starting to record..."))
const std::string file = Client::getLocalDataDirectory() + "/" + msgCopy;
mStream.open(file.c_str(), std::ios_base::trunc);
@@ -109,7 +109,7 @@ void Recorder::setRecordingFile(const std::string &msg)
if (mStream.is_open())
setVisible(true);
else
- localChatTab->chatLog(_("Failed to start recording."), BY_SERVER);
+ SERVER_NOTICE(_("Failed to start recording."))
}
}
diff --git a/src/gui/register.h b/src/gui/register.h
index 645b0be8..3c65695b 100644
--- a/src/gui/register.h
+++ b/src/gui/register.h
@@ -22,8 +22,6 @@
#ifndef REGISTER_H
#define REGISTER_H
-#include "player.h"
-
#include "gui/widgets/window.h"
#include <guichan/actionlistener.hpp>
diff --git a/src/gui/sell.cpp b/src/gui/sell.cpp
index 13e0ba99..f33111d7 100644
--- a/src/gui/sell.cpp
+++ b/src/gui/sell.cpp
@@ -21,7 +21,7 @@
#include "gui/sell.h"
-#include "npc.h"
+#include "playerinfo.h"
#include "shopitem.h"
#include "units.h"
@@ -111,6 +111,8 @@ SellDialog::SellDialog(int npcId):
instances.push_back(this);
setVisible(true);
+
+ PlayerInfo::setBuySellState(BUYSELL_SELLING);
}
SellDialog::~SellDialog()
@@ -118,6 +120,9 @@ SellDialog::~SellDialog()
delete mShopItems;
instances.remove(this);
+
+ if (PlayerInfo::getBuySellState() == BUYSELL_SELLING)
+ PlayerInfo::setBuySellState(BUYSELL_NONE);
}
void SellDialog::reset()
@@ -197,6 +202,11 @@ void SellDialog::action(const gcn::ActionEvent &event)
// the inventory index of the next Duplicate otherwise.
itemIndex = item->getCurrentInvIndex();
sellCount = item->sellCurrentDuplicate(mAmountItems);
+
+ // For Manaserv, the Item id is to be given as index.
+ if ((Net::getNetworkType() == ServerInfo::MANASERV))
+ itemIndex = item->getId();
+
Net::getNpcHandler()->sellItem(mNpcId, itemIndex, sellCount);
mAmountItems -= sellCount;
}
diff --git a/src/gui/sell.h b/src/gui/sell.h
index 32a4dc55..c286dcc2 100644
--- a/src/gui/sell.h
+++ b/src/gui/sell.h
@@ -86,11 +86,6 @@ class SellDialog : public Window, gcn::ActionListener, gcn::SelectionListener
void setVisible(bool visible);
/**
- * Returns true if any instances exist.
- */
- static bool isActive() { return instances.size() > 0; }
-
- /**
* Closes all instances.
*/
static void closeAll();
diff --git a/src/gui/serverdialog.cpp b/src/gui/serverdialog.cpp
index abe898b0..ca8da9b4 100644
--- a/src/gui/serverdialog.cpp
+++ b/src/gui/serverdialog.cpp
@@ -21,6 +21,7 @@
#include "gui/serverdialog.h"
+#include "chatlog.h"
#include "client.h"
#include "configuration.h"
#include "gui.h"
@@ -29,7 +30,6 @@
#include "gui/okdialog.h"
#include "gui/sdlinput.h"
-#include "gui/theme.h"
#include "gui/widgets/button.h"
#include "gui/widgets/dropdown.h"
@@ -41,10 +41,11 @@
#include "net/net.h"
+#include "resources/theme.h"
+
#include "utils/gettext.h"
#include "utils/stringutils.h"
#include "utils/xml.h"
-#include "widgets/dropdown.h"
#include <guichan/font.hpp>
@@ -198,18 +199,13 @@ ServerDialog::ServerDialog(ServerInfo *serverInfo, const std::string &dir):
mDownloadStatus(DOWNLOADING_PREPARING),
mDownloadProgress(-1.0f),
mServers(ServerInfos()),
-#ifndef MANASERV_SUPPORT
- mManaservServers(ServerInfos()),
-#endif
mServerInfo(serverInfo)
{
setWindowName("ServerDialog");
Label *serverLabel = new Label(_("Server:"));
Label *portLabel = new Label(_("Port:"));
-#ifdef MANASERV_SUPPORT
Label *typeLabel = new Label(_("Server type:"));
-#endif
mServerNameField = new TextField(mServerInfo->hostname);
mPortField = new TextField(toString(mServerInfo->port));
@@ -247,7 +243,6 @@ ServerDialog::ServerDialog(ServerInfo *serverInfo, const std::string &dir):
place(1, 0, mServerNameField, 4).setPadding(3);
place(0, 1, portLabel);
place(1, 1, mPortField, 4).setPadding(3);
-#ifdef MANASERV_SUPPORT
place(0, 2, typeLabel);
place(1, 2, mTypeField, 4).setPadding(3);
place(0, 3, usedScroll, 5, 5).setPadding(3);
@@ -256,14 +251,6 @@ ServerDialog::ServerDialog(ServerInfo *serverInfo, const std::string &dir):
place(1, 9, mDeleteButton);
place(3, 9, mQuitButton);
place(4, 9, mConnectButton);
-#else
- place(0, 2, usedScroll, 5, 5).setPadding(3);
- place(0, 7, mDescription, 5);
- place(0, 8, mManualEntryButton);
- place(1, 8, mDeleteButton);
- place(3, 8, mQuitButton);
- place(4, 8, mConnectButton);
-#endif
// Make sure the list has enough height
getLayout().setRowHeight(3, 80);
@@ -360,6 +347,8 @@ void ServerDialog::action(const gcn::ActionEvent &event)
// Save the selected server
mServerInfo->save = true;
+ chatLogger->setServerName(mServerInfo->hostname);
+
saveCustomServers(*mServerInfo);
Client::setState(STATE_CONNECT_SERVER);
@@ -427,6 +416,16 @@ void ServerDialog::valueChanged(const gcn::SelectionEvent &)
mDeleteButton->setEnabled(myServer.save);
}
+void ServerDialog::mouseClicked(gcn::MouseEvent &mouseEvent)
+{
+ if (mouseEvent.getSource() == mServersList &&
+ isDoubleClick(mServersList->getSelected()))
+ {
+ action(gcn::ActionEvent(mConnectButton,
+ mConnectButton->getActionEventId()));
+ }
+}
+
void ServerDialog::logic()
{
{
@@ -468,12 +467,7 @@ void ServerDialog::setFieldsReadOnly(bool readOnly)
mServersList->setSelected(-1);
mServerNameField->setText(std::string());
-#ifdef MANASERV_SUPPORT
mPortField->setText(std::string());
-#else
- mPortField->setText(std::string("6901"));
-#endif
-
mServerNameField->requestFocus();
}
@@ -489,10 +483,10 @@ void ServerDialog::setFieldsReadOnly(bool readOnly)
void ServerDialog::downloadServerList()
{
// Try to load the configuration value for the onlineServerList
- std::string listFile = branding.getValue("onlineServerList", std::string());
+ std::string listFile = branding.getStringValue("onlineServerList");
if (listFile.empty())
- listFile = config.getValue("onlineServerList", std::string());
+ listFile = config.getStringValue("onlineServerList");
// Fall back to manasource.org when neither branding nor config set it
if (listFile.empty())
@@ -594,11 +588,7 @@ void ServerDialog::loadServers()
}
}
-#ifdef MANASERV_SUPPORT
if (!found)
-#else
- if (!found && server.type != ServerInfo::MANASERV)
-#endif
mServers.push_back(server);
}
}
@@ -625,14 +615,7 @@ void ServerDialog::loadCustomServers()
server.save = true;
-#ifdef MANASERV_SUPPORT
mServers.push_back(server);
-#else
- if (server.type == ServerInfo::MANASERV)
- mManaservServers.push_back(server);
- else
- mServers.push_back(server);
-#endif
}
}
@@ -675,27 +658,6 @@ void ServerDialog::saveCustomServers(const ServerInfo &currentServer)
++savedServerCount;
}
-#ifndef MANASERV_SUPPORT
- for (unsigned i = 0;
- i < mManaservServers.size() && savedServerCount < MAX_SERVERLIST; ++i)
- {
- const ServerInfo &server = mManaservServers.at(i);
-
- // Only save servers that were loaded from settings
- if (!(server.save && server.isValid()))
- continue;
-
- const std::string index = toString(savedServerCount);
- const std::string nameKey = "MostUsedServerName" + index;
- const std::string typeKey = "MostUsedServerType" + index;
- const std::string portKey = "MostUsedServerPort" + index;
-
- config.setValue(nameKey, toString(server.hostname));
- config.setValue(typeKey, serverTypeToString(server.type));
- config.setValue(portKey, toString(server.port));
- ++savedServerCount;
- }
-#endif
// Insert an invalid entry at the end to make the loading stop there
if (savedServerCount < MAX_SERVERLIST)
config.setValue("MostUsedServerName" + toString(savedServerCount), "");
diff --git a/src/gui/serverdialog.h b/src/gui/serverdialog.h
index aae8b2e0..f1d9c9b8 100644
--- a/src/gui/serverdialog.h
+++ b/src/gui/serverdialog.h
@@ -135,6 +135,8 @@ class ServerDialog : public Window,
*/
void valueChanged(const gcn::SelectionEvent &event);
+ void mouseClicked(gcn::MouseEvent &mouseEvent);
+
void logic();
protected:
@@ -191,9 +193,6 @@ class ServerDialog : public Window,
float mDownloadProgress;
ServerInfos mServers;
-#ifndef MANASERV_SUPPORT
- ServerInfos mManaservServers;
-#endif
ServerInfo *mServerInfo;
};
diff --git a/src/gui/setup.h b/src/gui/setup.h
index 43e83a68..4be94bb8 100644
--- a/src/gui/setup.h
+++ b/src/gui/setup.h
@@ -22,8 +22,6 @@
#ifndef SETUP_H
#define SETUP_H
-#include "guichanfwd.h"
-
#include "gui/widgets/window.h"
#include <guichan/actionlistener.hpp>
diff --git a/src/gui/setup_audio.cpp b/src/gui/setup_audio.cpp
index 2c6b89e8..8e9f5e98 100644
--- a/src/gui/setup_audio.cpp
+++ b/src/gui/setup_audio.cpp
@@ -35,10 +35,10 @@
#include "utils/gettext.h"
Setup_Audio::Setup_Audio():
- mMusicVolume((int)config.getValue("musicVolume", 60)),
- mSfxVolume((int)config.getValue("sfxVolume", 100)),
- mSoundEnabled(config.getValue("sound", 0)),
- mDownloadEnabled(config.getValue("download-music", false)),
+ mMusicVolume(config.getIntValue("musicVolume")),
+ mSfxVolume(config.getIntValue("sfxVolume")),
+ mSoundEnabled(config.getBoolValue("sound")),
+ mDownloadEnabled(config.getBoolValue("download-music")),
mSoundCheckBox(new CheckBox(_("Sound"), mSoundEnabled)),
mDownloadMusicCheckBox(new CheckBox(_("Download music"), mDownloadEnabled)),
mSfxSlider(new Slider(0, sound.getMaxVolume())),
@@ -82,14 +82,14 @@ void Setup_Audio::apply()
{
mSoundEnabled = mSoundCheckBox->isSelected();
mDownloadEnabled = mDownloadMusicCheckBox->isSelected();
- mSfxVolume = (int) config.getValue("sfxVolume", 100);
- mMusicVolume = (int) config.getValue("musicVolume", 60);
+ mSfxVolume = config.getIntValue("sfxVolume");
+ mMusicVolume = config.getIntValue("musicVolume");
config.setValue("sound", mSoundEnabled);
// Display a message if user has selected to download music,
// And if downloadmusic is not already enabled
- if (mDownloadEnabled && !config.getValue("download-music", false))
+ if (mDownloadEnabled && !config.getBoolValue("download-music"))
{
new OkDialog(_("Notice"),_("You may have to restart your client if you want to download new music"));
}
diff --git a/src/gui/setup_colors.cpp b/src/gui/setup_colors.cpp
index 12dba82a..6b3b3fec 100644
--- a/src/gui/setup_colors.cpp
+++ b/src/gui/setup_colors.cpp
@@ -23,8 +23,6 @@
#include "configuration.h"
#include "gui/gui.h"
-#include "gui/theme.h"
-#include "gui/userpalette.h"
#include "gui/widgets/browserbox.h"
#include "gui/widgets/itemlinkhandler.h"
@@ -36,6 +34,9 @@
#include "gui/widgets/textfield.h"
#include "gui/widgets/textpreview.h"
+#include "resources/theme.h"
+#include "resources/userpalette.h"
+
#include "utils/gettext.h"
#include "utils/stringutils.h"
diff --git a/src/gui/setup_joystick.cpp b/src/gui/setup_joystick.cpp
index 965f5712..7ac5b5ed 100644
--- a/src/gui/setup_joystick.cpp
+++ b/src/gui/setup_joystick.cpp
@@ -40,7 +40,7 @@ Setup_Joystick::Setup_Joystick():
{
setName(_("Joystick"));
- mOriginalJoystickEnabled = !config.getValue("joystickEnabled", false);
+ mOriginalJoystickEnabled = !config.getBoolValue("joystickEnabled");
mJoystickEnabled->setSelected(mOriginalJoystickEnabled);
mJoystickEnabled->addActionListener(this);
diff --git a/src/gui/setup_players.cpp b/src/gui/setup_players.cpp
index 93551689..e1948bb0 100644
--- a/src/gui/setup_players.cpp
+++ b/src/gui/setup_players.cpp
@@ -21,7 +21,7 @@
#include "gui/setup_players.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
#include "configuration.h"
#include "log.h"
@@ -214,6 +214,7 @@ public:
#define ACTION_STRATEGY "strategy"
#define ACTION_WHISPER_TAB "whisper tab"
#define ACTION_SHOW_GENDER "show gender"
+#define ACTION_ENABLE_CHAT_LOG "enable log"
Setup_Players::Setup_Players():
mPlayerTableTitleModel(new StaticTableModel(1, COLUMNS_NR)),
@@ -226,10 +227,12 @@ Setup_Players::Setup_Players():
mDefaultWhisper(new CheckBox(_("Allow whispers"),
player_relations.getDefault() & PlayerRelation::WHISPER)),
mDeleteButton(new Button(_("Delete"), ACTION_DELETE, this)),
- mWhisperTab(config.getValue("whispertab", false)),
+ mWhisperTab(config.getBoolValue("whispertab")),
mWhisperTabCheckBox(new CheckBox(_("Put all whispers in tabs"), mWhisperTab)),
- mShowGender(config.getValue("showgender", false)),
- mShowGenderCheckBox(new CheckBox(_("Show gender"), mShowGender))
+ mShowGender(config.getBoolValue("showgender")),
+ mShowGenderCheckBox(new CheckBox(_("Show gender"), mShowGender)),
+ mEnableChatLog(config.getBoolValue("enableChatLog")),
+ mEnableChatLogCheckBox(new CheckBox(_("Enable Chat log"), mEnableChatLog))
{
setName(_("Players"));
@@ -279,6 +282,9 @@ Setup_Players::Setup_Players():
mShowGenderCheckBox->setActionEventId(ACTION_SHOW_GENDER);
mShowGenderCheckBox->addActionListener(this);
+ mEnableChatLogCheckBox->setActionEventId(ACTION_ENABLE_CHAT_LOG);
+ mEnableChatLogCheckBox->addActionListener(this);
+
reset();
// Do the layout
@@ -289,11 +295,12 @@ Setup_Players::Setup_Players():
place(0, 1, mPlayerScrollArea, 4, 4).setPadding(2);
place(0, 5, mDeleteButton);
place(0, 6, mShowGenderCheckBox, 2).setPadding(2);
+ place(0, 7, mEnableChatLogCheckBox, 2).setPadding(2);
place(2, 5, ignore_action_label);
place(2, 6, mIgnoreActionChoicesBox, 2).setPadding(2);
- place(0, 7, mDefaultTrading);
- place(0, 8, mDefaultWhisper);
- place(0, 9, mWhisperTabCheckBox, 4).setPadding(4);
+ place(0, 8, mDefaultTrading);
+ place(0, 9, mDefaultWhisper);
+ place(0, 10, mWhisperTabCheckBox, 4).setPadding(4);
player_relations.addListener(this);
@@ -341,20 +348,24 @@ void Setup_Players::apply()
PlayerRelation::WHISPER : 0));
config.setValue("whispertab", mWhisperTab);
- bool showGender = config.getValue("showgender", false);
+ bool showGender = config.getBoolValue("showgender");
config.setValue("showgender", mShowGender);
- if (beingManager && mShowGender != showGender)
- beingManager->updatePlayerNames();
+ if (actorSpriteManager && mShowGender != showGender)
+ actorSpriteManager->updatePlayerNames();
+
+ config.setValue("enableChatLog", mEnableChatLog);
}
void Setup_Players::cancel()
{
- mWhisperTab = config.getValue("whispertab", false);
+ mWhisperTab = config.getBoolValue("whispertab");
mWhisperTabCheckBox->setSelected(mWhisperTab);
- mShowGender = config.getValue("showgender", false);
+ mShowGender = config.getBoolValue("showgender");
mShowGenderCheckBox->setSelected(mShowGender);
+ mEnableChatLog = config.getBoolValue("enableChatLog");
+ mEnableChatLogCheckBox->setSelected(mEnableChatLog);
}
void Setup_Players::action(const gcn::ActionEvent &event)
@@ -402,6 +413,10 @@ void Setup_Players::action(const gcn::ActionEvent &event)
{
mShowGender = mShowGenderCheckBox->isSelected();
}
+ else if (event.getId() == ACTION_ENABLE_CHAT_LOG)
+ {
+ mEnableChatLog = mEnableChatLogCheckBox->isSelected();
+ }
}
void Setup_Players::updatedPlayer(const std::string &name)
diff --git a/src/gui/setup_players.h b/src/gui/setup_players.h
index 5337b213..a62ffe1f 100644
--- a/src/gui/setup_players.h
+++ b/src/gui/setup_players.h
@@ -70,6 +70,9 @@ private:
bool mShowGender;
gcn::CheckBox *mShowGenderCheckBox;
+
+ bool mEnableChatLog;
+ gcn::CheckBox *mEnableChatLogCheckBox;
};
#endif
diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp
index 1a5e17b6..c8af218f 100644
--- a/src/gui/setup_video.cpp
+++ b/src/gui/setup_video.cpp
@@ -171,7 +171,7 @@ static const char *speechModeToString(Being::Speech mode)
const char *Setup_Video::overlayDetailToString(int detail)
{
if (detail == -1)
- detail = config.getValue("OverlayDetail", -1);
+ detail = config.getIntValue("OverlayDetail");
switch (detail)
{
@@ -185,7 +185,7 @@ const char *Setup_Video::overlayDetailToString(int detail)
const char *Setup_Video::particleDetailToString(int detail)
{
if (detail == -1)
- detail = 3 - config.getValue("particleEmitterSkip", -1);
+ detail = 3 - config.getIntValue("particleEmitterSkip");
switch (detail)
{
@@ -198,22 +198,20 @@ const char *Setup_Video::particleDetailToString(int detail)
}
Setup_Video::Setup_Video():
- mFullScreenEnabled(config.getValue("screen", false)),
- mOpenGLEnabled(config.getValue("opengl", false)),
- mCustomCursorEnabled(config.getValue("customcursor", true)),
- mShowMonsterDamageEnabled(config.getValue("showMonstersTakedDamage",
- false)),
- mVisibleNamesEnabled(config.getValue("visiblenames", true)),
- mParticleEffectsEnabled(config.getValue("particleeffects", true)),
- mNameEnabled(config.getValue("showownname", false)),
- mNPCLogEnabled(config.getValue("logNpcInGui", true)),
- mPickupChatEnabled(config.getValue("showpickupchat", true)),
- mPickupParticleEnabled(config.getValue("showpickupparticle", false)),
- mOpacity(config.getValue("guialpha", 0.8)),
- mFps((int) config.getValue("fpslimit", 60)),
- mSDLTransparencyDisabled(config.getValue("disableTransparency", true)),
- mSpeechMode(static_cast<Being::Speech>(
- config.getValue("speech", Being::TEXT_OVERHEAD))),
+ mFullScreenEnabled(config.getBoolValue("screen")),
+ mOpenGLEnabled(config.getBoolValue("opengl")),
+ mCustomCursorEnabled(config.getBoolValue("customcursor")),
+ mShowMonsterDamageEnabled(config.getBoolValue("showMonstersTakedDamage")),
+ mVisibleNamesEnabled(config.getBoolValue("visiblenames")),
+ mParticleEffectsEnabled(config.getBoolValue("particleeffects")),
+ mNameEnabled(config.getBoolValue("showownname")),
+ mNPCLogEnabled(config.getBoolValue("logNpcInGui")),
+ mPickupChatEnabled(config.getBoolValue("showpickupchat")),
+ mPickupParticleEnabled(config.getBoolValue("showpickupparticle")),
+ mOpacity(config.getFloatValue("guialpha")),
+ mFps(config.getIntValue("fpslimit")),
+ mSDLTransparencyDisabled(config.getBoolValue("disableTransparency")),
+ mSpeechMode(static_cast<Being::Speech>(config.getIntValue("speech"))),
mModeListModel(new ModeListModel),
mModeList(new ListBox(mModeListModel)),
mFsCheckBox(new CheckBox(_("Full screen"), mFullScreenEnabled)),
@@ -238,13 +236,13 @@ Setup_Video::Setup_Video():
mFpsCheckBox(new CheckBox(_("FPS limit:"))),
mFpsSlider(new Slider(10, 120)),
mFpsLabel(new Label),
- mOverlayDetail((int) config.getValue("OverlayDetail", 2)),
+ mOverlayDetail(config.getIntValue("OverlayDetail")),
mOverlayDetailSlider(new Slider(0, 2)),
mOverlayDetailField(new Label),
- mParticleDetail(3 - (int) config.getValue("particleEmitterSkip", 1)),
+ mParticleDetail(3 - config.getIntValue("particleEmitterSkip")),
mParticleDetailSlider(new Slider(0, 3)),
mParticleDetailField(new Label),
- mFontSize((int) config.getValue("fontSize", 11)),
+ mFontSize(config.getIntValue("fontSize")),
mDisableSDLTransparencyCheckBox(
new CheckBox(_("Disable transparency (Low CPU mode)"),
mSDLTransparencyDisabled))
@@ -403,7 +401,7 @@ void Setup_Video::apply()
{
// Full screen changes
bool fullscreen = mFsCheckBox->isSelected();
- if (fullscreen != (config.getValue("screen", false) == 1))
+ if (fullscreen != config.getBoolValue("screen"))
{
/* The OpenGL test is only necessary on Windows, since switching
* to/from full screen works fine on Linux. On Windows we'd have to
@@ -414,7 +412,7 @@ void Setup_Video::apply()
#if defined(WIN32) || defined(__APPLE__)
// checks for opengl usage
- if (!(config.getValue("opengl", false) == 1))
+ if (!config.getBoolValue("opengl"))
{
#endif
if (!graphics->setFullscreen(fullscreen))
@@ -497,21 +495,20 @@ void Setup_Video::apply()
config.setValue("fontSize", mFontSizeDropDown->getSelected() + 10);
// We sync old and new values at apply time
- mFullScreenEnabled = config.getValue("screen", false);
- mCustomCursorEnabled = config.getValue("customcursor", true);
- mShowMonsterDamageEnabled = config.getValue("showMonstersTakedDamage", false);
- mVisibleNamesEnabled = config.getValue("visiblenames", true);
- mParticleEffectsEnabled = config.getValue("particleeffects", true);
- mNameEnabled = config.getValue("showownname", false);
- mNPCLogEnabled = config.getValue("logNpcInGui", true);
- mSpeechMode = static_cast<Being::Speech>(
- config.getValue("speech", Being::TEXT_OVERHEAD));
- mOpacity = config.getValue("guialpha", 0.8);
- mOverlayDetail = (int) config.getValue("OverlayDetail", 2);
- mOpenGLEnabled = config.getValue("opengl", false);
- mPickupChatEnabled = config.getValue("showpickupchat", true);
- mPickupParticleEnabled = config.getValue("showpickupparticle", false);
- mSDLTransparencyDisabled = config.getValue("disableTransparency", true);
+ mFullScreenEnabled = config.getBoolValue("screen");
+ mCustomCursorEnabled = config.getBoolValue("customcursor");
+ mShowMonsterDamageEnabled = config.getBoolValue("showMonstersTakedDamage");
+ mVisibleNamesEnabled = config.getBoolValue("visiblenames");
+ mParticleEffectsEnabled = config.getBoolValue("particleeffects");
+ mNameEnabled = config.getBoolValue("showownname");
+ mNPCLogEnabled = config.getBoolValue("logNpcInGui");
+ mSpeechMode = static_cast<Being::Speech>(config.getIntValue("speech"));
+ mOpacity = config.getFloatValue("guialpha");
+ mOverlayDetail = config.getIntValue("OverlayDetail");
+ mOpenGLEnabled = config.getBoolValue("opengl");
+ mPickupChatEnabled = config.getBoolValue("showpickupchat");
+ mPickupParticleEnabled = config.getBoolValue("showpickupparticle");
+ mSDLTransparencyDisabled = config.getBoolValue("disableTransparency");
}
void Setup_Video::cancel()
diff --git a/src/gui/skilldialog.cpp b/src/gui/skilldialog.cpp
index 207e3ded..be46132e 100644
--- a/src/gui/skilldialog.cpp
+++ b/src/gui/skilldialog.cpp
@@ -21,11 +21,11 @@
#include "gui/skilldialog.h"
-#include "localplayer.h"
#include "log.h"
+#include "playerinfo.h"
+#include "configuration.h"
#include "gui/setup.h"
-#include "gui/theme.h"
#include "gui/widgets/button.h"
#include "gui/widgets/container.h"
@@ -43,6 +43,7 @@
#include "resources/image.h"
#include "resources/resourcemanager.h"
+#include "resources/theme.h"
#include "utils/dtor.h"
#include "utils/gettext.h"
@@ -93,7 +94,8 @@ struct SkillInfo
if (!icon)
{
- icon = Theme::getImageFromTheme("unknown-item.png");
+ icon = Theme::getImageFromTheme(
+ paths.getStringValue("unknownItemFile"));
}
}
@@ -246,10 +248,6 @@ void SkillDialog::action(const gcn::ActionEvent &event)
{
setVisible(false);
}
- else
- {
- printf("Unknown event '%s'\n", event.getId().c_str());
- }
}
std::string SkillDialog::update(int id)
@@ -269,7 +267,7 @@ std::string SkillDialog::update(int id)
void SkillDialog::update()
{
mPointsLabel->setCaption(strprintf(_("Skill points available: %d"),
- player_node->getSkillPoints()));
+ PlayerInfo::getAttribute(SKILL_POINTS)));
mPointsLabel->adjustSize();
for (SkillMap::iterator it = mSkills.begin(); it != mSkills.end(); it++)
@@ -420,10 +418,10 @@ void SkillModel::updateVisibilities()
void SkillInfo::update()
{
- int baseLevel = player_node->getAttributeBase(id);
- int effLevel = player_node->getAttributeEffective(id);
+ int baseLevel = PlayerInfo::getStatBase(id);
+ int effLevel = PlayerInfo::getStatEffective(id);
- std::pair<int, int> exp = player_node->getExperience(id);
+ std::pair<int, int> exp = PlayerInfo::getStatExperience(id);
if (!modifiable && baseLevel == 0 && effLevel == 0 && exp.second == 0)
{
diff --git a/src/gui/skilldialog.h b/src/gui/skilldialog.h
index 95f8ef25..3b1b1832 100644
--- a/src/gui/skilldialog.h
+++ b/src/gui/skilldialog.h
@@ -19,10 +19,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef SKILL_H
-#define SKILL_H
-
-#include "guichanfwd.h"
+#ifndef SKILLDIALOG_H
+#define SKILLDIALOG_H
#include "gui/widgets/window.h"
diff --git a/src/gui/socialwindow.cpp b/src/gui/socialwindow.cpp
index d52e073c..b4321b25 100644
--- a/src/gui/socialwindow.cpp
+++ b/src/gui/socialwindow.cpp
@@ -20,22 +20,19 @@
#include "gui/socialwindow.h"
-#include "beingmanager.h"
+#include "event.h"
#include "guild.h"
#include "localplayer.h"
#include "party.h"
-#include "player.h"
#include "gui/confirmdialog.h"
#include "gui/okdialog.h"
#include "gui/setup.h"
#include "gui/textdialog.h"
-#include "gui/theme.h"
#include "gui/widgets/avatarlistbox.h"
#include "gui/widgets/browserbox.h"
#include "gui/widgets/button.h"
-#include "gui/widgets/chattab.h"
#include "gui/widgets/container.h"
#include "gui/widgets/label.h"
#include "gui/widgets/layouthelper.h"
@@ -49,6 +46,8 @@
#include "net/guildhandler.h"
#include "net/partyhandler.h"
+#include "resources/theme.h"
+
#include "utils/dtor.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -124,13 +123,10 @@ public:
if (!name.empty())
{
- Net::getGuildHandler()->invite(mGuild->getId(), name);
- localChatTab->chatLog(strprintf(_("Invited user %s to guild %s."),
- name.c_str(),
- mGuild->getName().c_str()),
- BY_SERVER);
+ SERVER_NOTICE(strprintf(_("Invited user %s to guild %s."),
+ name.c_str(),
+ mGuild->getName().c_str()))
}
-
mInviteDialog = NULL;
}
else if (event.getId() == "~do invite")
@@ -140,8 +136,8 @@ public:
else if (event.getId() == "yes")
{
Net::getGuildHandler()->leave(mGuild->getId());
- localChatTab->chatLog(strprintf(_("Guild %s quit requested."),
- mGuild->getName().c_str()), BY_SERVER);
+ SERVER_NOTICE(strprintf(_("Guild %s quit requested."),
+ mGuild->getName().c_str()))
mConfirmDialog = NULL;
}
else if (event.getId() == "no")
@@ -208,8 +204,8 @@ public:
std::string name = mInviteDialog->getText();
if (!name.empty())
- Net::getPartyHandler()->invite(name);
-
+ SERVER_NOTICE(strprintf(_("Invited user %s to party."),
+ name.c_str()))
mInviteDialog = NULL;
}
else if (event.getId() == "~do invite")
@@ -219,8 +215,8 @@ public:
else if (event.getId() == "yes")
{
Net::getPartyHandler()->leave();
- localChatTab->chatLog(strprintf(_("Party %s quit requested."),
- mParty->getName().c_str()), BY_SERVER);
+ SERVER_NOTICE(strprintf(_("Party %s quit requested."),
+ mParty->getName().c_str()))
mConfirmDialog = NULL;
}
else if (event.getId() == "no")
@@ -444,14 +440,14 @@ void SocialWindow::action(const gcn::ActionEvent &event)
// check if they accepted the invite
if (eventId == "yes")
{
- localChatTab->chatLog(strprintf(_("Accepted party invite from %s."),
- mPartyInviter.c_str()));
+ SERVER_NOTICE(strprintf(_("Accepted party invite from %s."),
+ mPartyInviter.c_str()))
Net::getPartyHandler()->inviteResponse(mPartyInviter, true);
}
else if (eventId == "no")
{
- localChatTab->chatLog(strprintf(_("Rejected party invite from %s."),
- mPartyInviter.c_str()));
+ SERVER_NOTICE(strprintf(_("Rejected party invite from %s."),
+ mPartyInviter.c_str()))
Net::getPartyHandler()->inviteResponse(mPartyInviter, false);
}
@@ -463,14 +459,14 @@ void SocialWindow::action(const gcn::ActionEvent &event)
// check if they accepted the invite
if (eventId == "yes")
{
- localChatTab->chatLog(strprintf(_("Accepted guild invite from %s."),
- mPartyInviter.c_str()));
+ SERVER_NOTICE(strprintf(_("Accepted guild invite from %s."),
+ mPartyInviter.c_str()))
Net::getGuildHandler()->inviteResponse(mGuildInvited, true);
}
else if (eventId == "no")
{
- localChatTab->chatLog(strprintf(_("Rejected guild invite from %s."),
- mPartyInviter.c_str()));
+ SERVER_NOTICE(strprintf(_("Rejected guild invite from %s."),
+ mPartyInviter.c_str()))
Net::getGuildHandler()->inviteResponse(mGuildInvited, false);
}
@@ -498,14 +494,15 @@ void SocialWindow::action(const gcn::ActionEvent &event)
if (name.size() > 16)
{
- localChatTab->chatLog(_("Creating guild failed, please choose a "
- "shorter name."), BY_SERVER);
+ SERVER_NOTICE(_("Creating guild failed, please choose a "
+ "shorter name."));
+ return;
}
else if (!name.empty())
{
Net::getGuildHandler()->create(name);
- localChatTab->chatLog(strprintf(_("Creating guild called %s."),
- name.c_str()), BY_SERVER);
+ SERVER_NOTICE(strprintf(_("Creating guild called %s."),
+ name.c_str()));
}
mGuildCreateDialog = NULL;
@@ -520,14 +517,15 @@ void SocialWindow::action(const gcn::ActionEvent &event)
if (name.size() > 16)
{
- localChatTab->chatLog(_("Creating party failed, please choose a "
- "shorter name."), BY_SERVER);
+ SERVER_NOTICE(_("Creating party failed, please choose a "
+ "shorter name."));
+ return;
}
else if (!name.empty())
{
Net::getPartyHandler()->create(name);
- localChatTab->chatLog(strprintf(_("Creating party called %s."),
- name.c_str()), BY_SERVER);
+ SERVER_NOTICE(strprintf(_("Creating party called %s."),
+ name.c_str()));
}
mPartyCreateDialog = NULL;
@@ -553,14 +551,14 @@ void SocialWindow::showGuildInvite(const std::string &guildName,
// check there isnt already an invite showing
if (mGuildInvited != 0)
{
- localChatTab->chatLog(_("Received guild request, but one already "
- "exists."), BY_SERVER);
+ SERVER_NOTICE(_("Received guild request, but one already "
+ "exists."))
return;
}
std::string msg = strprintf(_("%s has invited you to join the guild %s."),
inviterName.c_str(), guildName.c_str());
- localChatTab->chatLog(msg, BY_SERVER);
+ SERVER_NOTICE(msg)
// show invite
mGuildAcceptDialog = new ConfirmDialog(_("Accept Guild Invite"), msg, this);
@@ -575,8 +573,7 @@ void SocialWindow::showPartyInvite(const std::string &partyName,
// check there isnt already an invite showing
if (mPartyInviter != "")
{
- localChatTab->chatLog(_("Received party request, but one already "
- "exists."), BY_SERVER);
+ SERVER_NOTICE(_("Received party request, but one already exists."))
return;
}
@@ -607,7 +604,7 @@ void SocialWindow::showPartyInvite(const std::string &partyName,
}
}
- localChatTab->chatLog(msg, BY_SERVER);
+ SERVER_NOTICE(msg)
// show invite
mPartyAcceptDialog = new ConfirmDialog(_("Accept Party Invite"), msg, this);
diff --git a/src/gui/specialswindow.cpp b/src/gui/specialswindow.cpp
index 44551825..b511e4a3 100644
--- a/src/gui/specialswindow.cpp
+++ b/src/gui/specialswindow.cpp
@@ -20,11 +20,9 @@
#include "gui/specialswindow.h"
-#include "localplayer.h"
#include "log.h"
#include "gui/setup.h"
-#include "gui/theme.h"
#include "gui/widgets/button.h"
#include "gui/widgets/container.h"
@@ -42,6 +40,9 @@
#include "net/net.h"
#include "net/specialhandler.h"
+#include "resources/specialdb.h"
+#include "resources/theme.h"
+
#include "utils/dtor.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -54,31 +55,24 @@
class SpecialEntry;
-struct SpecialInfo
-{
- unsigned short id;
- std::string name;
- std::string icon;
- SpecialEntry *display;
-};
class SpecialEntry : public Container
{
public:
SpecialEntry(SpecialInfo *info);
- void update();
+ void update(int current, int needed);
protected:
friend class SpecialsWindow;
SpecialInfo *mInfo;
private:
- Icon *mIcon;
- Label *mNameLabel;
- Label *mLevelLabel;
- Label *mTechLabel;
- Button *mUse;
+ Icon *mIcon; // icon to display
+ Label *mNameLabel; // name to display
+ Label *mLevelLabel; // level number label (only shown when applicable)
+ Button *mUse; // use button (only shown when applicable)
+ ProgressBar *mRechargeBar; // recharge bar (only shown when applicable)
};
SpecialsWindow::SpecialsWindow():
@@ -102,7 +96,6 @@ SpecialsWindow::SpecialsWindow():
SpecialsWindow::~SpecialsWindow()
{
// Clear gui
- loadSpecials("");
}
void SpecialsWindow::action(const gcn::ActionEvent &event)
@@ -127,91 +120,70 @@ void SpecialsWindow::action(const gcn::ActionEvent &event)
}
}
-std::string SpecialsWindow::update(int id)
-{
- // TODO
-
- return std::string();
-}
-
-void SpecialsWindow::loadSpecials(const std::string &file)
+void SpecialsWindow::draw(gcn::Graphics *graphics)
{
- // TODO: mTabs->clear();
- while (mTabs->getSelectedTabIndex() != -1)
+ // update the progress bars
+ std::map<int, Special> specialData = PlayerInfo::getSpecialStatus();
+ bool foundNew = false;
+ unsigned int found = 0; // number of entries in specialData which match mEntries
+
+ for (std::map<int, Special>::iterator i = specialData.begin();
+ i != specialData.end();
+ i++)
{
- mTabs->removeTabWithIndex(mTabs->getSelectedTabIndex());
- }
-
- for (SpecialMap::iterator it = mSpecials.begin(); it != mSpecials.end(); it++)
- {
- delete (*it).second->display;
+ std::map<int, SpecialEntry *>::iterator e = mEntries.find(i->first);
+ if (e == mEntries.end())
+ {
+ // found a new special - abort update and rebuild from scratch
+ foundNew = true;
+ break;
+ } else {
+ // update progress bar of special
+ e->second->update(i->second.currentMana, i->second.neededMana);
+ found++;
+ }
}
- delete_all(mSpecials);
- mSpecials.clear();
+ // a rebuild is needed when a) the number of specials changed or b) an existing entry isn't found anymore
+ if (foundNew || found != mEntries.size()) rebuild(specialData);
- if (file.length() == 0)
- return;
+ Window::draw(graphics);
+}
- XML::Document doc(file);
- xmlNodePtr root = doc.rootNode();
+void SpecialsWindow::rebuild(const std::map<int, Special> &specialData)
+{
+ make_dtor(mEntries);
+ mEntries.clear();
+ int vPos = 0; //vertical position of next placed element
- if (!root || !xmlStrEqual(root->name, BAD_CAST "specials"))
+ for (std::map<int, Special>::const_iterator i = specialData.begin();
+ i != specialData.end();
+ i++)
{
- logger->log("Error loading specials file: %s", file.c_str());
- return;
- }
-
- int setCount = 0;
- std::string setName;
- ScrollArea *scroll;
- FlowContainer *container;
+ logger->log("Updating special GUI for %d", i->first);
- for_each_xml_child_node(set, root)
- {
- if (xmlStrEqual(set->name, BAD_CAST "set"))
+ SpecialInfo* info = SpecialDB::get(i->first);
+ if (info)
{
- setCount++;
- setName = XML::getProperty(set, "name", strprintf(_("Specials Set %d"), setCount));
-
- container = new FlowContainer(SPECIALS_WIDTH, SPECIALS_HEIGHT);
- container->setOpaque(false);
- scroll = new ScrollArea(container);
- scroll->setOpaque(false);
- scroll->setHorizontalScrollPolicy(ScrollArea::SHOW_NEVER);
- scroll->setVerticalScrollPolicy(ScrollArea::SHOW_ALWAYS);
-
- mTabs->addTab(setName, scroll);
- for_each_xml_child_node(node, set)
- {
- if (xmlStrEqual(node->name, BAD_CAST "special"))
- {
- int id = atoi(XML::getProperty(node, "id", "-1").c_str());
- if (id == -1)
- continue;
- std::string name = XML::getProperty(node, "name", strprintf(_("Special %d"), id));
- std::string icon = XML::getProperty(node, "icon", "");
-
- SpecialInfo *special = new SpecialInfo;
- special->id = id;
- special->name = name;
- special->icon = icon;
- special->display = new SpecialEntry(special);
-
- container->add(special->display);
-
- mSpecials[id] = special;
- }
- }
+ info->rechargeCurrent = i->second.currentMana;
+ info->rechargeNeeded = i->second.neededMana;
+ SpecialEntry* entry = new SpecialEntry(info);
+ entry->setPosition(0, vPos);
+ vPos += entry->getHeight();
+ add(entry);
+ mEntries[i->first] = entry;
+ } else {
+ logger->log("Warning: No info available of special %d", i->first);
}
}
}
+
SpecialEntry::SpecialEntry(SpecialInfo *info) :
mInfo(info),
mIcon(NULL),
- mNameLabel(new Label(info->name)),
- mLevelLabel(new Label("999")),
- mUse(new Button("Use", "use", specialsWindow))
+ mLevelLabel(NULL),
+ mUse(NULL),
+ mRechargeBar(NULL)
{
setFrameSize(1);
setOpaque(false);
@@ -225,21 +197,42 @@ SpecialEntry::SpecialEntry(SpecialInfo *info) :
mIcon->setPosition(1, 0);
add(mIcon);
+
+ mNameLabel = new Label(info->name);
mNameLabel->setPosition(35, 0);
add(mNameLabel);
- mLevelLabel->setPosition(getWidth() - mLevelLabel->getWidth(), 0);
- add(mLevelLabel);
+ if (info->hasLevel)
+ {
+ mLevelLabel = new Label(toString(info->level));
+ mLevelLabel->setPosition(getWidth() - mLevelLabel->getWidth(), 0);
+ add(mLevelLabel);
+ }
+
- mNameLabel->setWidth(mLevelLabel->getX() - mNameLabel->getX() - 1);
+ if (info->isActive)
+ {
+ mUse = new Button("Use", "use", specialsWindow);
+ mUse->setPosition(getWidth() - mUse->getWidth(), 13);
+ add(mUse);
+ }
- mUse->setPosition(getWidth() - mUse->getWidth(), 13);
- add(mUse);
+ if (info->hasRechargeBar)
+ {
+ float progress = (float)info->rechargeCurrent / (float)info->rechargeNeeded;
+ mRechargeBar = new ProgressBar(progress, 100, 10, Theme::PROG_MP);
+ mRechargeBar->setSmoothProgress(false);
+ mRechargeBar->setPosition(0, 13);
+ add(mRechargeBar);
+ }
- update();
}
-void SpecialEntry::update()
+void SpecialEntry::update(int current, int needed)
{
- // TODO
+ if (mRechargeBar)
+ {
+ float progress = (float)current / (float)needed;
+ mRechargeBar->setProgress(progress);
+ }
}
diff --git a/src/gui/specialswindow.h b/src/gui/specialswindow.h
index 81384856..dedeeffc 100644
--- a/src/gui/specialswindow.h
+++ b/src/gui/specialswindow.h
@@ -23,7 +23,7 @@
#include <vector>
-#include "guichanfwd.h"
+#include "playerinfo.h"
#include "gui/widgets/window.h"
@@ -36,7 +36,7 @@ class ScrollArea;
class Tab;
class TabbedArea;
-struct SpecialInfo;
+struct SpecialEntry;
class SpecialsWindow : public Window, public gcn::ActionListener {
public:
@@ -49,20 +49,14 @@ class SpecialsWindow : public Window, public gcn::ActionListener {
*/
void action(const gcn::ActionEvent &actionEvent);
- /**
- * Update the given special's display
- */
- std::string update(int id);
-
- void loadSpecials(const std::string &file);
-
- bool hasSpecials() { return !mSpecials.empty(); }
+ void draw(gcn::Graphics *graphics);
private:
- std::vector<gcn::Button *> mSpellButtons;
- typedef std::map<int, SpecialInfo*> SpecialMap;
- SpecialMap mSpecials;
+ // (re)constructs the list of specials
+ void rebuild(const std::map<int, Special> &specialData);
+
TabbedArea *mTabs;
+ std::map<int, SpecialEntry *> mEntries;
};
extern SpecialsWindow *specialsWindow;
diff --git a/src/gui/speechbubble.cpp b/src/gui/speechbubble.cpp
index 08d00038..e0a9f8a0 100644
--- a/src/gui/speechbubble.cpp
+++ b/src/gui/speechbubble.cpp
@@ -25,10 +25,12 @@
#include "graphics.h"
#include "gui/gui.h"
-#include "gui/theme.h"
+#include "gui/widgets/label.h"
#include "gui/widgets/textbox.h"
+#include "resources/theme.h"
+
#include <guichan/font.hpp>
#include <guichan/widgets/label.hpp>
@@ -40,7 +42,7 @@ SpeechBubble::SpeechBubble():
setMinWidth(29);
setMinHeight(29);
- mCaption = new gcn::Label;
+ mCaption = new Label;
mCaption->setFont(boldFont);
mSpeechBox = new TextBox;
diff --git a/src/gui/speechbubble.h b/src/gui/speechbubble.h
index 8682ab7e..6017398a 100644
--- a/src/gui/speechbubble.h
+++ b/src/gui/speechbubble.h
@@ -23,10 +23,10 @@
#ifndef SPEECHBUBBLE_H
#define SPEECHBUBBLE_H
-#include "gui/theme.h"
-
#include "gui/widgets/popup.h"
+#include "resources/theme.h"
+
class TextBox;
class SpeechBubble : public Popup
diff --git a/src/gui/statuswindow.cpp b/src/gui/statuswindow.cpp
index 91f832f5..a3420f06 100644
--- a/src/gui/statuswindow.cpp
+++ b/src/gui/statuswindow.cpp
@@ -22,11 +22,10 @@
#include "gui/statuswindow.h"
#include "localplayer.h"
+#include "playerinfo.h"
#include "units.h"
-#include "gui/ministatus.h"
#include "gui/setup.h"
-#include "gui/theme.h"
#include "gui/widgets/button.h"
#include "gui/widgets/label.h"
@@ -38,6 +37,9 @@
#include "net/net.h"
#include "net/playerhandler.h"
+#include "net/gamehandler.h"
+
+#include "resources/theme.h"
#include "utils/gettext.h"
#include "utils/mathutils.h"
@@ -94,6 +96,8 @@ class ChangeDisplay : public AttrDisplay, gcn::ActionListener
StatusWindow::StatusWindow():
Window(player_node->getName())
{
+ listen(CHANNEL_ATTRIBUTES);
+
setWindowName("Status");
setupWindow->registerWindowForReset(this);
setResizable(true);
@@ -109,21 +113,26 @@ StatusWindow::StatusWindow():
mLvlLabel = new Label(strprintf(_("Level: %d"), 0));
mMoneyLabel = new Label(strprintf(_("Money: %s"), ""));
- int max = player_node->getMaxHp();
+ int max = PlayerInfo::getAttribute(MAX_HP);
mHpLabel = new Label(_("HP:"));
- mHpBar = new ProgressBar(max ? (float) player_node->getHp() / max: 0,
- 80, 15, Theme::PROG_HP);
+ mHpBar = new ProgressBar(max ? (float) PlayerInfo::getAttribute(HP) / max :
+ 0, 80, 15, Theme::PROG_HP);
- max = player_node->getExpNeeded();
+ max = PlayerInfo::getAttribute(EXP_NEEDED);
mXpLabel = new Label(_("Exp:"));
- mXpBar = new ProgressBar(max ? (float) player_node->getExp() / max : 0,
- 80, 15, Theme::PROG_EXP);
+ mXpBar = new ProgressBar(max ? (float) PlayerInfo::getAttribute(EXP) / max :
+ 0, 80, 15, Theme::PROG_EXP);
- max = player_node->getMaxMP();
- mMpLabel = new Label(_("MP:"));
- mMpBar = new ProgressBar(max ? (float) player_node->getMaxMP() / max : 0,
- 80, 15, Net::getPlayerHandler()->canUseMagic() ?
+ bool magicBar = Net::getGameHandler()->canUseMagicBar();
+ if (magicBar)
+ {
+ max = PlayerInfo::getAttribute(MAX_MP);
+ mMpLabel = new Label(_("MP:"));
+ mMpBar = new ProgressBar(max ?
+ (float) PlayerInfo::getAttribute(MAX_MP) / max :
+ 0, 80, 15, Net::getPlayerHandler()->canUseMagic() ?
Theme::PROG_MP : Theme::PROG_NO_MP);
+ }
place(0, 0, mLvlLabel, 3);
// 5, 0 Job Level
@@ -132,9 +141,17 @@ StatusWindow::StatusWindow():
place(1, 1, mHpBar, 4);
place(5, 1, mXpLabel).setPadding(3);
place(6, 1, mXpBar, 5);
- place(0, 2, mMpLabel).setPadding(3);
- // 5, 2 and 6, 2 Job Progress Bar
- place(1, 2, mMpBar, 4);
+
+ int attributesFirstRow = 2;
+ if (magicBar)
+ {
+ place(0, 2, mMpLabel).setPadding(3);
+ // 5, 2 and 6, 2 Job Progress Bar
+ place(1, 2, mMpBar, 4);
+
+ // We move the attribute row to the next one
+ attributesFirstRow = 3;
+ }
if (Net::getPlayerHandler()->getJobLocation() > 0)
{
@@ -145,128 +162,131 @@ StatusWindow::StatusWindow():
place(5, 0, mJobLvlLabel, 3);
place(5, 2, mJobLabel).setPadding(3);
place(6, 2, mJobBar, 5);
+
+ // We move the attribute row to the next one
+ attributesFirstRow = 3;
}
// ----------------------
// Stats Part
// ----------------------
- mAttrCont = new VertContainer(32);
+ mAttrCont = new VertContainer(28);
mAttrScroll = new ScrollArea(mAttrCont);
mAttrScroll->setOpaque(false);
mAttrScroll->setHorizontalScrollPolicy(ScrollArea::SHOW_NEVER);
mAttrScroll->setVerticalScrollPolicy(ScrollArea::SHOW_AUTO);
- place(0, 3, mAttrScroll, 5, 3);
+ place(0, attributesFirstRow, mAttrScroll, 5, 3);
- mDAttrCont = new VertContainer(32);
+ mDAttrCont = new VertContainer(28);
mDAttrScroll = new ScrollArea(mDAttrCont);
mDAttrScroll->setOpaque(false);
mDAttrScroll->setHorizontalScrollPolicy(ScrollArea::SHOW_NEVER);
mDAttrScroll->setVerticalScrollPolicy(ScrollArea::SHOW_AUTO);
- place(6, 3, mDAttrScroll, 5, 3);
+ place(6, attributesFirstRow, mDAttrScroll, 5, 3);
- getLayout().setRowHeight(3, Layout::AUTO_SET);
+ getLayout().setRowHeight(attributesFirstRow, Layout::AUTO_SET);
- mCharacterPointsLabel = new Label("C");
- place(0, 6, mCharacterPointsLabel, 5);
+ mCharacterPointsLabel = new Label("Character points: 0");
+ place(0, attributesFirstRow + 3, mCharacterPointsLabel, 4);
if (Net::getPlayerHandler()->canCorrectAttributes())
{
- mCorrectionPointsLabel = new Label("C");
- place(0, 7, mCorrectionPointsLabel, 5);
+ mCorrectionPointsLabel = new Label("Correction points: 0");
+ place(4, attributesFirstRow + 3, mCorrectionPointsLabel, 4);
}
loadWindowState();
- update(HP);
- update(MP);
- update(EXP);
- update(MONEY);
- update(CHAR_POINTS); // This also updates all attributes (none atm)
- update(LEVEL);
- int job = Net::getPlayerHandler()->getJobLocation();
- if (job > 0)
- {
- update(job);
- }
-}
-
-std::string StatusWindow::update(int id)
-{
- if (miniStatusWindow)
- miniStatusWindow->update(id);
-
- if (id == HP)
- {
- updateHPBar(mHpBar, true);
-
- return _("HP");
- }
- else if (id == MP)
- {
+ // Update bars
+ updateHPBar(mHpBar, true);
+ if (magicBar)
updateMPBar(mMpBar, true);
+ updateXPBar(mXpBar, false);
- return _("MP");
- }
- else if (id == EXP)
- {
- updateXPBar(mXpBar, false);
- return _("Exp");
- }
- else if (id == MONEY)
- {
- int money = player_node->getMoney();
- mMoneyLabel->setCaption(strprintf(_("Money: %s"),
- Units::formatCurrency(money).c_str()));
- mMoneyLabel->adjustSize();
+ mMoneyLabel->setCaption(strprintf(_("Money: %s"),
+ Units::formatCurrency(PlayerInfo::getAttribute(MONEY)).c_str()));
+ mMoneyLabel->adjustSize();
+ mCharacterPointsLabel->setCaption(strprintf(_("Character points: %d"),
+ PlayerInfo::getAttribute(CHAR_POINTS)));
+ mCharacterPointsLabel->adjustSize();
- return _("Money");
- }
- else if (id == Net::getPlayerHandler()->getJobLocation())
- {
- mJobLvlLabel->setCaption(strprintf(_("Job: %d"),
- player_node->getAttributeBase(id)));
- mJobLvlLabel->adjustSize();
-
- updateProgressBar(mJobBar, id, false);
+ mLvlLabel->setCaption(strprintf(_("Level: %d"),
+ PlayerInfo::getAttribute(LEVEL)));
+ mLvlLabel->adjustSize();
+}
- return _("Job");
- }
- else if (id == CHAR_POINTS)
+void StatusWindow::event(Channels channel, const Mana::Event &event)
+{
+ if (event.getName() == EVENT_UPDATEATTRIBUTE)
{
- mCharacterPointsLabel->setCaption(strprintf(_("Character points: %d"),
- player_node->getCharacterPoints()));
- mCharacterPointsLabel->adjustSize();
-
- if (Net::getPlayerHandler()->canCorrectAttributes())
+ switch(event.getInt("id"))
{
- mCorrectionPointsLabel->setCaption(strprintf(_("Correction points: %d"),
- player_node->getCorrectionPoints()));
- mCorrectionPointsLabel->adjustSize();
+ case HP: case MAX_HP:
+ updateHPBar(mHpBar, true);
+ break;
+
+ case MP: case MAX_MP:
+ updateMPBar(mMpBar, true);
+ break;
+
+ case EXP: case EXP_NEEDED:
+ updateXPBar(mXpBar, false);
+ break;
+
+ case MONEY:
+ mMoneyLabel->setCaption(strprintf(_("Money: %s"),
+ Units::formatCurrency(
+ event.getInt("newValue")).c_str()));
+ mMoneyLabel->adjustSize();
+ break;
+
+ case CHAR_POINTS:
+ mCharacterPointsLabel->setCaption(strprintf(
+ _("Character points: %d"),
+ event.getInt("newValue")));
+ mCharacterPointsLabel->adjustSize();
+ updateAttrs();
+ break;
+
+ case CORR_POINTS:
+ mCorrectionPointsLabel->setCaption(strprintf(
+ _("Correction points: %d"),
+ event.getInt("newValue")));
+ mCorrectionPointsLabel->adjustSize();
+ updateAttrs();
+ break;
+
+ case LEVEL:
+ mLvlLabel->setCaption(strprintf(_("Level: %d"),
+ event.getInt("newValue")));
+ mLvlLabel->adjustSize();
+ break;
}
-
- updateAttrs();
}
- else if (id == LEVEL)
+ else if (event.getName() == EVENT_UPDATESTAT)
{
- mLvlLabel->setCaption(strprintf(_("Level: %d"),
- player_node->getLevel()));
- mLvlLabel->adjustSize();
+ int id = event.getInt("id");
- return _("Level");
- }
- else
- {
- Attrs::iterator it = mAttrs.find(id);
+ if (id == Net::getPlayerHandler()->getJobLocation())
+ {
+
+ mJobLvlLabel->setCaption(strprintf(_("Job: %d"),
+ PlayerInfo::getStatBase(id)));
+ mJobLvlLabel->adjustSize();
- if (it != mAttrs.end())
+ updateProgressBar(mJobBar, id, false);
+ }
+ else
{
- return it->second->update();
+ Attrs::iterator it = mAttrs.find(id);
+ if (it != mAttrs.end())
+ {
+ it->second->update();
+ }
}
}
-
- return "";
}
void StatusWindow::updateAttrs()
@@ -311,32 +331,39 @@ void StatusWindow::addAttribute(int id, const std::string &name,
void StatusWindow::updateHPBar(ProgressBar *bar, bool showMax)
{
+ if (!bar)
+ return;
if (showMax)
- bar->setText(toString(player_node->getHp()) +
- "/" + toString(player_node->getMaxHp()));
+ bar->setText(toString(PlayerInfo::getAttribute(HP)) +
+ "/" + toString(PlayerInfo::getAttribute(MAX_HP)));
else
- bar->setText(toString(player_node->getHp()));
+ bar->setText(toString(PlayerInfo::getAttribute(HP)));
float prog = 1.0;
- if (player_node->getMaxHp() > 0)
- prog = (float) player_node->getHp() / player_node->getMaxHp();
+ if (PlayerInfo::getAttribute(MAX_HP) > 0)
+ prog = (float) PlayerInfo::getAttribute(HP)
+ / PlayerInfo::getAttribute(MAX_HP);
bar->setProgress(prog);
}
void StatusWindow::updateMPBar(ProgressBar *bar, bool showMax)
{
+ if (!bar)
+ return;
+
if (showMax)
- bar->setText(toString(player_node->getMP()) +
- "/" + toString(player_node->getMaxMP()));
+ bar->setText(toString(PlayerInfo::getAttribute(MP)) +
+ "/" + toString(PlayerInfo::getAttribute(MAX_MP)));
else
- bar->setText(toString(player_node->getMP()));
+ bar->setText(toString(PlayerInfo::getAttribute(MP)));
float prog = 1.0f;
- if (player_node->getMaxMP() > 0)
- prog = (float) player_node->getMP() / player_node->getMaxMP();
+ if (PlayerInfo::getAttribute(MAX_MP) > 0)
+ prog = (float) PlayerInfo::getAttribute(MP)
+ / PlayerInfo::getAttribute(MAX_MP);
if (Net::getPlayerHandler()->canUseMagic())
bar->setProgressPalette(Theme::PROG_MP);
@@ -347,8 +374,11 @@ void StatusWindow::updateMPBar(ProgressBar *bar, bool showMax)
}
void StatusWindow::updateProgressBar(ProgressBar *bar, int value, int max,
- bool percent)
+ bool percent)
{
+ if (!bar)
+ return;
+
if (max == 0)
{
bar->setText(_("Max"));
@@ -369,13 +399,16 @@ void StatusWindow::updateProgressBar(ProgressBar *bar, int value, int max,
void StatusWindow::updateXPBar(ProgressBar *bar, bool percent)
{
- updateProgressBar(bar, player_node->getExp(),
- player_node->getExpNeeded(), percent);
+ if (!bar)
+ return;
+
+ updateProgressBar(bar, PlayerInfo::getAttribute(EXP),
+ PlayerInfo::getAttribute(EXP_NEEDED), percent);
}
void StatusWindow::updateProgressBar(ProgressBar *bar, int id, bool percent)
{
- std::pair<int, int> exp = player_node->getExperience(id);
+ std::pair<int, int> exp = PlayerInfo::getStatExperience(id);
updateProgressBar(bar, exp.first, exp.second, percent);
}
@@ -400,8 +433,8 @@ AttrDisplay::~AttrDisplay()
std::string AttrDisplay::update()
{
- int base = player_node->getAttributeBase(mId);
- int bonus = player_node->getAttributeEffective(mId) - base;
+ int base = PlayerInfo::getStatBase(mId);
+ int bonus = PlayerInfo::getStatMod(mId);
std::string value = toString(base);
if (bonus)
value += strprintf(" (%+d)", bonus);
@@ -465,9 +498,9 @@ std::string ChangeDisplay::update()
if (mDec)
{
- mDec->setEnabled(player_node->getCorrectionPoints());
+ mDec->setEnabled(PlayerInfo::getAttribute(CORR_POINTS));
}
- mInc->setEnabled(player_node->getCharacterPoints() >= mNeeded &&
+ mInc->setEnabled(PlayerInfo::getAttribute(CHAR_POINTS) >= mNeeded &&
mNeeded > 0);
return AttrDisplay::update();
@@ -485,24 +518,25 @@ void ChangeDisplay::action(const gcn::ActionEvent &event)
if (Net::getPlayerHandler()->canCorrectAttributes() &&
event.getSource() == mDec)
{
- int newcorpoints = player_node->getCorrectionPoints() - 1;
- player_node->setCorrectionPoints(newcorpoints);
- int newpoints = player_node->getCharacterPoints() + 1;
- player_node->setCharacterPoints(newpoints);
- int newbase = player_node->getAttributeBase(mId) - 1;
- player_node->setAttributeBase(mId, newbase);
- int newmod = player_node->getAttributeEffective(mId) - 1;
- player_node->setAttributeEffective(mId, newmod);
+ int newcorpoints = PlayerInfo::getAttribute(CORR_POINTS) - 1;
+ PlayerInfo::setAttribute(CORR_POINTS, newcorpoints);
+
+ int newpoints = PlayerInfo::getAttribute(CHAR_POINTS) + 1;
+ PlayerInfo::setAttribute(CHAR_POINTS, newpoints);
+
+ int newbase = PlayerInfo::getStatBase(mId) - 1;
+ PlayerInfo::setStatBase(mId, newbase);
+
Net::getPlayerHandler()->decreaseAttribute(mId);
}
else if (event.getSource() == mInc)
{
- int newpoints = player_node->getCharacterPoints() - 1;
- player_node->setCharacterPoints(newpoints);
- int newbase = player_node->getAttributeBase(mId) + 1;
- player_node->setAttributeBase(mId, newbase);
- int newmod = player_node->getAttributeEffective(mId) + 1;
- player_node->setAttributeEffective(mId, newmod);
+ int newpoints = PlayerInfo::getAttribute(CHAR_POINTS) - 1;
+ PlayerInfo::setAttribute(CHAR_POINTS, newpoints);
+
+ int newbase = PlayerInfo::getStatBase(mId) + 1;
+ PlayerInfo::setStatBase(mId, newbase);
+
Net::getPlayerHandler()->increaseAttribute(mId);
}
}
diff --git a/src/gui/statuswindow.h b/src/gui/statuswindow.h
index d99368b8..103111a7 100644
--- a/src/gui/statuswindow.h
+++ b/src/gui/statuswindow.h
@@ -22,7 +22,7 @@
#ifndef STATUS_H
#define STATUS_H
-#include "guichanfwd.h"
+#include "listener.h"
#include "gui/widgets/window.h"
@@ -40,24 +40,15 @@ class VertContainer;
*
* \ingroup Interface
*/
-class StatusWindow : public Window
+class StatusWindow : public Window, public Mana::Listener
{
public:
- enum { // Some update constants
- HP = -1,
- MP = -2,
- EXP = -3,
- MONEY = -4,
- CHAR_POINTS = -5,
- LEVEL = -6
- };
-
/**
* Constructor.
*/
StatusWindow();
- std::string update(int id);
+ void event(Channels channel, const Mana::Event &event);
void updateAttrs();
diff --git a/src/gui/textdialog.cpp b/src/gui/textdialog.cpp
index d9728357..f88a6afa 100644
--- a/src/gui/textdialog.cpp
+++ b/src/gui/textdialog.cpp
@@ -21,7 +21,7 @@
#include "gui/textdialog.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
#include "gui/widgets/button.h"
#include "gui/widgets/label.h"
@@ -42,7 +42,7 @@ TextDialog::TextDialog(const std::string &title, const std::string &msg,
// In TextField the escape key will either cause autoComplete or lose focus
mTextField = new TextField("", ! autoCompleteEnabled);
if (autoCompleteEnabled)
- mTextField->setAutoComplete(beingManager->getPlayerNameLister());
+ mTextField->setAutoComplete(actorSpriteManager->getPlayerNameLister());
mTextField->addActionListener(this);
diff --git a/src/gui/textpopup.cpp b/src/gui/textpopup.cpp
index 6aeae319..d0a0c495 100644
--- a/src/gui/textpopup.cpp
+++ b/src/gui/textpopup.cpp
@@ -26,6 +26,8 @@
#include "gui/gui.h"
#include "gui/palette.h"
+#include "gui/widgets/label.h"
+
#include "graphics.h"
#include "units.h"
@@ -40,10 +42,10 @@ TextPopup::TextPopup():
{
const int fontHeight = getFont()->getHeight();
- mText1 = new gcn::Label;
+ mText1 = new Label;
mText1->setPosition(getPadding(), getPadding());
- mText2 = new gcn::Label;
+ mText2 = new Label;
mText2->setPosition(getPadding(), fontHeight + getPadding());
add(mText1);
diff --git a/src/gui/trade.cpp b/src/gui/trade.cpp
index dcb38e8e..37662bef 100644
--- a/src/gui/trade.cpp
+++ b/src/gui/trade.cpp
@@ -21,9 +21,11 @@
#include "gui/trade.h"
+#include "event.h"
#include "inventory.h"
#include "item.h"
#include "localplayer.h"
+#include "playerinfo.h"
#include "units.h"
#include "gui/inventorywindow.h"
@@ -31,7 +33,6 @@
#include "gui/setup.h"
#include "gui/widgets/button.h"
-#include "gui/widgets/chattab.h"
#include "gui/widgets/itemcontainer.h"
#include "gui/widgets/label.h"
#include "gui/widgets/scrollarea.h"
@@ -59,7 +60,7 @@ TradeWindow::TradeWindow():
mMyInventory(new Inventory(Inventory::TRADE)),
mPartnerInventory(new Inventory(Inventory::TRADE)),
mStatus(PROPOSING)
-{
+{
setWindowName("Trade");
setResizable(true);
setCloseButton(true);
@@ -96,7 +97,7 @@ TradeWindow::TradeWindow():
mMoneyLabel = new Label(strprintf(_("You get %s"), ""));
gcn::Label *mMoneyLabel2 = new Label(_("You give:"));
-
+
mMoneyField = new TextField;
mMoneyField->setWidth(40);
mMoneyChangeButton = new Button(_("Change"), "money", this);
@@ -140,18 +141,6 @@ void TradeWindow::addItem(int id, bool own, int quantity)
(own ? mMyInventory : mPartnerInventory)->addItem(id, quantity);
}
-void TradeWindow::addItem(int id, bool own, int quantity, bool equipment)
-{
- if (own)
- {
- mMyInventory->addItem(id, quantity, equipment);
- }
- else
- {
- mPartnerInventory->addItem(id, quantity, equipment);
- }
-}
-
void TradeWindow::changeQuantity(int index, bool own, int quantity)
{
if (own)
@@ -270,9 +259,8 @@ void TradeWindow::action(const gcn::ActionEvent &event)
if (mMyInventory->contains(item))
{
- localChatTab->chatLog(_("Failed adding item. You can not "
- "overlap one kind of item on the window."),
- BY_SERVER);
+ SERVER_NOTICE(_("Failed adding item. You can not "
+ "overlap one kind of item on the window."))
return;
}
@@ -285,7 +273,7 @@ void TradeWindow::action(const gcn::ActionEvent &event)
{
setVisible(false);
reset();
- player_node->setTrading(false);
+ PlayerInfo::setTrading(false);
Net::getTradeHandler()->cancel();
}
@@ -310,11 +298,10 @@ void TradeWindow::action(const gcn::ActionEvent &event)
return;
int v = atoi(mMoneyField->getText().c_str());
- int curMoney = player_node->getMoney();
+ int curMoney = PlayerInfo::getAttribute(MONEY);
if (v > curMoney)
{
- localChatTab->chatLog(_("You don't have enough money."),
- BY_SERVER);
+ SERVER_NOTICE(_("You don't have enough money."))
v = curMoney;
}
Net::getTradeHandler()->setMoney(v);
diff --git a/src/gui/trade.h b/src/gui/trade.h
index ac602669..e22f8863 100644
--- a/src/gui/trade.h
+++ b/src/gui/trade.h
@@ -22,8 +22,6 @@
#ifndef TRADE_H
#define TRADE_H
-#include "guichanfwd.h"
-
#include "gui/widgets/window.h"
#include <guichan/actionlistener.hpp>
diff --git a/src/gui/unregisterdialog.h b/src/gui/unregisterdialog.h
index dd330afd..87999d5d 100644
--- a/src/gui/unregisterdialog.h
+++ b/src/gui/unregisterdialog.h
@@ -22,8 +22,6 @@
#ifndef UNREGISTERDIALOG_H
#define UNREGISTERDIALOG_H
-#include "guichanfwd.h"
-
#include "gui/widgets/window.h"
#include <guichan/actionlistener.hpp>
diff --git a/src/gui/updatewindow.cpp b/src/gui/updatewindow.cpp
index 7448a102..23d23b5e 100644
--- a/src/gui/updatewindow.cpp
+++ b/src/gui/updatewindow.cpp
@@ -476,7 +476,7 @@ void UpdaterWindow::logic()
// This statement checks to see if the file type is music, and if download-music is true
// If it fails, this statement returns true, and results in not downloading the file
// Else it will ignore the break, and download the file.
- if ( !(thisFile.type == "music" && config.getValue("download-music", false)) )
+ if ( !(thisFile.type == "music" && config.getBoolValue("download-music")) )
{
mUpdateIndex++;
break;
diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp
index b18b9b0b..ac910d5f 100644
--- a/src/gui/viewport.cpp
+++ b/src/gui/viewport.cpp
@@ -21,16 +21,14 @@
#include "gui/viewport.h"
+#include "actorspritemanager.h"
#include "client.h"
-#include "beingmanager.h"
#include "configuration.h"
-#include "flooritemmanager.h"
#include "graphics.h"
#include "keyboardconfig.h"
#include "localplayer.h"
#include "map.h"
-#include "monster.h"
-#include "npc.h"
+#include "playerinfo.h"
#include "textmanager.h"
#include "gui/gui.h"
@@ -40,7 +38,6 @@
#include "net/net.h"
-#include "resources/monsterinfo.h"
#include "resources/resourcemanager.h"
#include "utils/stringutils.h"
@@ -62,18 +59,18 @@ Viewport::Viewport():
setOpaque(false);
addMouseListener(this);
- mScrollLaziness = (int) config.getValue("ScrollLaziness", 16);
- mScrollRadius = (int) config.getValue("ScrollRadius", 0);
- mScrollCenterOffsetX = (int) config.getValue("ScrollCenterOffsetX", 0);
- mScrollCenterOffsetY = (int) config.getValue("ScrollCenterOffsetY", 0);
-
- config.addListener("ScrollLaziness", this);
- config.addListener("ScrollRadius", this);
+ mScrollLaziness = config.getIntValue("ScrollLaziness");
+ mScrollRadius = config.getIntValue("ScrollRadius");
+ mScrollCenterOffsetX = config.getIntValue("ScrollCenterOffsetX");
+ mScrollCenterOffsetY = config.getIntValue("ScrollCenterOffsetY");
mPopupMenu = new PopupMenu;
mBeingPopup = new BeingPopup;
setFocusable(true);
+
+ listen(CHANNEL_CONFIG);
+ listen(CHANNEL_ACTORSPRITE);
}
Viewport::~Viewport()
@@ -207,12 +204,15 @@ void Viewport::draw(gcn::Graphics *gcnGraphics)
}
// Draw player names, speech, and emotion sprite as needed
- const Beings &beings = beingManager->getAll();
- for (Beings::const_iterator i = beings.begin(), i_end = beings.end();
- i != i_end; ++i)
+ const ActorSprites &actors = actorSpriteManager->getAll();
+ for (ActorSpritesConstIterator it = actors.begin(), it_end = actors.end();
+ it != it_end; it++)
{
- (*i)->drawSpeech((int) mPixelViewX, (int) mPixelViewY);
- (*i)->drawEmotion(graphics, (int) mPixelViewX, (int) mPixelViewY);
+ if ((*it)->getType() == ActorSprite::FLOOR_ITEM)
+ continue;
+
+ Being *b = static_cast<Being*>(*it);
+ b->drawSpeech((int) mPixelViewX, (int) mPixelViewY);
}
if (miniStatusWindow)
@@ -345,7 +345,7 @@ void Viewport::mousePressed(gcn::MouseEvent &event)
return;
// Check if we are busy
- if (NPC::isTalking())
+ if (PlayerInfo::isTalking())
return;
mPlayerFollowMouse = false;
@@ -354,9 +354,8 @@ void Viewport::mousePressed(gcn::MouseEvent &event)
const int pixelX = event.getX() + (int) mPixelViewX;
const int pixelY = event.getY() + (int) mPixelViewY;
- mHoverBeing = beingManager->findBeingByPixel(pixelX, pixelY);
- mHoverItem = floorItemManager->
- findByCoordinates(pixelX / mMap->getTileWidth(),
+ mHoverBeing = actorSpriteManager->findBeingByPixel(pixelX, pixelY);
+ mHoverItem = actorSpriteManager->findItem(pixelX / mMap->getTileWidth(),
pixelY / mMap->getTileHeight());
updateCursorType();
@@ -389,33 +388,20 @@ void Viewport::mousePressed(gcn::MouseEvent &event)
// Interact with some being
if (mHoverBeing)
{
- switch (mHoverBeing->getType())
+ if (mHoverBeing->canTalk())
+ mHoverBeing->talkTo();
+ else
{
- // Talk to NPCs
- case Being::NPC:
- static_cast<NPC*>(mHoverBeing)->talk();
- break;
-
- // Attack or walk to monsters or players
- case Being::MONSTER:
- case Being::PLAYER:
- // Ignore it if its dead
- if (!mHoverBeing->isAlive())
- break;
-
+ // Ignore it if its dead
+ if (mHoverBeing->isAlive())
+ {
if (player_node->withinAttackRange(mHoverBeing) ||
keyboard.isKeyActive(keyboard.KEY_ATTACK))
- {
player_node->attack(mHoverBeing,
!keyboard.isKeyActive(keyboard.KEY_TARGET));
- }
else
- {
player_node->setGotoTarget(mHoverBeing);
- }
- break;
- default:
- break;
+ }
}
// Picks up a item if we clicked on one
}
@@ -440,8 +426,8 @@ void Viewport::mousePressed(gcn::MouseEvent &event)
else if (event.getButton() == gcn::MouseEvent::MIDDLE)
{
// Find the being nearest to the clicked position
- Being *target = beingManager->findNearestLivingBeing(
- pixelX, pixelY, 20, Being::MONSTER);
+ Being *target = actorSpriteManager->findNearestLivingBeing(
+ pixelX, pixelY, 20, ActorSprite::MONSTER);
if (target)
player_node->setTarget(target);
@@ -467,9 +453,9 @@ void Viewport::mouseDragged(gcn::MouseEvent &event)
}
else
{
- if (mLocalWalkTime != player_node->getWalkTime())
+ if (mLocalWalkTime != player_node->getActionTime())
{
- mLocalWalkTime = player_node->getWalkTime();
+ mLocalWalkTime = player_node->getActionTime();
int destX = (event.getX() + mPixelViewX) / mMap->getTileWidth();
int destY = (event.getY() + mPixelViewY) / mMap->getTileHeight();
player_node->setDestination(destX, destY);
@@ -497,12 +483,6 @@ void Viewport::closePopupMenu()
mPopupMenu->handleLink("cancel");
}
-void Viewport::optionChanged(const std::string &name)
-{
- mScrollLaziness = (int) config.getValue("ScrollLaziness", 32);
- mScrollRadius = (int) config.getValue("ScrollRadius", 32);
-}
-
void Viewport::mouseMoved(gcn::MouseEvent &event)
{
// Check if we are on the map
@@ -512,15 +492,11 @@ void Viewport::mouseMoved(gcn::MouseEvent &event)
const int x = (event.getX() + (int) mPixelViewX);
const int y = (event.getY() + (int) mPixelViewY);
- mHoverBeing = beingManager->findBeingByPixel(x, y);
- if (mHoverBeing && mHoverBeing->getType() == Being::PLAYER)
- mBeingPopup->show(getMouseX(), getMouseY(),
- static_cast<Player*>(mHoverBeing));
- else
- mBeingPopup->setVisible(false);
+ mHoverBeing = actorSpriteManager->findBeingByPixel(x, y);
+ mBeingPopup->show(getMouseX(), getMouseY(), mHoverBeing);
- mHoverItem = floorItemManager->findByCoordinates(x / mMap->getTileWidth(),
- y / mMap->getTileHeight());
+ mHoverItem = actorSpriteManager->findItem(x / mMap->getTileWidth(),
+ y / mMap->getTileHeight());
updateCursorType();
}
@@ -532,12 +508,12 @@ void Viewport::updateCursorType()
switch (mHoverBeing->getType())
{
// NPCs
- case Being::NPC:
+ case ActorSprite::NPC:
gui->setCursorType(Gui::CURSOR_TALK);
break;
// Monsters
- case Being::MONSTER:
+ case ActorSprite::MONSTER:
gui->setCursorType(Gui::CURSOR_FIGHT);
break;
default:
@@ -559,7 +535,7 @@ void Viewport::updateCursorType()
void Viewport::toggleDebugPath()
{
mShowDebugPath++;
- if (mShowDebugPath > Map::MAP_SPECIAL)
+ if (mShowDebugPath > Map::MAP_SPECIAL3)
mShowDebugPath = Map::MAP_NORMAL;
if (mMap)
{
@@ -572,8 +548,26 @@ void Viewport::hideBeingPopup()
mBeingPopup->setVisible(false);
}
-void Viewport::clearHoverBeing(Being *being)
+void Viewport::event(Channels channel, const Mana::Event &event)
{
- if (mHoverBeing == being)
- mHoverBeing = 0;
+ if (channel == CHANNEL_ACTORSPRITE && event.getName() == EVENT_DESTROYED)
+ {
+ ActorSprite *actor = event.getActor("source");
+
+ if (mHoverBeing == actor)
+ mHoverBeing = 0;
+
+ if (mHoverItem == actor)
+ mHoverItem = 0;
+ }
+ else if (channel == CHANNEL_CONFIG &&
+ event.getName() == EVENT_CONFIGOPTIONCHANGED)
+ {
+ const std::string option = event.getString("option");
+ if (option == "ScrollLaziness" || option == "ScrollRadius")
+ {
+ mScrollLaziness = config.getIntValue("ScrollLaziness");
+ mScrollRadius = config.getIntValue("ScrollRadius");
+ }
+ }
}
diff --git a/src/gui/viewport.h b/src/gui/viewport.h
index 616b88be..93e36b5b 100644
--- a/src/gui/viewport.h
+++ b/src/gui/viewport.h
@@ -22,14 +22,14 @@
#ifndef VIEWPORT_H
#define VIEWPORT_H
-#include "beingmanager.h"
-#include "configlistener.h"
+#include "listener.h"
#include "position.h"
#include "gui/widgets/windowcontainer.h"
#include <guichan/mouselistener.hpp>
+class ActorSprite;
class Being;
class BeingPopup;
class FloorItem;
@@ -52,7 +52,7 @@ const int walkingMouseDelay = 500;
* coordinates.
*/
class Viewport : public WindowContainer, public gcn::MouseListener,
- public ConfigListener
+ public Mana::Listener
{
public:
/**
@@ -119,11 +119,6 @@ class Viewport : public WindowContainer, public gcn::MouseListener,
void closePopupMenu();
/**
- * A relevant config option changed.
- */
- void optionChanged(const std::string &name);
-
- /**
* Returns camera x offset in pixels.
*/
int getCameraX() const { return (int) mPixelViewX; }
@@ -158,11 +153,7 @@ class Viewport : public WindowContainer, public gcn::MouseListener,
*/
void hideBeingPopup();
- protected:
- friend class BeingManager;
-
- /// Clears the hovered being if it matches
- void clearHoverBeing(Being *being);
+ void event(Channels channel, const Mana::Event &event);
private:
/**
diff --git a/src/gui/widgets/avatarlistbox.cpp b/src/gui/widgets/avatarlistbox.cpp
index cc2c7d6a..60837ea1 100644
--- a/src/gui/widgets/avatarlistbox.cpp
+++ b/src/gui/widgets/avatarlistbox.cpp
@@ -24,10 +24,10 @@
#include "gui/gui.h"
#include "gui/palette.h"
-#include "gui/theme.h"
#include "resources/image.h"
#include "resources/resourcemanager.h"
+#include "resources/theme.h"
#include "utils/stringutils.h"
diff --git a/src/gui/widgets/browserbox.cpp b/src/gui/widgets/browserbox.cpp
index b74e4e0e..d553312b 100644
--- a/src/gui/widgets/browserbox.cpp
+++ b/src/gui/widgets/browserbox.cpp
@@ -24,10 +24,10 @@
#include "client.h"
-#include "gui/theme.h"
-
#include "gui/widgets/linkhandler.h"
+#include "resources/theme.h"
+
#include <guichan/graphics.hpp>
#include <guichan/font.hpp>
#include <guichan/cliprectangle.hpp>
diff --git a/src/gui/widgets/button.cpp b/src/gui/widgets/button.cpp
index 26e0ad90..3d3a07c2 100644
--- a/src/gui/widgets/button.cpp
+++ b/src/gui/widgets/button.cpp
@@ -25,9 +25,9 @@
#include "graphics.h"
#include "gui/palette.h"
-#include "gui/theme.h"
#include "resources/image.h"
+#include "resources/theme.h"
#include "utils/dtor.h"
@@ -125,8 +125,8 @@ Button::~Button()
void Button::updateAlpha()
{
- float alpha = std::max(config.getValue("guialpha", 0.8f),
- (double) Theme::instance()->getMinimumOpacity());
+ float alpha = std::max(config.getFloatValue("guialpha"),
+ Theme::instance()->getMinimumOpacity());
if (mAlpha != alpha)
{
diff --git a/src/gui/widgets/chattab.cpp b/src/gui/widgets/chattab.cpp
index bbb2b8bb..c86eb2ea 100644
--- a/src/gui/widgets/chattab.cpp
+++ b/src/gui/widgets/chattab.cpp
@@ -21,7 +21,8 @@
#include "gui/widgets/chattab.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
+#include "chatlog.h"
#include "commandhandler.h"
#include "configuration.h"
#include "localplayer.h"
@@ -51,7 +52,7 @@ ChatTab::ChatTab(const std::string &name) : Tab()
mTextOutput = new BrowserBox(BrowserBox::AUTO_WRAP);
mTextOutput->setOpaque(false);
- mTextOutput->setMaxRow((int) config.getValue("ChatLogLength", 0));
+ mTextOutput->setMaxRow((int) config.getIntValue("ChatLogLength"));
mTextOutput->setLinkHandler(chatWindow->mItemLinkHandler);
mTextOutput->setAlwaysUpdate(false);
@@ -73,7 +74,7 @@ ChatTab::~ChatTab()
delete mScrollArea;
}
-void ChatTab::chatLog(std::string line, int own, bool ignoreRecord)
+void ChatTab::chatLog(std::string line, Own own, bool ignoreRecord)
{
// Trim whitespace
trim(line);
@@ -182,6 +183,9 @@ void ChatTab::chatLog(std::string line, int own, bool ignoreRecord)
line = lineColor + timeStr.str() + tmp.nick + tmp.text;
+ if (config.getBoolValue("enableChatLog"))
+ saveToLogFile(line);
+
// We look if the Vertical Scroll Bar is set at the max before
// adding a row, otherwise the max will always be a row higher
// at comparison.
@@ -234,7 +238,7 @@ void ChatTab::chatInput(const std::string &message)
std::string temp = msg.substr(start + 1, end - start - 1);
- const ItemInfo itemInfo = ItemDB::get(temp);
+ const ItemInfo itemInfo = itemDb->get(temp);
if (itemInfo.getId() != 0)
{
msg.insert(end, "@@");
@@ -279,7 +283,13 @@ void ChatTab::handleCommand(const std::string &msg)
void ChatTab::getAutoCompleteList(std::vector<std::string> &names) const
{
- beingManager->getPlayerNPCNameLister()->getAutoCompleteList(names);
+ actorSpriteManager->getPlayerNPCNameLister()->getAutoCompleteList(names);
+}
+
+void ChatTab::saveToLogFile(std::string &msg)
+{
+ if (chatLogger)
+ chatLogger->log(msg);
}
void ChatTab::addRow(std::string &line)
diff --git a/src/gui/widgets/chattab.h b/src/gui/widgets/chattab.h
index c2dfa1c1..1e187f23 100644
--- a/src/gui/widgets/chattab.h
+++ b/src/gui/widgets/chattab.h
@@ -31,18 +31,6 @@ class BrowserBox;
class Recorder;
class ScrollArea;
-enum
-{
- BY_GM,
- BY_PLAYER,
- BY_OTHER,
- BY_SERVER,
- BY_CHANNEL,
- ACT_WHISPER, // getting whispered at
- ACT_IS, // equivalent to "/me" on IRC
- BY_LOGGER
-};
-
/**
* A tab for the chat window. This is special to ease chat handling.
*/
@@ -63,7 +51,8 @@ class ChatTab : public Tab, public AutoCompleteLister
* @param channelName which channel to send the message to.
* @param ignoreRecord should this not be recorded?
*/
- void chatLog(std::string line, int own = BY_SERVER, bool ignoreRecord = false);
+ void chatLog(std::string line, Own own = BY_SERVER,
+ bool ignoreRecord = false);
/**
* Adds the text to the message list
@@ -112,8 +101,11 @@ class ChatTab : public Tab, public AutoCompleteLister
const std::string &args)
{ return false; }
+
void getAutoCompleteList(std::vector<std::string> &names) const;
+ virtual void saveToLogFile(std::string &msg);
+
protected:
friend class ChatWindow;
friend class WhisperWindow;
diff --git a/src/gui/widgets/checkbox.cpp b/src/gui/widgets/checkbox.cpp
index f9002166..6a44132d 100644
--- a/src/gui/widgets/checkbox.cpp
+++ b/src/gui/widgets/checkbox.cpp
@@ -25,9 +25,9 @@
#include "graphics.h"
#include "gui/palette.h"
-#include "gui/theme.h"
#include "resources/image.h"
+#include "resources/theme.h"
int CheckBox::instances = 0;
float CheckBox::mAlpha = 1.0;
@@ -92,8 +92,8 @@ void CheckBox::draw(gcn::Graphics* graphics)
void CheckBox::updateAlpha()
{
- float alpha = std::max(config.getValue("guialpha", 0.8f),
- (double) Theme::instance()->getMinimumOpacity());
+ float alpha = std::max(config.getFloatValue("guialpha"),
+ Theme::instance()->getMinimumOpacity());
if (mAlpha != alpha)
{
diff --git a/src/gui/widgets/dropdown.cpp b/src/gui/widgets/dropdown.cpp
index 6c3417e7..ced9c38b 100644
--- a/src/gui/widgets/dropdown.cpp
+++ b/src/gui/widgets/dropdown.cpp
@@ -26,12 +26,12 @@
#include "gui/palette.h"
#include "gui/sdlinput.h"
-#include "gui/theme.h"
#include "gui/widgets/listbox.h"
#include "gui/widgets/scrollarea.h"
#include "resources/image.h"
+#include "resources/theme.h"
#include "utils/dtor.h"
@@ -110,8 +110,8 @@ DropDown::~DropDown()
void DropDown::updateAlpha()
{
- float alpha = std::max(config.getValue("guialpha", 0.8f),
- (double) Theme::instance()->getMinimumOpacity());
+ float alpha = std::max(config.getFloatValue("guialpha"),
+ Theme::instance()->getMinimumOpacity());
if (mAlpha != alpha)
{
diff --git a/src/gui/widgets/emoteshortcutcontainer.cpp b/src/gui/widgets/emoteshortcutcontainer.cpp
index 82fb9f8d..f7a6ca2b 100644
--- a/src/gui/widgets/emoteshortcutcontainer.cpp
+++ b/src/gui/widgets/emoteshortcutcontainer.cpp
@@ -20,11 +20,11 @@
#include "gui/widgets/emoteshortcutcontainer.h"
-#include "animatedsprite.h"
#include "configuration.h"
#include "emoteshortcut.h"
#include "graphics.h"
#include "inventory.h"
+#include "imagesprite.h"
#include "item.h"
#include "itemshortcut.h"
#include "keyboardconfig.h"
@@ -32,10 +32,10 @@
#include "log.h"
#include "gui/palette.h"
-#include "gui/theme.h"
#include "resources/emotedb.h"
#include "resources/image.h"
+#include "resources/theme.h"
#include "utils/dtor.h"
@@ -51,12 +51,12 @@ EmoteShortcutContainer::EmoteShortcutContainer():
mBackgroundImg = Theme::getImageFromTheme("item_shortcut_bgr.png");
- mBackgroundImg->setAlpha(config.getValue("guialpha", 0.8));
+ mBackgroundImg->setAlpha(config.getFloatValue("guialpha"));
// Setup emote sprites
for (int i = 0; i <= EmoteDB::getLast(); i++)
{
- mEmoteImg.push_back(EmoteDB::getAnimation(i));
+ mEmoteImg.push_back(EmoteDB::get(i)->sprite);
}
mMaxItems = EmoteDB::getLast() < MAX_ITEMS ? EmoteDB::getLast() : MAX_ITEMS;
@@ -72,9 +72,9 @@ EmoteShortcutContainer::~EmoteShortcutContainer()
void EmoteShortcutContainer::draw(gcn::Graphics *graphics)
{
- if (config.getValue("guialpha", 0.8) != mAlpha)
+ if (config.getFloatValue("guialpha") != mAlpha)
{
- mAlpha = config.getValue("guialpha", 0.8);
+ mAlpha = config.getFloatValue("guialpha");
mBackgroundImg->setAlpha(mAlpha);
}
@@ -106,7 +106,7 @@ void EmoteShortcutContainer::draw(gcn::Graphics *graphics)
if (mEmoteMoved)
{
// Draw the emote image being dragged by the cursor.
- const AnimatedSprite* sprite = mEmoteImg[mEmoteMoved - 1];
+ const ImageSprite* sprite = mEmoteImg[mEmoteMoved - 1];
if (sprite)
{
const int tPosX = mCursorPosX - (sprite->getWidth() / 2);
diff --git a/src/gui/widgets/emoteshortcutcontainer.h b/src/gui/widgets/emoteshortcutcontainer.h
index e90612b4..c3fb9d14 100644
--- a/src/gui/widgets/emoteshortcutcontainer.h
+++ b/src/gui/widgets/emoteshortcutcontainer.h
@@ -25,8 +25,7 @@
#include <vector>
-class AnimatedSprite;
-class Image;
+class ImageSprite;
/**
* An emote shortcut container. Used to quickly use emoticons.
@@ -67,7 +66,7 @@ class EmoteShortcutContainer : public ShortcutContainer
void mouseReleased(gcn::MouseEvent &event);
private:
- std::vector<const AnimatedSprite*> mEmoteImg;
+ std::vector<const ImageSprite*> mEmoteImg;
bool mEmoteClicked;
int mEmoteMoved;
diff --git a/src/gui/widgets/itemcontainer.cpp b/src/gui/widgets/itemcontainer.cpp
index fb5105b2..2e9b698d 100644
--- a/src/gui/widgets/itemcontainer.cpp
+++ b/src/gui/widgets/itemcontainer.cpp
@@ -32,7 +32,6 @@
#include "gui/outfitwindow.h"
#include "gui/palette.h"
#include "gui/sdlinput.h"
-#include "gui/theme.h"
#include "gui/viewport.h"
#include "net/net.h"
@@ -40,6 +39,7 @@
#include "resources/image.h"
#include "resources/iteminfo.h"
+#include "resources/theme.h"
#include "utils/stringutils.h"
@@ -263,7 +263,7 @@ void ItemContainer::mousePressed(gcn::MouseEvent &event)
mSelectionStatus = SEL_SELECTING;
itemShortcut->setItemSelected(item->getId());
- if (item->isEquipment())
+ if (item->getInfo().getEquippable())
outfitWindow->setItemSelected(item->getId());
}
else
@@ -305,7 +305,14 @@ void ItemContainer::mouseReleased(gcn::MouseEvent &event)
return;
if (index == mSelectedIndex || mSelectedIndex == -1)
return;
- Net::getInventoryHandler()->moveItem(mSelectedIndex, index);
+
+ Item *item = getSelectedItem();
+ {
+ Mana::Event event(EVENT_DOMOVE);
+ event.setItem("item", item);
+ event.setInt("newIndex", index);
+ event.trigger(CHANNEL_ITEM);
+ }
selectNone();
}
@@ -372,8 +379,11 @@ void ItemContainer::keyAction()
mSelectedIndex != -1 &&
mHighlightedIndex != -1)
{
- Net::getInventoryHandler()->moveItem(
- mSelectedIndex, mHighlightedIndex);
+ Item *item = getSelectedItem();
+ Mana::Event event(EVENT_DOMOVE);
+ event.setItem("item", item);
+ event.setInt("newIndex", mHighlightedIndex);
+ event.trigger(CHANNEL_ITEM);
setSelectedIndex(mHighlightedIndex);
}
// If the highlight is on an item then select it.
@@ -385,8 +395,11 @@ void ItemContainer::keyAction()
// If the highlight is on a blank space then move it.
else if (mSelectedIndex != -1)
{
- Net::getInventoryHandler()->moveItem(
- mSelectedIndex, mHighlightedIndex);
+ Item *item = getSelectedItem();
+ Mana::Event event(EVENT_DOMOVE);
+ event.setItem("item", item);
+ event.setInt("newIndex", mHighlightedIndex);
+ event.trigger(CHANNEL_ITEM);
selectNone();
}
}
diff --git a/src/gui/widgets/itemlinkhandler.cpp b/src/gui/widgets/itemlinkhandler.cpp
index b7341084..8477225f 100644
--- a/src/gui/widgets/itemlinkhandler.cpp
+++ b/src/gui/widgets/itemlinkhandler.cpp
@@ -49,7 +49,7 @@ void ItemLinkHandler::handleLink(const std::string &link)
if (id > 0)
{
- const ItemInfo &itemInfo = ItemDB::get(id);
+ const ItemInfo &itemInfo = itemDb->get(id);
mItemPopup->setItem(itemInfo, true);
if (mItemPopup->isVisible())
diff --git a/src/gui/widgets/itemshortcutcontainer.cpp b/src/gui/widgets/itemshortcutcontainer.cpp
index 682d71e5..fb4f558f 100644
--- a/src/gui/widgets/itemshortcutcontainer.cpp
+++ b/src/gui/widgets/itemshortcutcontainer.cpp
@@ -27,16 +27,16 @@
#include "item.h"
#include "itemshortcut.h"
#include "keyboardconfig.h"
-#include "localplayer.h"
+#include "playerinfo.h"
#include "gui/inventorywindow.h"
#include "gui/itempopup.h"
#include "gui/palette.h"
-#include "gui/theme.h"
#include "gui/viewport.h"
#include "resources/image.h"
#include "resources/iteminfo.h"
+#include "resources/theme.h"
#include "utils/stringutils.h"
@@ -53,7 +53,7 @@ ItemShortcutContainer::ItemShortcutContainer():
mBackgroundImg = Theme::getImageFromTheme("item_shortcut_bgr.png");
mMaxItems = itemShortcut->getItemCount();
- mBackgroundImg->setAlpha(config.getValue("guialpha", 0.8));
+ mBackgroundImg->setAlpha(config.getFloatValue("guialpha"));
mBoxHeight = mBackgroundImg->getHeight();
mBoxWidth = mBackgroundImg->getWidth();
@@ -67,9 +67,9 @@ ItemShortcutContainer::~ItemShortcutContainer()
void ItemShortcutContainer::draw(gcn::Graphics *graphics)
{
- if (config.getValue("guialpha", 0.8) != mAlpha)
+ if (config.getFloatValue("guialpha") != mAlpha)
{
- mAlpha = config.getValue("guialpha", 0.8);
+ mAlpha = config.getFloatValue("guialpha");
mBackgroundImg->setAlpha(mAlpha);
}
@@ -94,7 +94,7 @@ void ItemShortcutContainer::draw(gcn::Graphics *graphics)
continue;
Item *item =
- player_node->getInventory()->findItem(itemShortcut->getItem(i));
+ PlayerInfo::getInventory()->findItem(itemShortcut->getItem(i));
if (item)
{
@@ -152,7 +152,7 @@ void ItemShortcutContainer::mouseDragged(gcn::MouseEvent &event)
if (itemId < 0)
return;
- Item *item = player_node->getInventory()->findItem(itemId);
+ Item *item = PlayerInfo::getInventory()->findItem(itemId);
if (item)
{
@@ -188,7 +188,7 @@ void ItemShortcutContainer::mousePressed(gcn::MouseEvent &event)
}
else if (event.getButton() == gcn::MouseEvent::RIGHT)
{
- Item *item = player_node->getInventory()->
+ Item *item = PlayerInfo::getInventory()->
findItem(itemShortcut->getItem(index));
if (!item)
@@ -241,7 +241,7 @@ void ItemShortcutContainer::mouseMoved(gcn::MouseEvent &event)
if (itemId < 0)
return;
- Item *item = player_node->getInventory()->findItem(itemId);
+ Item *item = PlayerInfo::getInventory()->findItem(itemId);
if (item)
{
diff --git a/src/gui/widgets/label.cpp b/src/gui/widgets/label.cpp
index 4c607edf..939e9fc0 100644
--- a/src/gui/widgets/label.cpp
+++ b/src/gui/widgets/label.cpp
@@ -20,19 +20,20 @@
#include "gui/widgets/label.h"
-#include "gui/theme.h"
+#include "resources/theme.h"
Label::Label()
{
+ setForegroundColor(Theme::getThemeColor(Theme::TEXT));
}
Label::Label(const std::string &caption) :
gcn::Label(caption)
{
+ setForegroundColor(Theme::getThemeColor(Theme::TEXT));
}
void Label::draw(gcn::Graphics *graphics)
{
- setForegroundColor(Theme::getThemeColor(Theme::TEXT));
gcn::Label::draw(static_cast<gcn::Graphics*>(graphics));
}
diff --git a/src/gui/widgets/listbox.cpp b/src/gui/widgets/listbox.cpp
index ef591023..d79d8d0c 100644
--- a/src/gui/widgets/listbox.cpp
+++ b/src/gui/widgets/listbox.cpp
@@ -25,7 +25,8 @@
#include "gui/palette.h"
#include "gui/sdlinput.h"
-#include "gui/theme.h"
+
+#include "resources/theme.h"
#include <guichan/font.hpp>
#include <guichan/graphics.hpp>
@@ -45,8 +46,8 @@ ListBox::~ListBox()
void ListBox::updateAlpha()
{
- float alpha = std::max(config.getValue("guialpha", 0.8),
- (double) Theme::instance()->getMinimumOpacity());
+ float alpha = std::max(config.getFloatValue("guialpha"),
+ Theme::instance()->getMinimumOpacity());
if (mAlpha != alpha)
mAlpha = alpha;
diff --git a/src/gui/widgets/playerbox.cpp b/src/gui/widgets/playerbox.cpp
index 57cbec6f..559ac5a6 100644
--- a/src/gui/widgets/playerbox.cpp
+++ b/src/gui/widgets/playerbox.cpp
@@ -22,13 +22,12 @@
#include "gui/widgets/playerbox.h"
#include "animatedsprite.h"
+#include "being.h"
#include "configuration.h"
#include "graphics.h"
-#include "player.h"
-
-#include "gui/theme.h"
#include "resources/image.h"
+#include "resources/theme.h"
#include "utils/dtor.h"
@@ -36,8 +35,8 @@ int PlayerBox::instances = 0;
float PlayerBox::mAlpha = 1.0;
ImageRect PlayerBox::background;
-PlayerBox::PlayerBox(const Player *player):
- mPlayer(player)
+PlayerBox::PlayerBox(const Being *being):
+ mBeing(being)
{
setFrameSize(2);
@@ -57,7 +56,7 @@ PlayerBox::PlayerBox(const Player *player):
bggridx[x], bggridy[y],
bggridx[x + 1] - bggridx[x] + 1,
bggridy[y + 1] - bggridy[y] + 1);
- background.grid[a]->setAlpha(config.getValue("guialpha", 0.8));
+ background.grid[a]->setAlpha(config.getFloatValue("guialpha"));
a++;
}
}
@@ -72,7 +71,7 @@ PlayerBox::~PlayerBox()
{
instances--;
- mPlayer = 0;
+ mBeing = 0;
if (instances == 0)
{
@@ -82,20 +81,20 @@ PlayerBox::~PlayerBox()
void PlayerBox::draw(gcn::Graphics *graphics)
{
- if (mPlayer)
+ if (mBeing)
{
// Draw character
const int bs = getFrameSize();
- const int x = getWidth() / 2 + bs;
- const int y = getHeight() - bs;
- mPlayer->drawSpriteAt(static_cast<Graphics*>(graphics), x, y);
+ const int x = getWidth() / 2 + bs - 16;
+ const int y = getHeight() - bs - 32;
+ mBeing->drawSpriteAt(static_cast<Graphics*>(graphics), x, y);
}
- if (config.getValue("guialpha", 0.8) != mAlpha)
+ if (config.getFloatValue("guialpha") != mAlpha)
{
for (int a = 0; a < 9; a++)
{
- background.grid[a]->setAlpha(config.getValue("guialpha", 0.8));
+ background.grid[a]->setAlpha(config.getFloatValue("guialpha"));
}
}
}
diff --git a/src/gui/widgets/playerbox.h b/src/gui/widgets/playerbox.h
index 33b4a628..4ce6782d 100644
--- a/src/gui/widgets/playerbox.h
+++ b/src/gui/widgets/playerbox.h
@@ -24,8 +24,8 @@
#include <guichan/widgets/scrollarea.hpp>
+class Being;
class ImageRect;
-class Player;
/**
* A box showing a player character.
@@ -39,7 +39,7 @@ class PlayerBox : public gcn::ScrollArea
* Constructor. Takes the initial player character that this box should
* display, which defaults to <code>NULL</code>.
*/
- PlayerBox(const Player *player = 0);
+ PlayerBox(const Being *being = 0);
/**
* Destructor.
@@ -51,7 +51,8 @@ class PlayerBox : public gcn::ScrollArea
* player to <code>NULL</code> causes the box not to draw any
* character.
*/
- void setPlayer(const Player *player) { mPlayer = player; }
+ void setPlayer(const Being *being)
+ { mBeing = being; }
/**
* Draws the scroll area.
@@ -64,7 +65,7 @@ class PlayerBox : public gcn::ScrollArea
void drawFrame(gcn::Graphics *graphics);
private:
- const Player *mPlayer; /**< The character used for display */
+ const Being *mBeing; /**< The character used for display */
static float mAlpha;
static int instances;
diff --git a/src/gui/widgets/popup.cpp b/src/gui/widgets/popup.cpp
index 4dc58f72..e242bcf4 100644
--- a/src/gui/widgets/popup.cpp
+++ b/src/gui/widgets/popup.cpp
@@ -26,12 +26,12 @@
#include "graphics.h"
#include "log.h"
-#include "gui/theme.h"
#include "gui/viewport.h"
#include "gui/widgets/windowcontainer.h"
#include "resources/image.h"
+#include "resources/theme.h"
#include <guichan/exception.hpp>
diff --git a/src/gui/widgets/progressbar.cpp b/src/gui/widgets/progressbar.cpp
index 028658ab..15838952 100644
--- a/src/gui/widgets/progressbar.cpp
+++ b/src/gui/widgets/progressbar.cpp
@@ -27,9 +27,9 @@
#include "gui/gui.h"
#include "gui/palette.h"
-#include "gui/theme.h"
#include "resources/image.h"
+#include "resources/theme.h"
#include "utils/dtor.h"
@@ -123,8 +123,8 @@ void ProgressBar::logic()
void ProgressBar::updateAlpha()
{
- float alpha = std::max(config.getValue("guialpha", 0.8),
- (double) Theme::instance()->getMinimumOpacity());
+ float alpha = std::max(config.getFloatValue("guialpha"),
+ Theme::instance()->getMinimumOpacity());
if (mAlpha != alpha)
{
diff --git a/src/gui/widgets/progressindicator.cpp b/src/gui/widgets/progressindicator.cpp
index 6bda617f..91b40751 100644
--- a/src/gui/widgets/progressindicator.cpp
+++ b/src/gui/widgets/progressindicator.cpp
@@ -23,11 +23,10 @@
#include "graphics.h"
#include "simpleanimation.h"
-#include "gui/theme.h"
-
#include "resources/animation.h"
#include "resources/imageset.h"
#include "resources/resourcemanager.h"
+#include "resources/theme.h"
#include <guichan/widgets/label.hpp>
diff --git a/src/gui/widgets/radiobutton.cpp b/src/gui/widgets/radiobutton.cpp
index 96797225..1296feb6 100644
--- a/src/gui/widgets/radiobutton.cpp
+++ b/src/gui/widgets/radiobutton.cpp
@@ -24,9 +24,8 @@
#include "configuration.h"
#include "graphics.h"
-#include "gui/theme.h"
-
#include "resources/image.h"
+#include "resources/theme.h"
int RadioButton::instances = 0;
float RadioButton::mAlpha = 1.0;
@@ -78,9 +77,9 @@ RadioButton::~RadioButton()
void RadioButton::drawBox(gcn::Graphics* graphics)
{
- if (config.getValue("guialpha", 0.8) != mAlpha)
+ if (config.getFloatValue("guialpha") != mAlpha)
{
- mAlpha = config.getValue("guialpha", 0.8);
+ mAlpha = config.getFloatValue("guialpha");
radioNormal->setAlpha(mAlpha);
radioChecked->setAlpha(mAlpha);
radioDisabled->setAlpha(mAlpha);
diff --git a/src/gui/widgets/resizegrip.cpp b/src/gui/widgets/resizegrip.cpp
index f0c3691c..7850643f 100644
--- a/src/gui/widgets/resizegrip.cpp
+++ b/src/gui/widgets/resizegrip.cpp
@@ -24,9 +24,8 @@
#include "configuration.h"
#include "graphics.h"
-#include "gui/theme.h"
-
#include "resources/image.h"
+#include "resources/theme.h"
#include <guichan/graphics.hpp>
@@ -59,9 +58,9 @@ ResizeGrip::~ResizeGrip()
void ResizeGrip::draw(gcn::Graphics *graphics)
{
- if (config.getValue("guialpha", 0.8) != mAlpha)
+ if (config.getFloatValue("guialpha") != mAlpha)
{
- mAlpha = config.getValue("guialpha", 0.8);
+ mAlpha = config.getFloatValue("guialpha");
gripImage->setAlpha(mAlpha);
}
diff --git a/src/gui/widgets/scrollarea.cpp b/src/gui/widgets/scrollarea.cpp
index 0c7f4d7d..7d42883a 100644
--- a/src/gui/widgets/scrollarea.cpp
+++ b/src/gui/widgets/scrollarea.cpp
@@ -24,9 +24,8 @@
#include "configuration.h"
#include "graphics.h"
-#include "gui/theme.h"
-
#include "resources/image.h"
+#include "resources/theme.h"
#include "utils/dtor.h"
@@ -108,7 +107,7 @@ void ScrollArea::init()
bggridx[x], bggridy[y],
bggridx[x + 1] - bggridx[x] + 1,
bggridy[y + 1] - bggridy[y] + 1);
- background.grid[a]->setAlpha(config.getValue("guialpha", 0.8));
+ background.grid[a]->setAlpha(config.getFloatValue("guialpha"));
a++;
}
}
@@ -135,8 +134,8 @@ void ScrollArea::init()
vsgridx[x], vsgridy[y],
vsgridx[x + 1] - vsgridx[x],
vsgridy[y + 1] - vsgridy[y]);
- vMarker.grid[a]->setAlpha(config.getValue("guialpha", 0.8));
- vMarkerHi.grid[a]->setAlpha(config.getValue("guialpha", 0.8));
+ vMarker.grid[a]->setAlpha(config.getFloatValue("guialpha"));
+ vMarkerHi.grid[a]->setAlpha(config.getFloatValue("guialpha"));
a++;
}
}
@@ -213,8 +212,8 @@ void ScrollArea::logic()
void ScrollArea::updateAlpha()
{
- float alpha = std::max(config.getValue("guialpha", 0.8),
- (double) Theme::instance()->getMinimumOpacity());
+ float alpha = std::max(config.getFloatValue("guialpha"),
+ Theme::instance()->getMinimumOpacity());
if (alpha != mAlpha)
{
diff --git a/src/gui/widgets/shoplistbox.cpp b/src/gui/widgets/shoplistbox.cpp
index a5033570..ae7d4d9b 100644
--- a/src/gui/widgets/shoplistbox.cpp
+++ b/src/gui/widgets/shoplistbox.cpp
@@ -26,12 +26,12 @@
#include "shopitem.h"
#include "gui/itempopup.h"
-#include "gui/theme.h"
#include "gui/viewport.h"
#include "gui/widgets/shopitems.h"
#include "resources/image.h"
+#include "resources/theme.h"
#include <guichan/font.hpp>
#include <guichan/listmodel.hpp>
@@ -76,8 +76,8 @@ void ShopListBox::draw(gcn::Graphics *gcnGraphics)
if (!mListModel)
return;
- if (config.getValue("guialpha", 0.8) != mAlpha)
- mAlpha = config.getValue("guialpha", 0.8);
+ if (config.getFloatValue("guialpha") != mAlpha)
+ mAlpha = config.getFloatValue("guialpha");
int alpha = (int)(mAlpha * 255.0f);
const gcn::Color* highlightColor =
diff --git a/src/gui/widgets/slider.cpp b/src/gui/widgets/slider.cpp
index 6a9a5c7c..c044d55d 100644
--- a/src/gui/widgets/slider.cpp
+++ b/src/gui/widgets/slider.cpp
@@ -24,9 +24,8 @@
#include "configuration.h"
#include "graphics.h"
-#include "gui/theme.h"
-
#include "resources/image.h"
+#include "resources/theme.h"
Image *Slider::hStart, *Slider::hMid, *Slider::hEnd, *Slider::hGrip;
Image *Slider::vStart, *Slider::vMid, *Slider::vEnd, *Slider::vGrip;
@@ -126,8 +125,8 @@ void Slider::init()
void Slider::updateAlpha()
{
- float alpha = std::max(config.getValue("guialpha", 0.8),
- (double) Theme::instance()->getMinimumOpacity());
+ float alpha = std::max(config.getFloatValue("guialpha"),
+ Theme::instance()->getMinimumOpacity());
if (alpha != mAlpha)
{
diff --git a/src/gui/widgets/tab.cpp b/src/gui/widgets/tab.cpp
index 2ab126dd..10a51afe 100644
--- a/src/gui/widgets/tab.cpp
+++ b/src/gui/widgets/tab.cpp
@@ -25,11 +25,11 @@
#include "graphics.h"
#include "gui/palette.h"
-#include "gui/theme.h"
#include "gui/widgets/tabbedarea.h"
#include "resources/image.h"
+#include "resources/theme.h"
#include "utils/dtor.h"
@@ -118,8 +118,8 @@ void Tab::init()
void Tab::updateAlpha()
{
- float alpha = std::max(config.getValue("guialpha", 0.8),
- (double) Theme::instance()->getMinimumOpacity());
+ float alpha = std::max(config.getFloatValue("guialpha"),
+ Theme::instance()->getMinimumOpacity());
// TODO We don't need to do this for every tab on every draw
// Maybe use a config listener to do it as the value changes.
diff --git a/src/gui/widgets/table.cpp b/src/gui/widgets/table.cpp
index f0887ed7..3d8680ce 100644
--- a/src/gui/widgets/table.cpp
+++ b/src/gui/widgets/table.cpp
@@ -24,7 +24,8 @@
#include "configuration.h"
#include "gui/sdlinput.h"
-#include "gui/theme.h"
+
+#include "resources/theme.h"
#include "utils/dtor.h"
@@ -270,8 +271,8 @@ void GuiTable::draw(gcn::Graphics* graphics)
if (!mModel)
return;
- if (config.getValue("guialpha", 0.8) != mAlpha)
- mAlpha = config.getValue("guialpha", 0.8);
+ if (config.getFloatValue("guialpha") != mAlpha)
+ mAlpha = config.getFloatValue("guialpha");
if (mOpaque)
{
diff --git a/src/gui/widgets/textbox.cpp b/src/gui/widgets/textbox.cpp
index f248f35d..5b112e54 100644
--- a/src/gui/widgets/textbox.cpp
+++ b/src/gui/widgets/textbox.cpp
@@ -21,7 +21,7 @@
#include "gui/widgets/textbox.h"
-#include "gui/theme.h"
+#include "resources/theme.h"
#include <guichan/font.hpp>
diff --git a/src/gui/widgets/textfield.cpp b/src/gui/widgets/textfield.cpp
index 4989ae83..d06df376 100644
--- a/src/gui/widgets/textfield.cpp
+++ b/src/gui/widgets/textfield.cpp
@@ -21,15 +21,14 @@
#include "gui/widgets/textfield.h"
-#include "beingmanager.h"
#include "configuration.h"
#include "graphics.h"
#include "gui/palette.h"
#include "gui/sdlinput.h"
-#include "gui/theme.h"
#include "resources/image.h"
+#include "resources/theme.h"
#include "utils/copynpaste.h"
#include "utils/dtor.h"
@@ -69,7 +68,7 @@ TextField::TextField(const std::string &text, bool loseFocusOnTab):
gridx[x], gridy[y],
gridx[x + 1] - gridx[x] + 1,
gridy[y + 1] - gridy[y] + 1);
- skin.grid[a]->setAlpha(config.getValue("guialpha", 0.8));
+ skin.grid[a]->setAlpha(config.getFloatValue("guialpha"));
a++;
}
}
@@ -90,8 +89,8 @@ TextField::~TextField()
void TextField::updateAlpha()
{
- float alpha = std::max(config.getValue("guialpha", 0.8),
- (double) Theme::instance()->getMinimumOpacity());
+ float alpha = std::max(config.getFloatValue("guialpha"),
+ Theme::instance()->getMinimumOpacity());
if (alpha != mAlpha)
{
diff --git a/src/gui/widgets/textpreview.cpp b/src/gui/widgets/textpreview.cpp
index 10426d7c..869ebd35 100644
--- a/src/gui/widgets/textpreview.cpp
+++ b/src/gui/widgets/textpreview.cpp
@@ -45,8 +45,8 @@ TextPreview::TextPreview(const std::string &text):
void TextPreview::draw(gcn::Graphics* graphics)
{
- if (config.getValue("guialpha", 0.8) != mAlpha)
- mAlpha = config.getValue("guialpha", 0.8);
+ if (config.getFloatValue("guialpha") != mAlpha)
+ mAlpha = config.getFloatValue("guialpha");
int alpha = (int) (mAlpha * 255.0f);
diff --git a/src/gui/widgets/whispertab.cpp b/src/gui/widgets/whispertab.cpp
index 7542e251..864f1f51 100644
--- a/src/gui/widgets/whispertab.cpp
+++ b/src/gui/widgets/whispertab.cpp
@@ -21,14 +21,15 @@
#include "whispertab.h"
+#include "chatlog.h"
#include "commandhandler.h"
#include "localplayer.h"
-#include "gui/theme.h"
-
#include "net/chathandler.h"
#include "net/net.h"
+#include "resources/theme.h"
+
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -115,3 +116,9 @@ bool WhisperTab::handleCommand(const std::string &type,
return true;
}
+
+void WhisperTab::saveToLogFile(std::string &msg)
+{
+ if (chatLogger)
+ chatLogger->log(getNick(), msg);
+}
diff --git a/src/gui/widgets/whispertab.h b/src/gui/widgets/whispertab.h
index 447a8fe0..20a07449 100644
--- a/src/gui/widgets/whispertab.h
+++ b/src/gui/widgets/whispertab.h
@@ -39,6 +39,8 @@ class WhisperTab : public ChatTab
bool handleCommand(const std::string &type,
const std::string &args);
+ void saveToLogFile(std::string &msg);
+
protected:
friend class ChatWindow;
diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp
index 118ee7c0..aa8e6df3 100644
--- a/src/gui/widgets/window.cpp
+++ b/src/gui/widgets/window.cpp
@@ -26,7 +26,6 @@
#include "gui/gui.h"
#include "gui/palette.h"
-#include "gui/theme.h"
#include "gui/viewport.h"
#include "gui/widgets/layout.h"
@@ -34,6 +33,7 @@
#include "gui/widgets/windowcontainer.h"
#include "resources/image.h"
+#include "resources/theme.h"
#include <guichan/exception.hpp>
#include <guichan/focushandler.hpp>
@@ -697,8 +697,8 @@ int Window::getResizeHandles(gcn::MouseEvent &event)
int Window::getGuiAlpha()
{
- float alpha = std::max(config.getValue("guialpha", 0.8),
- (double) Theme::instance()->getMinimumOpacity());
+ float alpha = std::max(config.getFloatValue("guialpha"),
+ Theme::instance()->getMinimumOpacity());
return (int) (alpha * 255.0f);
}
diff --git a/src/gui/windowmenu.cpp b/src/gui/windowmenu.cpp
index 4b18de89..542ab4a0 100644
--- a/src/gui/windowmenu.cpp
+++ b/src/gui/windowmenu.cpp
@@ -58,7 +58,7 @@ WindowMenu::WindowMenu():
if (skillDialog->hasSkills())
addButton(N_("Skills"), x, h);
- if (specialsWindow->hasSpecials())
+ // if (specialsWindow->hasSpecials())
addButton(N_("Specials"), x, h);
addButton(N_("Social"), x, h);
diff --git a/src/gui/worldselectdialog.cpp b/src/gui/worldselectdialog.cpp
index 3219b83d..3207f394 100644
--- a/src/gui/worldselectdialog.cpp
+++ b/src/gui/worldselectdialog.cpp
@@ -137,3 +137,13 @@ void WorldSelectDialog::keyPressed(gcn::KeyEvent &keyEvent)
action(gcn::ActionEvent(NULL, mChooseWorld->getActionEventId()));
}
}
+
+void WorldSelectDialog::mouseClicked(gcn::MouseEvent &mouseEvent)
+{
+ if (mouseEvent.getSource() == mWorldList &&
+ isDoubleClick(mWorldList->getSelected()))
+ {
+ action(gcn::ActionEvent(mChooseWorld,
+ mChooseWorld->getActionEventId()));
+ }
+}
diff --git a/src/gui/worldselectdialog.h b/src/gui/worldselectdialog.h
index 2d4f0189..b51110b4 100644
--- a/src/gui/worldselectdialog.h
+++ b/src/gui/worldselectdialog.h
@@ -62,6 +62,8 @@ class WorldSelectDialog : public Window, public gcn::ActionListener,
void keyPressed(gcn::KeyEvent &keyEvent);
+ void mouseClicked(gcn::MouseEvent &mouseEvent);
+
private:
WorldListModel *mWorldListModel;
gcn::ListBox *mWorldList;
diff --git a/src/guild.cpp b/src/guild.cpp
index 029cde7f..00d8614e 100644
--- a/src/guild.cpp
+++ b/src/guild.cpp
@@ -21,8 +21,7 @@
#include "guild.h"
-#include "beingmanager.h"
-#include "player.h"
+#include "actorspritemanager.h"
GuildMember::GuildMember(Guild *guild, int id, const std::string &name):
Avatar(name), mId(id), mGuild(guild)
@@ -150,10 +149,8 @@ void Guild::removeFromMembers()
itr_end = mMembers.end();
while(itr != itr_end)
{
- Being *b = beingManager->findBeing((*itr)->getID());
-
- if (b->getType() == Being::PLAYER)
- static_cast<Player*>(b)->removeGuild(getId());
+ Being *b = actorSpriteManager->findBeing((*itr)->getID());
+ b->removeGuild(getId());
++itr;
}
}
diff --git a/src/imageparticle.cpp b/src/imageparticle.cpp
index 8ef2cce9..b7d92277 100644
--- a/src/imageparticle.cpp
+++ b/src/imageparticle.cpp
@@ -39,23 +39,21 @@ ImageParticle::~ImageParticle()
mImage->decRef();
}
-void ImageParticle::draw(Graphics *graphics, int offsetX, int offsetY) const
+bool ImageParticle::draw(Graphics *graphics, int offsetX, int offsetY) const
{
- if (!mAlive || !mImage)
- return;
+ if (!isAlive() || !mImage)
+ return false;
int screenX = (int) mPos.x + offsetX - mImage->getWidth() / 2;
int screenY = (int) mPos.y - (int)mPos.z + offsetY - mImage->getHeight()/2;
// Check if on screen
- if (screenX + mImage->getWidth() < 0 ||
- screenX > graphics->getWidth() ||
- screenY + mImage->getHeight() < 0 ||
- screenY > graphics->getHeight())
- {
- return;
- }
+ if (screenX + mImage->getWidth() < 0
+ || screenX > graphics->getWidth()
+ || screenY + mImage->getHeight() < 0
+ || screenY > graphics->getHeight())
+ return false;
mImage->setAlpha(getCurrentAlpha());
- graphics->drawImage(mImage, screenX, screenY);
+ return graphics->drawImage(mImage, screenX, screenY);
}
diff --git a/src/imageparticle.h b/src/imageparticle.h
index bc32400d..23909fa3 100644
--- a/src/imageparticle.h
+++ b/src/imageparticle.h
@@ -49,7 +49,7 @@ class ImageParticle : public Particle
/**
* Draws the particle image
*/
- virtual void draw(Graphics *graphics, int offsetX, int offsetY) const;
+ virtual bool draw(Graphics *graphics, int offsetX, int offsetY) const;
protected:
Image *mImage; /**< The image used for this particle. */
diff --git a/src/imagesprite.cpp b/src/imagesprite.cpp
new file mode 100644
index 00000000..504aba96
--- /dev/null
+++ b/src/imagesprite.cpp
@@ -0,0 +1,44 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "imagesprite.h"
+
+#include "graphics.h"
+
+ImageSprite::ImageSprite(Image *image):
+ mImage(image)
+{
+ mAlpha = mImage->getAlpha();
+
+ mImage->incRef();
+}
+
+ImageSprite::~ImageSprite()
+{
+ mImage->decRef();
+}
+
+bool ImageSprite::draw(Graphics* graphics, int posX, int posY) const
+{
+ if (mImage->getAlpha() != mAlpha)
+ mImage->setAlpha(mAlpha);
+
+ return graphics->drawImage(mImage, posX, posY);
+}
diff --git a/src/imagesprite.h b/src/imagesprite.h
new file mode 100644
index 00000000..3a3678d9
--- /dev/null
+++ b/src/imagesprite.h
@@ -0,0 +1,73 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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 IMAGESPRITE_H
+#define IMAGESPRITE_H
+
+#include "sprite.h"
+
+#include "resources/image.h"
+
+class Graphics;
+
+class ImageSprite : public Sprite
+{
+public:
+ ImageSprite(Image *image);
+
+ ~ImageSprite();
+
+ bool reset()
+ { return false; }
+
+ bool play(std::string action)
+ { return false; }
+
+ bool update(int time)
+ { return false; }
+
+ bool draw(Graphics* graphics, int posX, int posY) const;
+
+ int getWidth() const
+ { return mImage->getWidth(); }
+
+ int getHeight() const
+ { return mImage->getHeight(); }
+
+ const Image* getImage() const
+ { return mImage; }
+
+ virtual bool setDirection(SpriteDirection direction)
+ { return false; }
+
+ int getNumberOfLayers()
+ { return 1; }
+
+ size_t getCurrentFrame() const
+ { return 0; }
+
+ size_t getFrameCount() const
+ { return 1; }
+
+private:
+ Image *mImage;
+};
+
+#endif // IMAGESPRITE_H
diff --git a/src/inventory.cpp b/src/inventory.cpp
index a6038c85..3c556f01 100644
--- a/src/inventory.cpp
+++ b/src/inventory.cpp
@@ -36,7 +36,7 @@ struct SlotUsed : public std::unary_function<Item*, bool>
}
};
-Inventory::Inventory(int type, int size):
+Inventory::Inventory(Type type, int size):
mType(type),
mSize(size == -1 ? Net::getInventoryHandler()->getSize(type) : size),
mUsed(0)
@@ -70,12 +70,12 @@ Item *Inventory::findItem(int itemId) const
return NULL;
}
-void Inventory::addItem(int id, int quantity, bool equipment)
+void Inventory::addItem(int id, int quantity)
{
- setItem(getFreeSlot(), id, quantity, equipment);
+ setItem(getFreeSlot(), id, quantity);
}
-void Inventory::setItem(int index, int id, int quantity, bool equipment)
+void Inventory::setItem(int index, int id, int quantity)
{
if (index < 0 || index >= mSize)
{
@@ -85,7 +85,7 @@ void Inventory::setItem(int index, int id, int quantity, bool equipment)
if (!mItems[index] && id > 0)
{
- Item *item = new Item(id, quantity, equipment);
+ Item *item = new Item(id, quantity);
item->setInvIndex(index);
mItems[index] = item;
mUsed++;
@@ -95,7 +95,6 @@ void Inventory::setItem(int index, int id, int quantity, bool equipment)
{
mItems[index]->setId(id);
mItems[index]->setQuantity(quantity);
- mItems[index]->setEquipment(equipment);
}
else if (mItems[index])
{
diff --git a/src/inventory.h b/src/inventory.h
index 0ee516d6..7af9f160 100644
--- a/src/inventory.h
+++ b/src/inventory.h
@@ -43,7 +43,7 @@ class Inventory
public:
static const int NO_SLOT_INDEX = -1; /**< Slot has no index. */
- enum {
+ enum Type {
INVENTORY,
STORAGE,
TRADE,
@@ -56,7 +56,7 @@ class Inventory
*
* @param size the number of items that fit in the inventory
*/
- Inventory(int type, int size = -1);
+ Inventory(Type type, int size = -1);
/**
* Destructor.
@@ -84,12 +84,12 @@ class Inventory
/**
* Adds a new item in a free slot.
*/
- void addItem(int id, int quantity, bool equipment = false);
+ void addItem(int id, int quantity);
/**
* Sets the item at the given position.
*/
- void setItem(int index, int id, int quantity, bool equipment = false);
+ void setItem(int index, int id, int quantity);
/**
* Remove a item from the inventory.
@@ -143,7 +143,7 @@ class Inventory
void distributeSlotsChangedEvent();
- int mType;
+ Type mType;
Item **mItems; /**< The holder of items */
int mSize; /**< The max number of inventory items */
int mUsed; /**< THe number of slots in use */
diff --git a/src/item.cpp b/src/item.cpp
index b434387e..fee7e86f 100644
--- a/src/item.cpp
+++ b/src/item.cpp
@@ -21,18 +21,19 @@
#include "item.h"
-#include "gui/theme.h"
+#include "configuration.h"
+#include "event.h"
#include "resources/image.h"
#include "resources/iteminfo.h"
#include "resources/resourcemanager.h"
-#include "configuration.h"
+#include "resources/theme.h"
-Item::Item(int id, int quantity, bool equipment, bool equipped):
+Item::Item(int id, int quantity, bool equipped):
mImage(0),
mDrawImage(0),
mQuantity(quantity),
- mEquipment(equipment), mEquipped(equipped), mInEquipment(false)
+ mEquipped(equipped), mInEquipment(false)
{
setId(id);
}
@@ -47,9 +48,6 @@ void Item::setId(int id)
{
mId = id;
- // Types 0 and 1 are not equippable items.
- mEquipment = id && getInfo().getType() >= 2;
-
// Load the associated image
if (mImage)
mImage->decRef();
@@ -58,8 +56,9 @@ void Item::setId(int id)
mDrawImage->decRef();
ResourceManager *resman = ResourceManager::getInstance();
- std::string imagePath = paths.getValue("itemIcons", "graphics/items/")
- + getInfo().getImageName();
+ SpriteDisplay display = getInfo().getDisplay();
+ std::string imagePath = paths.getStringValue("itemIcons")
+ + display.image;
mImage = resman->getImage(imagePath);
mDrawImage = resman->getImage(imagePath);
@@ -72,3 +71,23 @@ void Item::setId(int id)
paths.getValue("unknownItemFile",
"unknown-item.png"));
}
+
+void Item::doEvent(Events eventName)
+{
+ Mana::Event event(eventName);
+ event.setItem("item", this);
+ event.trigger(CHANNEL_ITEM);
+}
+
+void Item::doEvent(Events eventName, int amount)
+{
+ Mana::Event event(eventName);
+ event.setItem("item", this);
+ event.setInt("amount", amount);
+ event.trigger(CHANNEL_ITEM);
+}
+
+bool Item::isEquippable() const
+{
+ return getInfo().getEquippable();
+}
diff --git a/src/item.h b/src/item.h
index 17be8f04..24ee2fc5 100644
--- a/src/item.h
+++ b/src/item.h
@@ -22,6 +22,8 @@
#ifndef ITEM_H
#define ITEM_H
+#include "event.h"
+
#include "resources/itemdb.h"
class Image;
@@ -35,8 +37,7 @@ class Item
/**
* Constructor.
*/
- Item(int id = -1, int quantity = 0, bool equipment = false,
- bool equipped = false);
+ Item(int id = -1, int quantity = 0, bool equipped = false);
/**
* Destructor.
@@ -79,16 +80,6 @@ class Item
int getQuantity() const { return mQuantity; }
/**
- * Sets whether this item is considered equipment.
- */
- void setEquipment(bool equipment) { mEquipment = equipment; }
-
- /**
- * Returns whether this item is considered equipment.
- */
- bool isEquipment() const { return mEquipment; }
-
- /**
* Sets whether this item is equipped.
*/
void setEquipped(bool equipped) { mEquipped = equipped; }
@@ -109,6 +100,11 @@ class Item
bool isInEquipment() const { return mInEquipment; }
/**
+ * Returns whether this item is equippable.
+ */
+ bool isEquippable() const;
+
+ /**
* Sets the inventory index of this item.
*/
void setInvIndex(int index) { mInvIndex = index; }
@@ -118,20 +114,24 @@ class Item
*/
int getInvIndex() const { return mInvIndex; }
+ void doEvent(Events eventName);
+
+ void doEvent(Events eventName, int amount);
+
/**
* Returns information about this item type.
*/
- const ItemInfo &getInfo() const { return ItemDB::get(mId); }
+ const ItemInfo &getInfo() const { return itemDb->get(mId); }
protected:
int mId; /**< Item type id. */
Image *mImage; /**< Item image. */
Image *mDrawImage; /**< Draw image. */
int mQuantity; /**< Number of items. */
- bool mEquipment; /**< Item is equipment. */
bool mEquipped; /**< Item is equipped. */
bool mInEquipment; /**< Item is in equipment */
int mInvIndex; /**< Inventory index. */
+
};
#endif
diff --git a/src/itemshortcut.cpp b/src/itemshortcut.cpp
index 88b04347..0e5abef8 100644
--- a/src/itemshortcut.cpp
+++ b/src/itemshortcut.cpp
@@ -20,13 +20,15 @@
*/
#include "configuration.h"
+#include "event.h"
#include "inventory.h"
#include "item.h"
#include "itemshortcut.h"
-#include "localplayer.h"
+#include "playerinfo.h"
#include "net/inventoryhandler.h"
-#include "net/net.h"
+
+#include "resources/iteminfo.h"
#include "utils/stringutils.h"
@@ -66,19 +68,19 @@ void ItemShortcut::useItem(int index)
{
if (mItems[index])
{
- Item *item = player_node->getInventory()->findItem(mItems[index]);
+ Item *item = PlayerInfo::getInventory()->findItem(mItems[index]);
if (item && item->getQuantity())
{
- if (item->isEquipment())
+ if (item->getInfo().getEquippable())
{
if (item->isEquipped())
- Net::getInventoryHandler()->unequipItem(item);
+ item->doEvent(EVENT_DOUNEQUIP);
else
- Net::getInventoryHandler()->equipItem(item);
+ item->doEvent(EVENT_DOEQUIP);
}
else
{
- Net::getInventoryHandler()->useItem(item);
+ item->doEvent(EVENT_DOUSE);
}
}
}
diff --git a/src/joystick.cpp b/src/joystick.cpp
index f440c61f..9864a12b 100644
--- a/src/joystick.cpp
+++ b/src/joystick.cpp
@@ -61,11 +61,11 @@ Joystick::Joystick(int no):
logger->log("Hats: %i", SDL_JoystickNumHats(mJoystick));
logger->log("Buttons: %i", SDL_JoystickNumButtons(mJoystick));
- mEnabled = (int) config.getValue("joystickEnabled", 0) != 0;
- mUpTolerance = (int) config.getValue("upTolerance", 100);
- mDownTolerance = (int) config.getValue("downTolerance", 100);
- mLeftTolerance = (int) config.getValue("leftTolerance", 100);
- mRightTolerance = (int) config.getValue("rightTolerance", 100);
+ mEnabled = config.getBoolValue("joystickEnabled");
+ mUpTolerance = config.getIntValue("upTolerance");
+ mDownTolerance = config.getIntValue("downTolerance");
+ mLeftTolerance = config.getIntValue("leftTolerance");
+ mRightTolerance = config.getIntValue("rightTolerance");
}
Joystick::~Joystick()
diff --git a/src/keyboardconfig.cpp b/src/keyboardconfig.cpp
index 65143d69..ec2bf6ed 100644
--- a/src/keyboardconfig.cpp
+++ b/src/keyboardconfig.cpp
@@ -20,7 +20,6 @@
#include "configuration.h"
#include "keyboardconfig.h"
-#include "log.h"
#include "gui/sdlinput.h"
#include "gui/setup_keyboard.h"
diff --git a/src/listener.cpp b/src/listener.cpp
new file mode 100644
index 00000000..f9acac95
--- /dev/null
+++ b/src/listener.cpp
@@ -0,0 +1,43 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "listener.h"
+
+#include "event.h"
+
+namespace Mana
+{
+
+Listener::~Listener()
+{
+ Event::remove(this);
+}
+
+void Listener::listen(Channels channel)
+{
+ Event::bind(this, channel);
+}
+
+void Listener::ignore(Channels channel)
+{
+ Event::unbind(this, channel);
+}
+
+} // namespace Mana
diff --git a/src/net/manaserv/stats.h b/src/listener.h
index 63349095..84b613eb 100644
--- a/src/net/manaserv/stats.h
+++ b/src/listener.h
@@ -18,24 +18,28 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef NET_MANASERV_STATS_H
-#define NET_MANASERV_STATS_H
+#ifndef LISTENER_H
+#define LISTENER_H
+
+#include "event.h"
#include <string>
-#include <vector>
-namespace ManaServ {
-namespace Stats {
- void load();
+namespace Mana
+{
+
+class Listener
+{
+public:
+ virtual ~Listener();
- void unload();
+ void listen(Channels channel);
- void informItemDB();
+ void ignore(Channels channel);
- void informStatusWindow();
+ virtual void event(Channels channel, const Event &event) = 0;
+};
- std::vector<std::string> getLabelVector();
-} // namespace Stats
-} // namespace ManaServ
+} // namespace Mana
-#endif // NET_MANASERV_STATS_H
+#endif
diff --git a/src/localplayer.cpp b/src/localplayer.cpp
index 7826596c..81fb1cee 100644
--- a/src/localplayer.cpp
+++ b/src/localplayer.cpp
@@ -23,30 +23,19 @@
#include "client.h"
#include "configuration.h"
-#include "effectmanager.h"
-#include "equipment.h"
+#include "event.h"
#include "flooritem.h"
#include "graphics.h"
#include "guild.h"
-#include "inventory.h"
#include "item.h"
-#include "log.h"
#include "map.h"
-#include "monster.h"
#include "particle.h"
+#include "playerinfo.h"
#include "simpleanimation.h"
#include "sound.h"
-#include "statuseffect.h"
-#include "text.h"
#include "gui/gui.h"
-#include "gui/inventorywindow.h"
-#include "gui/ministatus.h"
#include "gui/okdialog.h"
-#include "gui/skilldialog.h"
-#include "gui/statuswindow.h"
-#include "gui/theme.h"
-#include "gui/userpalette.h"
#include "gui/widgets/chattab.h"
@@ -61,9 +50,8 @@
#include "resources/animation.h"
#include "resources/imageset.h"
-#include "resources/itemdb.h"
#include "resources/iteminfo.h"
-#include "resources/resourcemanager.h"
+#include "resources/userpalette.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -80,62 +68,37 @@ const short walkingKeyboardDelay = 1000;
LocalPlayer *player_node = NULL;
LocalPlayer::LocalPlayer(int id, int subtype):
- Player(id, subtype, 0),
- mEquipment(new Equipment),
+ Being(id, PLAYER, subtype, 0),
mAttackRange(0),
mTargetTime(-1),
mLastTarget(-1),
- mCharacterPoints(0),
- mCorrectionPoints(0),
- mSpecialRechargeUpdateNeeded(0),
- mLevel(1),
- mExp(0), mExpNeeded(0),
- mMp(0), mMaxMp(0),
- mMoney(0),
- mTotalWeight(1), mMaxWeight(1),
- mHp(1), mMaxHp(1),
- mSkillPoints(0),
mTarget(NULL),
mPickUpTarget(NULL),
- mTrading(false), mGoingToTarget(false), mKeepAttacking(false),
+ mGoingToTarget(false), mKeepAttacking(false),
mLastAction(-1),
mWalkingDir(0),
mPathSetByMouse(false),
- mInventory(new Inventory(Inventory::INVENTORY)),
mLocalWalkTime(-1),
mMessageTime(0),
+ mShowIp(false),
mAwayDialog(0),
mAfkTime(0),
- mAwayMode(false),
- mShowIp(false)
+ mAwayMode(false)
{
+ listen(CHANNEL_ATTRIBUTES);
+
mAwayListener = new AwayListener();
mUpdateName = true;
- mTextColor = &Theme::getThemeColor(Theme::PLAYER);
- mNameColor = &userPalette->getColor(UserPalette::SELF);
-
- initTargetCursor();
-
- config.addListener("showownname", this);
setShowName(config.getValue("showownname", 1));
+
+ listen(CHANNEL_CONFIG);
+ listen(CHANNEL_ACTORSPRITE);
}
LocalPlayer::~LocalPlayer()
{
- delete mInventory;
-
- config.removeListener("showownname", this);
-
- for (int i = Being::TC_SMALL; i < Being::NUM_TC; i++)
- {
- delete mTargetCursor[0][i];
- delete mTargetCursor[1][i];
- mTargetCursorImages[0][i]->decRef();
- mTargetCursorImages[1][i]->decRef();
- }
-
delete mAwayDialog;
delete mAwayListener;
}
@@ -170,21 +133,7 @@ void LocalPlayer::logic()
mMessageTime--;
}
- if ((mSpecialRechargeUpdateNeeded%11) == 0)
- {
- mSpecialRechargeUpdateNeeded = 0;
- for (std::map<int, Special>::iterator i = mSpecials.begin();
- i != mSpecials.end();
- i++)
- {
- i->second.currentMana += i->second.recharge;
- if (i->second.currentMana > i->second.neededMana)
- {
- i->second.currentMana = i->second.neededMana;
- }
- }
- }
- mSpecialRechargeUpdateNeeded++;
+ PlayerInfo::logic();
// Targeting allowed 4 times a second
if (get_elapsed_time(mLastTarget) >= 250)
@@ -200,11 +149,10 @@ void LocalPlayer::logic()
if (mTarget)
{
- if (mTarget->getType() == Being::NPC)
+ if (mTarget->getType() == ActorSprite::NPC)
{
// NPCs are always in range
- mTarget->setTargetAnimation(
- mTargetCursor[0][mTarget->getTargetCursorSize()]);
+ mTarget->setTargetType(TCT_IN_RANGE);
}
else
{
@@ -220,10 +168,10 @@ void LocalPlayer::logic()
abs(mTarget->getTileY() - getTileY());
const int attackRange = getAttackRange();
- const int inRange = rangeX > attackRange || rangeY > attackRange
- ? 1 : 0;
- mTarget->setTargetAnimation(
- mTargetCursor[inRange][mTarget->getTargetCursorSize()]);
+ const TargetCursorType targetType = rangeX > attackRange ||
+ rangeY > attackRange ?
+ TCT_NORMAL : TCT_IN_RANGE;
+ mTarget->setTargetType(targetType);
if (!mTarget->isAlive())
stopAttack();
@@ -233,7 +181,7 @@ void LocalPlayer::logic()
}
}
- Player::logic();
+ Being::logic();
}
void LocalPlayer::setAction(Action action, int attackType)
@@ -244,12 +192,7 @@ void LocalPlayer::setAction(Action action, int attackType)
setTarget(NULL);
}
- Player::setAction(action, attackType);
-}
-
-void LocalPlayer::setGM(bool gm)
-{
- mIsGM = gm;
+ Being::setAction(action, attackType);
}
void LocalPlayer::setGMLevel(int level)
@@ -635,7 +578,7 @@ void LocalPlayer::nextTile(unsigned char dir = 0)
}
- Player::nextTile();
+ Being::nextTile();
}
else
{
@@ -674,7 +617,6 @@ void LocalPlayer::inviteToGuild(Being *being)
{
if (being->getType() != PLAYER)
return;
- Player *player = static_cast<Player*>(being);
// TODO: Allow user to choose which guild to invite being to
// For now, just invite to the first guild you have permissions to invite with
@@ -684,31 +626,20 @@ void LocalPlayer::inviteToGuild(Being *being)
{
if (checkInviteRights(itr->second->getName()))
{
- Net::getGuildHandler()->invite(itr->second->getId(), player);
+ Net::getGuildHandler()->invite(itr->second->getId(), being);
return;
}
}
}
-void LocalPlayer::clearInventory()
-{
- mEquipment->clear();
- mInventory->clear();
-}
-
-void LocalPlayer::setInvItem(int index, int id, int amount)
-{
- bool equipment = false;
- int itemType = ItemDB::get(id).getType();
- if (itemType != ITEM_UNUSABLE && itemType != ITEM_USABLE)
- equipment = true;
- mInventory->setItem(index, id, amount, equipment);
-}
-
void LocalPlayer::pickUp(FloorItem *item)
{
- int dx = item->getX() - getTileX();
- int dy = item->getY() - getTileY();
+ if (!item)
+ return;
+
+ int dx = item->getTileX() - (int) getPosition().x / mMap->getTileWidth();
+ int dy = item->getTileY() - ((int) getPosition().y - 1)
+ / mMap->getTileHeight();
if (dx * dx + dy * dy < 4)
{
@@ -719,12 +650,12 @@ void LocalPlayer::pickUp(FloorItem *item)
{
if (Net::getNetworkType() == ServerInfo::MANASERV)
{
- setDestination(item->getX() * 32 + 16, item->getY() * 32 + 16);
+ setDestination(item->getPixelX() + 16, item->getPixelY() + 16);
mPickUpTarget = item;
}
else
{
- setDestination(item->getX(), item->getY());
+ setDestination(item->getTileX(), item->getTileY());
mPickUpTarget = item;
stopAttack();
}
@@ -757,15 +688,24 @@ void LocalPlayer::setTarget(Being *target)
mTargetTime = -1;
}
+ Being *oldTarget = 0;
if (mTarget)
+ {
mTarget->untarget();
+ oldTarget = mTarget;
+ }
- if (mTarget && mTarget->getType() == Being::MONSTER)
+ if (mTarget && mTarget->getType() == ActorSprite::MONSTER)
mTarget->setShowName(false);
mTarget = target;
- if (target && target->getType() == Being::MONSTER)
+ if (oldTarget)
+ oldTarget->updateName();
+ if (mTarget)
+ mTarget->updateName();
+
+ if (target && target->getType() == ActorSprite::MONSTER)
target->setShowName(true);
}
@@ -805,13 +745,10 @@ void LocalPlayer::setWalkingDir(int dir)
// Else, he is not pressing a key,
// and the current path hasn't been sent by mouse,
- // then, stop (sending to server).
+ // then let the path die (1/2 tile after that.)
+ // This permit to avoid desyncs with other clients.
else if (!dir)
- {
- if (!mPathSetByMouse)
- player_node->stopWalking(true);
return;
- }
// If the delay to send another walk message to the server hasn't expired,
// don't do anything or we could get disconnected for spamming the server
@@ -822,11 +759,11 @@ void LocalPlayer::setWalkingDir(int dir)
mWalkingDir = dir;
// If we're not already walking, start walking.
- if (mAction != WALK && dir)
+ if (mAction != MOVE && dir)
{
startWalking(dir);
}
- else if (mAction == WALK && (Net::getNetworkType() == ServerInfo::MANASERV))
+ else if (mAction == MOVE && (Net::getNetworkType() == ServerInfo::MANASERV))
{
nextTile(dir);
}
@@ -839,7 +776,7 @@ void LocalPlayer::startWalking(unsigned char dir)
if (!mMap || !dir)
return;
- if (mAction == WALK && !mPath.empty())
+ if (mAction == MOVE && !mPath.empty())
{
// Just finish the current action, otherwise we get out of sync
if (Net::getNetworkType() == ServerInfo::MANASERV)
@@ -862,6 +799,10 @@ void LocalPlayer::startWalking(unsigned char dir)
if (dir & RIGHT)
dx++;
+ // Update the direction when the walk just start
+ if (Net::getNetworkType() == ServerInfo::MANASERV)
+ setDirection(dir);
+
if (Net::getNetworkType() == ServerInfo::TMWATHENA)
{
// Prevent skipping corners over colliding tiles
@@ -894,7 +835,7 @@ void LocalPlayer::startWalking(unsigned char dir)
void LocalPlayer::stopWalking(bool sendToServer)
{
- if (mAction == WALK && mWalkingDir)
+ if (mAction == MOVE && mWalkingDir)
{
mWalkingDir = 0;
mLocalWalkTime = 0;
@@ -938,20 +879,6 @@ void LocalPlayer::emote(Uint8 emotion)
Net::getPlayerHandler()->emote(emotion);
}
-void LocalPlayer::useSpecial(int special)
-{
- Net::getSpecialHandler()->use(special);
-}
-
-void LocalPlayer::setSpecialStatus(int id, int current, int max, int recharge)
-{
- logger->log("SpecialUpdate Skill #%d -- (%d/%d) -> %d", id, current, max,
- recharge);
- mSpecials[id].currentMana = current;
- mSpecials[id].neededMana = max;
- mSpecials[id].recharge = recharge;
-}
-
void LocalPlayer::attack(Being *target, bool keep)
{
if (Net::getNetworkType() == ServerInfo::MANASERV)
@@ -966,7 +893,7 @@ void LocalPlayer::attack(Being *target, bool keep)
mKeepAttacking = keep;
- if (!target || target->getType() == Being::NPC)
+ if (!target || target->getType() == ActorSprite::NPC)
return;
if (mTarget != target || !mTarget)
@@ -974,6 +901,7 @@ void LocalPlayer::attack(Being *target, bool keep)
mLastTarget = -1;
setTarget(target);
}
+
if (Net::getNetworkType() == ServerInfo::MANASERV)
{
Vector plaPos = this->getPosition();
@@ -1025,7 +953,7 @@ void LocalPlayer::attack(Being *target, bool keep)
Net::getPlayerHandler()->setDirection(direction);
setDirection(direction);
- mWalkTime = tick_time;
+ mActionTime = tick_time;
mTargetTime = tick_time;
}
@@ -1056,196 +984,13 @@ void LocalPlayer::stopAttack()
mLastTarget = -1;
}
-void LocalPlayer::raiseAttribute(int attr)
-{
- // we assume that the server allows the change.
- // When not we will undo it later.
- mCharacterPoints--;
- IntMap::iterator it = mAttributeBase.find(attr);
- if (it != mAttributeBase.end())
- (*it).second++;
- Net::getPlayerHandler()->increaseAttribute(attr);
-}
-
-void LocalPlayer::lowerAttribute(int attr)
-{
- // we assume that the server allows the change.
- // When not we will undo it later.
- mCorrectionPoints--;
- mCharacterPoints++;
- IntMap::iterator it = mAttributeBase.find(attr);
- if (it != mAttributeBase.end())
- (*it).second--;
- Net::getPlayerHandler()->decreaseAttribute(attr);
-}
-
-void LocalPlayer::setTotalWeight(int value)
-{
- mTotalWeight = value;
-
- inventoryWindow->updateWeight();
-}
-
-void LocalPlayer::setMaxWeight(int value)
-{
- mMaxWeight = value;
-
- inventoryWindow->updateWeight();
-}
-
-void LocalPlayer::setAttributeBase(int num, int value, bool notify)
-{
- int old = mAttributeBase[num];
-
- mAttributeBase[num] = value;
- if (skillDialog)
- {
- if (skillDialog->update(num).empty() || !(value > old))
- return;
-
- if (old != 0 && notify)
- effectManager->trigger(1, this);
- }
-
- if (statusWindow)
- statusWindow->update(num);
-}
-
-void LocalPlayer::setAttributeEffective(int num, int value)
-{
- mAttributeEffective[num] = value;
- if (skillDialog)
- skillDialog->update(num);
-
- if (statusWindow)
- statusWindow->update(num);
-}
-
-void LocalPlayer::setCharacterPoints(int n)
-{
- mCharacterPoints = n;
-
- if (statusWindow)
- statusWindow->update(StatusWindow::CHAR_POINTS);
-}
-
-void LocalPlayer::setCorrectionPoints(int n)
-{
- mCorrectionPoints = n;
-
- if (statusWindow)
- statusWindow->update(StatusWindow::CHAR_POINTS);
-}
-
-void LocalPlayer::setSkillPoints(int points)
-{
- mSkillPoints = points;
- if (skillDialog)
- skillDialog->update();
-}
-
-void LocalPlayer::setExperience(int skill, int current, int next, bool notify)
-{
- std::pair<int, int> cur = getExperience(skill);
- int diff = current - cur.first;
-
- cur = std::pair<int, int>(current, next);
-
- mSkillExp[skill] = cur;
-
- std::string name;
- if (skillDialog)
- name = skillDialog->update(skill);
-
- if (mMap && notify && cur.first != -1 && diff > 0 && !name.empty())
- {
- addMessageToQueue(strprintf("%d %s xp", diff, name.c_str()));
- }
-
- if (statusWindow)
- statusWindow->update(skill);
-}
-
-std::pair<int, int> LocalPlayer::getExperience(int skill)
-{
- return mSkillExp[skill];
-}
-
-void LocalPlayer::setHp(int value)
-{
- mHp = value;
-
- if (statusWindow)
- statusWindow->update(StatusWindow::HP);
-}
-
-void LocalPlayer::setMaxHp(int value)
-{
- mMaxHp = value;
-
- if (statusWindow)
- statusWindow->update(StatusWindow::HP);
-}
-
-void LocalPlayer::setLevel(int value)
-{
- mLevel = value;
-
- if (statusWindow)
- statusWindow->update(StatusWindow::LEVEL);
-}
-
-void LocalPlayer::setExp(int value, bool notify)
-{
- if (mMap && notify && value > mExp)
- {
- addMessageToQueue(toString(value - mExp) + " xp");
- }
- mExp = value;
-
- if (statusWindow)
- statusWindow->update(StatusWindow::EXP);
-}
-
-void LocalPlayer::setExpNeeded(int value)
-{
- mExpNeeded = value;
-
- if (statusWindow)
- statusWindow->update(StatusWindow::EXP);
-}
-
-void LocalPlayer::setMP(int value)
-{
- mMp = value;
-
- if (statusWindow)
- statusWindow->update(StatusWindow::MP);
-}
-
-void LocalPlayer::setMaxMP(int value)
-{
- mMaxMp = value;
-
- if (statusWindow)
- statusWindow->update(StatusWindow::MP);
-}
-
-void LocalPlayer::setMoney(int value)
-{
- mMoney = value;
-
- if (statusWindow)
- statusWindow->update(StatusWindow::MONEY);
-}
-
void LocalPlayer::pickedUp(const ItemInfo &itemInfo, int amount)
{
if (!amount)
{
if (config.getValue("showpickupchat", 1))
{
- localChatTab->chatLog(_("Unable to pick up item."), BY_SERVER);
+ SERVER_NOTICE(_("Unable to pick up item."))
}
}
else
@@ -1254,10 +999,9 @@ void LocalPlayer::pickedUp(const ItemInfo &itemInfo, int amount)
{
// TRANSLATORS: This sentence may be translated differently
// for different grammatical numbers (singular, plural, ...)
- localChatTab->chatLog(strprintf(ngettext("You picked up %d "
+ SERVER_NOTICE(strprintf(ngettext("You picked up %d "
"[@@%d|%s@@].", "You picked up %d [@@%d|%s@@].", amount),
- amount, itemInfo.getId(), itemInfo.getName().c_str()),
- BY_SERVER);
+ amount, itemInfo.getId(), itemInfo.getName().c_str()))
}
if (mMap && config.getValue("showpickupparticle", 0))
@@ -1276,11 +1020,16 @@ int LocalPlayer::getAttackRange()
}
else
{
- Item *weapon = mEquipment->getEquipment(EQUIP_FIGHT1_SLOT);
- if (weapon)
+ if (Net::getNetworkType() == ServerInfo::TMWATHENA)
{
- const ItemInfo info = weapon->getInfo();
- return info.getAttackRange();
+ // TODO: Fix this to be more generic
+ Item *weapon = PlayerInfo::getEquipment(
+ TmwAthena::EQUIP_FIGHT1_SLOT);
+ if (weapon)
+ {
+ const ItemInfo info = weapon->getInfo();
+ return info.getAttackRange();
+ }
}
return 48; // unarmed range
}
@@ -1328,102 +1077,50 @@ void LocalPlayer::setGotoTarget(Being *target)
}
}
-extern MiniStatusWindow *miniStatusWindow;
-
-void LocalPlayer::handleStatusEffect(StatusEffect *effect, int effectId)
+void LocalPlayer::addMessageToQueue(const std::string &message, int color)
{
- Being::handleStatusEffect(effect, effectId);
+ mMessages.push_back(MessagePair(message, color));
+}
- if (effect)
+void LocalPlayer::event(Channels channel, const Mana::Event &event)
+{
+ if (channel == CHANNEL_ACTORSPRITE)
{
- effect->deliverMessage();
- effect->playSFX();
+ if (event.getName() == EVENT_DESTROYED)
+ {
+ ActorSprite *actor = event.getActor("source");
- AnimatedSprite *sprite = effect->getIcon();
+ if (mPickUpTarget == actor)
+ mPickUpTarget = 0;
- if (!sprite)
- {
- // delete sprite, if necessary
- for (unsigned int i = 0; i < mStatusEffectIcons.size();)
- if (mStatusEffectIcons[i] == effectId)
- {
- mStatusEffectIcons.erase(mStatusEffectIcons.begin() + i);
- miniStatusWindow->eraseIcon(i);
- }
- else
- i++;
+ if (mTarget == actor)
+ mTarget = 0;
}
- else
+ }
+ else if (channel == CHANNEL_ATTRIBUTES)
+ {
+ if (event.getName() == EVENT_UPDATEATTRIBUTE)
{
- // replace sprite or append
- bool found = false;
-
- for (unsigned int i = 0; i < mStatusEffectIcons.size(); i++)
- if (mStatusEffectIcons[i] == effectId)
- {
- miniStatusWindow->setIcon(i, sprite);
- found = true;
- break;
- }
+ if (event.getInt("id") == EXP)
+ {
+ int change = event.getInt("newValue")
+ - event.getInt("oldValue");
- if (!found)
- { // add new
- int offset = mStatusEffectIcons.size();
- miniStatusWindow->setIcon(offset, sprite);
- mStatusEffectIcons.push_back(effectId);
+ addMessageToQueue(toString(change) + " xp");
}
}
}
-}
-
-void LocalPlayer::initTargetCursor()
-{
- // Load target cursors
- loadTargetCursor("target-cursor-blue-s.png", 44, 35, false, TC_SMALL);
- loadTargetCursor("target-cursor-red-s.png", 44, 35, true, TC_SMALL);
- loadTargetCursor("target-cursor-blue-m.png", 62, 44, false, TC_MEDIUM);
- loadTargetCursor("target-cursor-red-m.png", 62, 44, true, TC_MEDIUM);
- loadTargetCursor("target-cursor-blue-l.png", 82, 60, false, TC_LARGE);
- loadTargetCursor("target-cursor-red-l.png", 82, 60, true, TC_LARGE);
-}
-
-void LocalPlayer::loadTargetCursor(const std::string &filename,
- int width, int height,
- bool outRange, TargetCursorSize size)
-{
- assert(size > -1);
- assert(size < 3);
-
- ImageSet *currentImageSet = Theme::getImageSetFromTheme(filename,
- width, height);
- Animation *anim = new Animation;
-
- for (unsigned int i = 0; i < currentImageSet->size(); ++i)
+ else if (channel == CHANNEL_CONFIG)
{
- anim->addFrame(currentImageSet->get(i), 75,
- (16 - (currentImageSet->getWidth() / 2)),
- (16 - (currentImageSet->getHeight() / 2)));
- }
-
- SimpleAnimation *currentCursor = new SimpleAnimation(anim);
-
- const int index = outRange ? 1 : 0;
-
- mTargetCursorImages[index][size] = currentImageSet;
- mTargetCursor[index][size] = currentCursor;
-}
-
-void LocalPlayer::addMessageToQueue(const std::string &message, int color)
-{
- mMessages.push_back(MessagePair(message, color));
-}
+ if (event.getName() == EVENT_CONFIGOPTIONCHANGED &&
+ event.getString("option") == "showownname")
+ {
+ setShowName(config.getValue("showownname", 1));
+ }
-void LocalPlayer::optionChanged(const std::string &value)
-{
- if (value == "showownname")
- {
- setShowName(config.getValue("showownname", 1));
}
+
+ Being::event(channel, event);
}
void LocalPlayer::changeAwayMode()
diff --git a/src/localplayer.h b/src/localplayer.h
index 7706caeb..a5328182 100644
--- a/src/localplayer.h
+++ b/src/localplayer.h
@@ -22,9 +22,9 @@
#ifndef LOCALPLAYER_H
#define LOCALPLAYER_H
-#include "player.h"
+#include "being.h"
-#include "gui/userpalette.h"
+#include "resources/userpalette.h"
#include <guichan/actionlistener.hpp>
@@ -32,84 +32,22 @@
#include <vector>
class ChatTab;
-class Equipment;
class FloorItem;
class ImageSet;
-class Inventory;
class Item;
class Map;
class OkDialog;
-
-struct Special
-{
- int currentMana;
- int neededMana;
- int recharge;
-};
-
class AwayListener : public gcn::ActionListener
{
public:
void action(const gcn::ActionEvent &event);
};
-
-/**
- * Attributes used during combat. Available to all the beings.
- */
-enum
-{
-BASE_ATTR_BEGIN = 0,
- BASE_ATTR_PHY_ATK_MIN = BASE_ATTR_BEGIN,
- BASE_ATTR_PHY_ATK_DELTA,
- /**< Physical attack power. */
- BASE_ATTR_MAG_ATK, /**< Magical attack power. */
- BASE_ATTR_PHY_RES, /**< Resistance to physical damage. */
- BASE_ATTR_MAG_RES, /**< Resistance to magical damage. */
- BASE_ATTR_EVADE, /**< Ability to avoid hits. */
- BASE_ATTR_HIT, /**< Ability to hit stuff. */
- BASE_ATTR_HP, /**< Hit Points (Base value: maximum, Modded value: current) */
- BASE_ATTR_HP_REGEN,/**< number of HP regenerated every 10 game ticks */
- BASE_ATTR_END,
- BASE_ATTR_NB = BASE_ATTR_END - BASE_ATTR_BEGIN,
-
- BASE_ELEM_BEGIN = BASE_ATTR_END,
- BASE_ELEM_NEUTRAL = BASE_ELEM_BEGIN,
- BASE_ELEM_FIRE,
- BASE_ELEM_WATER,
- BASE_ELEM_EARTH,
- BASE_ELEM_AIR,
- BASE_ELEM_SACRED,
- BASE_ELEM_DEATH,
- BASE_ELEM_END,
- BASE_ELEM_NB = BASE_ELEM_END - BASE_ELEM_BEGIN,
-
- NB_BEING_ATTRIBUTES = BASE_ELEM_END
-};
-
-/**
- * Attributes of characters. Used to derive being attributes.
- */
-enum
-{
- CHAR_ATTR_BEGIN = NB_BEING_ATTRIBUTES,
- CHAR_ATTR_STRENGTH = CHAR_ATTR_BEGIN,
- CHAR_ATTR_AGILITY,
- CHAR_ATTR_DEXTERITY,
- CHAR_ATTR_VITALITY,
- CHAR_ATTR_INTELLIGENCE,
- CHAR_ATTR_WILLPOWER,
- CHAR_ATTR_END,
- CHAR_ATTR_NB = CHAR_ATTR_END - CHAR_ATTR_BEGIN,
-
- NB_CHARACTER_ATTRIBUTES = CHAR_ATTR_END
-};
-
/**
* The local player character.
*/
-class LocalPlayer : public Player
+class LocalPlayer : public Being
{
public:
/**
@@ -144,11 +82,6 @@ class LocalPlayer : public Player
virtual void nextTile(unsigned char dir);
/**
- * Returns the player's inventory.
- */
- Inventory *getInventory() const { return mInventory; }
-
- /**
* Check the player has permission to invite users to specific guild
*/
bool checkInviteRights(const std::string &guildName);
@@ -158,9 +91,6 @@ class LocalPlayer : public Player
*/
void inviteToGuild(Being *being);
- void clearInventory();
- void setInvItem(int index, int id, int amount);
-
void pickUp(FloorItem *item);
/**
@@ -172,33 +102,8 @@ class LocalPlayer : public Player
* Gets the attack range.
*/
int getAttackRange();
-
- /**
- * Returns true when the player is ready to accept a trade offer.
- * Returns false otherwise.
- */
- bool tradeRequestOk() const { return !mTrading; }
-
- /**
- * Sets the trading state of the player, i.e. whether or not he is
- * currently involved into some trade.
- */
- void setTrading(bool trading) { mTrading = trading; }
-
- void useSpecial(int id);
-
- void setSpecialStatus(int id, int current, int max, int recharge);
-
- const std::map<int, Special> &getSpecialStatus() const
- { return mSpecials; }
-
void attack(Being *target = NULL, bool keep = false);
- /**
- * Triggers whether or not to show the name as a GM name.
- */
- virtual void setGM(bool gm);
-
void setGMLevel(int level);
void stopAttack();
@@ -257,16 +162,6 @@ class LocalPlayer : public Player
*/
void stopWalking(bool sendToServer = true);
- /**
- * Uses a character point to raise an attribute
- */
- void raiseAttribute(int attr);
-
- /**
- * Uses a correction point to lower an attribute
- */
- void lowerAttribute(int attr);
-
void toggleSit();
void emote(Uint8 emotion);
@@ -275,85 +170,6 @@ class LocalPlayer : public Player
*/
void pickedUp(const ItemInfo &itemInfo, int amount);
- int getHp() const
- { return mHp; }
-
- int getMaxHp() const
- { return mMaxHp; }
-
- void setHp(int value);
-
- void setMaxHp(int value);
-
- int getLevel() const
- { return mLevel; }
-
- void setLevel(int value);
-
- void setExp(int value, bool notify = true);
-
- int getExp() const
- { return mExp; }
-
- void setExpNeeded(int value);
-
- int getExpNeeded() const
- { return mExpNeeded; }
-
- void setMP(int value);
-
- int getMP() const
- { return mMp; }
-
- void setMaxMP(int value);
-
- int getMaxMP() const
- { return mMaxMp; }
-
- int getMoney() const
- { return mMoney; }
-
- void setMoney(int value);
-
- int getTotalWeight() const
- { return mTotalWeight; }
-
- void setTotalWeight(int value);
-
- int getMaxWeight() const
- { return mMaxWeight; }
-
- void setMaxWeight(int value);
-
- int getAttributeBase(int num)
- { return mAttributeBase[num]; }
-
- void setAttributeBase(int num, int value, bool notify = true);
-
- int getAttributeEffective(int num)
- { return mAttributeEffective[num]; }
-
- void setAttributeEffective(int num, int value);
-
- int getCharacterPoints() const
- { return mCharacterPoints; }
-
- void setCharacterPoints(int n);
-
- int getCorrectionPoints() const
- { return mCorrectionPoints; }
-
- void setCorrectionPoints(int n);
-
- int getSkillPoints() const
- { return mSkillPoints; }
-
- void setSkillPoints(int points);
-
- void setExperience(int skill, int current, int next, bool notify = true);
-
- std::pair<int, int> getExperience(int skill);
-
void setShowIp(bool show)
{ mShowIp = show; }
@@ -380,10 +196,7 @@ class LocalPlayer : public Player
void addMessageToQueue(const std::string &message,
int color = UserPalette::EXP_INFO);
- /**
- * Called when a option (set with config.addListener()) is changed
- */
- void optionChanged(const std::string &value);
+ void event(Channels channel, const Mana::Event &event);
/**
* Tells the engine wether to check
@@ -397,19 +210,10 @@ class LocalPlayer : public Player
*/
bool getCheckNameSetting() const { return mUpdateName; }
- /** Keeps the Equipment related values */
- const std::auto_ptr<Equipment> mEquipment;
-
protected:
-
/** Whether or not the name settings have changed */
bool mUpdateName;
- virtual void handleStatusEffect(StatusEffect *effect, int effectId);
-
- // Colors don't change for local player
- virtual void updateColors() {}
-
void startWalking(unsigned char dir);
int mAttackRange;
@@ -417,73 +221,32 @@ class LocalPlayer : public Player
int mTargetTime; /** How long the being has been targeted **/
int mLastTarget; /** Time stamp of last targeting action, -1 if none. */
- // Character status:
- typedef std::map<int, int> IntMap;
- IntMap mAttributeBase;
- IntMap mAttributeEffective;
- std::map<int, std::pair<int, int> > mSkillExp;
- int mCharacterPoints;
- int mCorrectionPoints;
- int mLevelProgress;
- std::map<int, Special> mSpecials;
- char mSpecialRechargeUpdateNeeded;
- int mLevel;
- int mExp, mExpNeeded;
- int mMp, mMaxMp;
- int mMoney;
- int mTotalWeight;
- int mMaxWeight;
- int mHp;
- int mMaxHp;
- int mSkillPoints;
-
int mGMLevel;
Being *mTarget;
FloorItem *mPickUpTarget;
- bool mTrading;
bool mGoingToTarget;
bool mKeepAttacking; /** Whether or not to continue to attack */
int mLastAction; /**< Time stamp of the last action, -1 if none. */
int mWalkingDir; /**< The direction the player is walking in. */
bool mPathSetByMouse; /**< Tells if the path was set using mouse */
- std::vector<int> mStatusEffectIcons;
-
- Inventory *mInventory;
-
int mLocalWalkTime; /**< Timestamp used to control keyboard walk
messages flooding */
- /** Load the target cursors into memory */
- void initTargetCursor();
-
- /**
- * Helper function for loading target cursors
- */
- void loadTargetCursor(const std::string &filename,
- int width, int height,
- bool outRange, Being::TargetCursorSize size);
-
- /** Images of the target cursor. */
- ImageSet *mTargetCursorImages[2][NUM_TC];
-
- /** Animated target cursors. */
- SimpleAnimation *mTargetCursor[2][NUM_TC];
-
typedef std::pair<std::string, int> MessagePair;
- /** Queued exp messages*/
+ /** Queued messages*/
std::list<MessagePair> mMessages;
int mMessageTime;
+
+ bool mShowIp;
+
AwayListener *mAwayListener;
OkDialog *mAwayDialog;
-
int mAfkTime;
bool mAwayMode;
-
- bool mShowIp;
};
extern LocalPlayer *player_node;
diff --git a/src/log.cpp b/src/log.cpp
index 5880e108..a147c107 100644
--- a/src/log.cpp
+++ b/src/log.cpp
@@ -21,8 +21,6 @@
#include "log.h"
-#include "gui/widgets/chattab.h"
-
#ifdef WIN32
#include <windows.h>
#elif __APPLE__
@@ -32,11 +30,12 @@
#include <sys/time.h>
#include <iostream>
#include <sstream>
+#include <stdarg.h>
+#include <stdio.h>
#include <stdlib.h>
Logger::Logger():
- mLogToStandardOut(true),
- mChatWindow(NULL)
+ mLogToStandardOut(true)
{
}
@@ -99,11 +98,6 @@ void Logger::log(const char *log_text, ...)
std::cout << timeStr.str() << buf << std::endl;
}
- if (mChatWindow)
- {
- localChatTab->chatLog(buf, BY_LOGGER);
- }
-
// Delete temporary buffer
delete[] buf;
}
diff --git a/src/log.h b/src/log.h
index 50fca577..4615f626 100644
--- a/src/log.h
+++ b/src/log.h
@@ -24,8 +24,6 @@
#include <fstream>
-class ChatWindow;
-
/**
* The Log Class : Useful to write debug or info messages
*/
@@ -53,11 +51,6 @@ class Logger
void setLogToStandardOut(bool value) { mLogToStandardOut = value; }
/**
- * Enables logging to chat window
- */
- void setChatWindow(ChatWindow *window) { mChatWindow = window; }
-
- /**
* Enters a message in the log. The message will be timestamped.
*/
void log(const char *log_text, ...)
@@ -75,7 +68,6 @@ class Logger
private:
std::ofstream mLogFile;
bool mLogToStandardOut;
- ChatWindow *mChatWindow;
};
extern Logger *logger;
diff --git a/src/main.cpp b/src/main.cpp
index c130bba9..41f1c3d5 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -40,6 +40,10 @@ static void printHelp()
std::cout
<< _("mana [options] [mana-file]") << endl << endl
+ << _("[mana-file] : The mana file is an XML file (.mana)") << endl
+ << _(" used to set custom parameters") << endl
+ << _(" to the mana client.")
+ << endl << endl
<< _("Options:") << endl
<< _(" -v --version : Display the version") << endl
<< _(" -h --help : Display this help") << endl
@@ -54,7 +58,8 @@ static void printHelp()
"character") << endl
<< _(" -u --skip-update : Skip the update downloads") << endl
<< _(" -d --data : Directory to load game data from") << endl
- << _(" -L --localdata-dir : Directory to use as local data directory") << endl
+ << _(" --localdata-dir : Directory to use as local data directory") << endl
+ << _(" --chat-log-dir : Chat log dir to use") << endl
<< _(" --screenshot-dir : Directory to store screenshots") << endl
#ifdef USE_OPENGL
<< _(" --no-opengl : Disable OpenGL for this session") << endl
@@ -69,7 +74,7 @@ static void printVersion()
static void parseOptions(int argc, char *argv[], Client::Options &options)
{
- const char *optstring = "hvud:U:P:Dc:s:p:C:L:";
+ const char *optstring = "hvud:U:P:Dc:s:p:C:";
const struct option long_options[] = {
{ "config-dir", required_argument, 0, 'C' },
@@ -85,6 +90,7 @@ static void parseOptions(int argc, char *argv[], Client::Options &options)
{ "skip-update", no_argument, 0, 'u' },
{ "username", required_argument, 0, 'U' },
{ "no-opengl", no_argument, 0, 'O' },
+ { "chat-log-dir", required_argument, 0, 'T' },
{ "version", no_argument, 0, 'v' },
{ "screenshot-dir", required_argument, 0, 'i' },
{ 0 }
@@ -143,6 +149,8 @@ static void parseOptions(int argc, char *argv[], Client::Options &options)
case 'O':
options.noOpenGL = true;
break;
+ case 'T':
+ options.chatLogDir = std::string(optarg);
case 'i':
options.screenshotDir = optarg;
break;
diff --git a/src/map.cpp b/src/map.cpp
index f845f2ff..09782699 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -21,19 +21,20 @@
#include "map.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
#include "client.h"
#include "configuration.h"
#include "graphics.h"
#include "particle.h"
#include "simpleanimation.h"
-#include "sprite.h"
#include "tileset.h"
#include "resources/ambientlayer.h"
#include "resources/image.h"
#include "resources/resourcemanager.h"
+#include "net/net.h"
+
#include "utils/dtor.h"
#include "utils/stringutils.h"
@@ -122,7 +123,7 @@ Image* MapLayer::getTile(int x, int y) const
void MapLayer::draw(Graphics *graphics, int startX, int startY,
int endX, int endY, int scrollX, int scrollY,
- const MapSprites &sprites, int debugFlags) const
+ const Actors &actors, int debugFlags) const
{
startX -= mX;
startY -= mY;
@@ -134,47 +135,86 @@ void MapLayer::draw(Graphics *graphics, int startX, int startY,
if (endX > mWidth) endX = mWidth;
if (endY > mHeight) endY = mHeight;
- MapSprites::const_iterator si = sprites.begin();
+ Actors::const_iterator ai = actors.begin();
+
+ int dx = (mX * 32) - scrollX;
+ int dy = (mY * 32) - scrollY + 32;
for (int y = startY; y < endY; y++)
{
- // If drawing the fringe layer, make sure all sprites above this row of
+ int y32 = y * 32;
+
+ // If drawing the fringe layer, make sure all actors above this row of
// tiles have been drawn
if (mIsFringeLayer)
{
- while (si != sprites.end() && (*si)->getPixelY() <= y * 32)
+ while (ai != actors.end() && (*ai)->getPixelY() <= y * 32)
{
- (*si)->setAlpha(1.0f);
- (*si)->draw(graphics, -scrollX, -scrollY);
- si++;
+ (*ai)->draw(graphics, -scrollX, -scrollY);
+ ai++;
}
}
- for (int x = startX; x < endX; x++)
+ if (debugFlags != Map::MAP_SPECIAL3)
{
- Image *img = getTile(x, y);
- if (img)
+ const int py0 = y32 + dy;
+
+ for (int x = startX; x < endX; x++)
{
- const int px = (x + mX) * 32 - scrollX;
- const int py = (y + mY) * 32 - scrollY + 32 - img->getHeight();
- if (debugFlags != Map::MAP_SPECIAL || img->getHeight() <= 32)
- graphics->drawImage(img, px, py);
+ Image *img = getTile(x, y);
+ if (img)
+ {
+ const int px = (x * 32) + dx;
+ const int py = py0 - img->getHeight();
+ if ((debugFlags != Map::MAP_SPECIAL
+ && debugFlags != Map::MAP_SPECIAL2)
+ || img->getHeight() <= 32)
+ {
+ int width = 0;
+ int c = getTileDrawWidth(x, y, endX, width);
+ if (!c)
+ {
+ graphics->drawImage(img, px, py);
+ }
+ else
+ {
+ graphics->drawImagePattern(img, px, py,
+ width, img->getHeight());
+ }
+ x += c;
+ }
+ }
}
}
}
- // Draw any remaining sprites
+ // Draw any remaining actors
if (mIsFringeLayer)
{
- while (si != sprites.end())
+ while (ai != actors.end())
{
- (*si)->setAlpha(1.0f);
- (*si)->draw(graphics, -scrollX, -scrollY);
- si++;
+ (*ai)->draw(graphics, -scrollX, -scrollY);
+ ai++;
}
}
}
+int MapLayer::getTileDrawWidth(int x1, int y1, int endX, int &width) const
+{
+ Image *img1 = getTile(x1, y1);
+ int c = 0;
+ width = img1->getWidth();
+ for (int x = x1 + 1; x < endX; x++)
+ {
+ Image *img = getTile(x, y1);
+ if (img != img1)
+ break;
+ c ++;
+ width += img->getWidth();
+ }
+ return c;
+}
+
Map::Map(int width, int height, int tileWidth, int tileHeight):
mWidth(width), mHeight(height),
mTileWidth(tileWidth), mTileHeight(tileHeight),
@@ -283,7 +323,7 @@ void Map::addTileset(Tileset *tileset)
mMaxTileHeight = tileset->getHeight();
}
-bool spriteCompare(const Sprite *a, const Sprite *b)
+bool actorCompare(const Actor *a, const Actor *b)
{
return a->getPixelY() < b->getPixelY();
}
@@ -309,25 +349,47 @@ void Map::draw(Graphics *graphics, int scrollX, int scrollY)
int endX = (graphics->getWidth() + scrollX + mTileWidth - 1) / mTileWidth;
int endY = endPixelY / mTileHeight;
- // Make sure sprites are sorted ascending by Y-coordinate
+ // Make sure actors are sorted ascending by Y-coordinate
// so that they overlap correctly
- mSprites.sort(spriteCompare);
+ mActors.sort(actorCompare);
// update scrolling of all ambient layers
updateAmbientLayers(scrollX, scrollY);
// Draw backgrounds
drawAmbientLayers(graphics, BACKGROUND_LAYERS, scrollX, scrollY,
- (int) config.getValue("OverlayDetail", 2));
+ config.getIntValue("OverlayDetail"));
// draw the game world
Layers::const_iterator layeri = mLayers.begin();
- for (; layeri != mLayers.end(); ++layeri)
+
+ bool overFringe = false;
+
+ if (mDebugFlags == MAP_SPECIAL3)
{
- (*layeri)->draw(graphics,
- startX, startY, endX, endY,
- scrollX, scrollY,
- mSprites, mDebugFlags);
+ for (; layeri != mLayers.end(); ++layeri)
+ {
+ if ((*layeri)->isFringeLayer())
+ {
+ (*layeri)->draw(graphics,
+ startX, startY, endX, endY,
+ scrollX, scrollY,
+ mActors, mDebugFlags);
+ }
+ }
+ }
+ else
+ {
+ for (; layeri != mLayers.end() && !overFringe; ++layeri)
+ {
+ if ((*layeri)->isFringeLayer() && mDebugFlags == MAP_SPECIAL2)
+ overFringe = true;
+
+ (*layeri)->draw(graphics,
+ startX, startY, endX, endY,
+ scrollX, scrollY,
+ mActors, mDebugFlags);
+ }
}
// If the transparency hasn't been disabled,
@@ -335,24 +397,25 @@ void Map::draw(Graphics *graphics, int scrollX, int scrollY)
{
// We draw beings with a lower opacity to make them visible
// even when covered by a wall or some other elements...
- MapSprites::const_iterator si = mSprites.begin();
- while (si != mSprites.end())
+ Actors::const_iterator ai = mActors.begin();
+ while (ai != mActors.end())
{
- if (Sprite *sprite = *si)
+ if (Actor *actor = *ai)
{
- // For now, just draw sprites with only one layer.
- if (sprite->getNumberOfLayers() == 1)
+ // For now, just draw actors with only one layer.
+ if (actor->getNumberOfLayers() == 1)
{
- sprite->setAlpha(0.3f);
- sprite->draw(graphics, -scrollX, -scrollY);
+ actor->setAlpha(0.3f);
+ actor->draw(graphics, -scrollX, -scrollY);
+ actor->setAlpha(1.0f);
}
}
- si++;
+ ai++;
}
}
drawAmbientLayers(graphics, FOREGROUND_LAYERS, scrollX, scrollY,
- (int) config.getValue("OverlayDetail", 2));
+ config.getIntValue("OverlayDetail"));
}
void Map::drawCollision(Graphics *graphics, int scrollX, int scrollY,
@@ -528,12 +591,14 @@ bool Map::getWalk(int x, int y, unsigned char walkmask) const
bool Map::occupied(int x, int y) const
{
- const Beings &beings = beingManager->getAll();
- for (Beings::const_iterator i = beings.begin(); i != beings.end(); i++)
+ const ActorSprites &actors = actorSpriteManager->getAll();
+ ActorSpritesConstIterator it, it_end;
+ for (it = actors.begin(), it_end = actors.end(); it != it_end; it++)
{
- const Being *being = *i;
+ const ActorSprite *actor = *it;
- if (being->getTileX() == x && being->getTileY() == y)
+ if (actor->getTileX() == x && actor->getTileY() == y &&
+ actor->getType() != ActorSprite::FLOOR_ITEM)
return true;
}
@@ -550,15 +615,15 @@ MetaTile *Map::getMetaTile(int x, int y) const
return &mMetaTiles[x + y * mWidth];
}
-MapSprite Map::addSprite(Sprite *sprite)
+Actors::iterator Map::addActor(Actor *actor)
{
- mSprites.push_front(sprite);
- return mSprites.begin();
+ mActors.push_front(actor);
+ return mActors.begin();
}
-void Map::removeSprite(MapSprite iterator)
+void Map::removeActor(Actors::iterator iterator)
{
- mSprites.erase(iterator);
+ mActors.erase(iterator);
}
const std::string Map::getMusicFile() const
@@ -791,7 +856,9 @@ Path Map::findPath(int startX, int startY, int destX, int destY,
// It costs extra to walk through a being (needs to be enough
// to make it more attractive to walk around).
- if (occupied(x, y))
+ // N.B.: Specific to TmwAthena for now.
+ if (Net::getNetworkType() == ServerInfo::TMWATHENA &&
+ occupied(x, y))
{
Gcost += 3 * basicCost;
}
@@ -897,7 +964,7 @@ void Map::initializeParticleEffects(Particle *particleEngine)
{
Particle *p;
- if (config.getValue("particleeffects", 1))
+ if (config.getBoolValue("particleeffects"))
{
for (std::list<ParticleEffectData>::iterator i = particleEffects.begin();
i != particleEffects.end();
diff --git a/src/map.h b/src/map.h
index 9fc32232..160cb7f7 100644
--- a/src/map.h
+++ b/src/map.h
@@ -22,6 +22,7 @@
#ifndef MAP_H
#define MAP_H
+#include "actor.h"
#include "position.h"
#include "properties.h"
@@ -31,16 +32,12 @@
class Animation;
class AmbientLayer;
class Graphics;
-class Image;
class MapLayer;
class Particle;
class SimpleAnimation;
-class Sprite;
class Tileset;
typedef std::vector<Tileset*> Tilesets;
-typedef std::list<Sprite*> MapSprites;
-typedef MapSprites::iterator MapSprite;
typedef std::vector<MapLayer*> Layers;
/**
@@ -91,7 +88,7 @@ class MapLayer
public:
/**
* Constructor, taking layer origin, size and whether this layer is the
- * fringe layer. The fringe layer is the layer that draws the sprites.
+ * fringe layer. The fringe layer is the layer that draws the actors.
* There can be only one fringe layer per map.
*/
MapLayer(int x, int y, int width, int height, bool isFringeLayer);
@@ -121,20 +118,25 @@ class MapLayer
* expected to be in map range and will be translated to local layer
* coordinates and clipped to the layer's dimensions.
*
- * The given sprites are only drawn when this layer is the fringe
+ * The given actors are only drawn when this layer is the fringe
* layer.
*/
void draw(Graphics *graphics,
int startX, int startY,
int endX, int endY,
int scrollX, int scrollY,
- const MapSprites &sprites,
+ const Actors &actors,
int mDebugFlags) const;
+ bool isFringeLayer()
+ { return mIsFringeLayer; }
+
+ int getTileDrawWidth(int x1, int y1, int endX, int &width) const;
+
private:
int mX, mY;
int mWidth, mHeight;
- bool mIsFringeLayer; /**< Whether the sprites are drawn. */
+ bool mIsFringeLayer; /**< Whether the actors are drawn. */
Image **mTiles;
};
@@ -164,7 +166,9 @@ class Map : public Properties
{
MAP_NORMAL = 0,
MAP_DEBUG = 1,
- MAP_SPECIAL = 2
+ MAP_SPECIAL = 2,
+ MAP_SPECIAL2 = 3,
+ MAP_SPECIAL3 = 4
};
/**
@@ -190,7 +194,7 @@ class Map : public Properties
/**
* Draws the map to the given graphics output. This method draws all
- * layers, sprites and overlay effects.
+ * layers, actors and overlay effects.
*
* TODO: For efficiency reasons, this method could take into account
* the clipping rectangle set on the Graphics object. However,
@@ -295,16 +299,6 @@ class Map : public Properties
unsigned char walkmask, int maxCost = 20);
/**
- * Adds a sprite to the map.
- */
- MapSprite addSprite(Sprite *sprite);
-
- /**
- * Removes a sprite from the map.
- */
- void removeSprite(MapSprite iterator);
-
- /**
* Adds a particle effect
*/
void addParticleEffect(const std::string &effectFile, int x, int y, int w = 0, int h = 0);
@@ -329,6 +323,19 @@ class Map : public Properties
*/
TileAnimation *getAnimationForGid(int gid) const;
+ protected:
+ friend class Actor;
+
+ /**
+ * Adds an actor to the map.
+ */
+ Actors::iterator addActor(Actor *actor);
+
+ /**
+ * Removes an actor from the map.
+ */
+ void removeActor(Actors::iterator iterator);
+
private:
enum LayerType
@@ -364,7 +371,7 @@ class Map : public Properties
MetaTile *mMetaTiles;
Layers mLayers;
Tilesets mTilesets;
- MapSprites mSprites;
+ Actors mActors;
// debug flags
int mDebugFlags;
diff --git a/src/monster.cpp b/src/monster.cpp
deleted file mode 100644
index ca156821..00000000
--- a/src/monster.cpp
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana 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/>.
- */
-
-#include "monster.h"
-
-#include "animatedsprite.h"
-#include "client.h"
-#include "localplayer.h"
-#include "particle.h"
-#include "sound.h"
-#include "text.h"
-
-#include "gui/userpalette.h"
-
-#include "net/net.h"
-
-#include "resources/monsterdb.h"
-#include "resources/monsterinfo.h"
-#include "configuration.h"
-
-Monster::Monster(int id, int subtype, Map *map):
- Being(id, subtype, map),
- mAttackType(1)
-{
- setSubtype(subtype);
-
- mNameColor = &userPalette->getColor(UserPalette::MONSTER);
- mTextColor = &userPalette->getColor(UserPalette::MONSTER);
-
- Being::setName(getInfo().getName());
-}
-
-void Monster::logic()
-{
- if ((Net::getNetworkType() == ServerInfo::TMWATHENA) && (mAction != STAND))
- {
- mFrame = (int) ((get_elapsed_time(mWalkTime) * 4) / getWalkSpeed().x);
-
- if (mFrame >= 4 && mAction != DEAD)
- nextTile();
- }
-
- Being::logic();
-}
-
-
-void Monster::setAction(Action action, int attackType)
-{
- SpriteAction currentAction = ACTION_INVALID;
- int rotation = 0;
- std::string particleEffect;
-
- switch (action)
- {
- case WALK:
- currentAction = ACTION_WALK;
- break;
- case DEAD:
- currentAction = ACTION_DEAD;
- sound.playSfx(getInfo().getSound(MONSTER_EVENT_DIE));
- break;
- case ATTACK:
- mAttackType = attackType;
- currentAction = getInfo().getAttackAction(attackType);
- for (SpriteIterator it = mSprites.begin(); it != mSprites.end(); it++)
- (*it)->reset();
-
- //attack particle effect
- particleEffect = getInfo().getAttackParticleEffect(attackType);
- if (!particleEffect.empty() && Particle::enabled)
- {
- switch (mSpriteDirection)
- {
- case DIRECTION_DOWN: rotation = 0; break;
- case DIRECTION_LEFT: rotation = 90; break;
- case DIRECTION_UP: rotation = 180; break;
- case DIRECTION_RIGHT: rotation = 270; break;
- default: break;
- }
- Particle *p;
- p = particleEngine->addEffect(particleEffect, 0, 0, rotation);
- controlParticle(p);
- }
- break;
- case STAND:
- currentAction = ACTION_STAND;
- break;
- case HURT:
- // Not implemented yet
- break;
- case SIT:
- // Also not implemented yet
- break;
- }
-
- if (currentAction != ACTION_INVALID)
- {
- for (SpriteIterator it = mSprites.begin(); it != mSprites.end(); it++)
- if (*it)
- (*it)->play(currentAction);
- mAction = action;
- }
-}
-
-void Monster::setSubtype(Uint16 subtype)
-{
- Being::setSubtype(subtype);
-
- const MonsterInfo &info = getInfo();
-
- // Setup Monster sprites
- const std::list<std::string> &sprites = info.getSprites();
-
- mSprites.clear();
- for (std::list<std::string>::const_iterator i = sprites.begin();
- i != sprites.end(); i++)
- {
- std::string file = paths.getValue("sprites",
- "graphics/sprites/") + *i;
- mSprites.push_back(AnimatedSprite::load(file));
- }
-
- // Ensure that something is shown
- if (mSprites.size() == 0)
- {
- mSprites.push_back(AnimatedSprite::load(
- paths.getValue("sprites", "graphics/sprites/") +
- paths.getValue("spriteErrorFile", "error.xml") ));
- }
-
- if (Particle::enabled)
- {
- const std::list<std::string> &particleEffects = info.getParticleEffects();
- for (std::list<std::string>::const_iterator i = particleEffects.begin();
- i != particleEffects.end(); i++)
- {
- controlParticle(particleEngine->addEffect((*i), 0, 0));
- }
- }
-}
-
-void Monster::handleAttack(Being *victim, int damage, AttackType type)
-{
- Being::handleAttack(victim, damage, type);
-
- const MonsterInfo &mi = getInfo();
- sound.playSfx(mi.getSound((damage > 0) ?
- MONSTER_EVENT_HIT : MONSTER_EVENT_MISS));
-
- fireMissile(victim, mi.getAttackMissileParticle(mAttackType));
-}
-
-void Monster::takeDamage(Being *attacker, int amount, AttackType type)
-{
- if (amount > 0)
- sound.playSfx(getInfo().getSound(MONSTER_EVENT_HURT));
-
- Being::takeDamage(attacker, amount, type);
-}
-
-Being::TargetCursorSize Monster::getTargetCursorSize() const
-{
- return getInfo().getTargetCursorSize();
-}
-
-const MonsterInfo &Monster::getInfo() const
-{
- return MonsterDB::get(mSubType);
-}
-
-void Monster::updateCoords()
-{
- if (mDispName)
- {
- mDispName->adviseXY(getPixelX(),
- getPixelY() - getHeight() - mDispName->getHeight());
- }
-}
-
-void Monster::showName()
-{
- Being::showName();
-
- updateCoords();
-}
diff --git a/src/monster.h b/src/monster.h
deleted file mode 100644
index 9bb8e3b9..00000000
--- a/src/monster.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana 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 MONSTER_H
-#define MONSTER_H
-
-#include "being.h"
-
-class MonsterInfo;
-class Text;
-
-class Monster : public Being
-{
- public:
- Monster(int id, int subtype, Map *map);
-
- virtual void logic();
-
- virtual void setAction(Action action, int attackType = 0);
-
- virtual Type getType() const { return MONSTER; }
-
- virtual void setSubtype(Uint16 subtype);
-
- virtual TargetCursorSize
- getTargetCursorSize() const;
-
- /**
- * Handles an attack of another being by this monster. Plays a hit or
- * miss sound when appropriate.
- *
- * @param victim the victim being
- * @param damage the amount of damage dealt (0 means miss)
- * @param type the attack type
- */
- virtual void handleAttack(Being *victim, int damage, AttackType type);
-
- /**
- * Puts a damage bubble above this monster and plays the hurt sound
- *
- * @param attacker the attacking being
- * @param damage the amount of damage recieved (0 means miss)
- * @param type the attack type
- */
- virtual void takeDamage(Being *attacker, int amount, AttackType type);
-
- /**
- * Returns the MonsterInfo, with static data about this monster.
- */
- const MonsterInfo& getInfo() const;
-
- /**
- * Gets the way the monster is blocked by other objects
- */
- virtual unsigned char getWalkMask() const
- {
- return Map::BLOCKMASK_WALL
- | Map::BLOCKMASK_CHARACTER
- | Map::BLOCKMASK_MONSTER;
- }
-
- protected:
- /**
- * Gets the way the monster blocks pathfinding for other objects
- */
- virtual Map::BlockType getBlockType() const
- { return Map::BLOCKTYPE_MONSTER; }
-
- /**
- * Update the text when the monster moves
- */
- void updateCoords();
-
- void showName();
-
- private:
- int mAttackType;
-};
-
-#endif
diff --git a/src/net/adminhandler.h b/src/net/adminhandler.h
index 23e9abc0..3ed96dbd 100644
--- a/src/net/adminhandler.h
+++ b/src/net/adminhandler.h
@@ -29,6 +29,8 @@ namespace Net {
class AdminHandler
{
public:
+ virtual ~AdminHandler() {}
+
virtual void announce(const std::string &text) = 0;
virtual void localAnnounce(const std::string &text) = 0;
@@ -49,8 +51,6 @@ class AdminHandler
virtual void mute(int playerId, int type, int limit) = 0;
- virtual ~AdminHandler() {}
-
// TODO
};
diff --git a/src/net/charhandler.h b/src/net/charhandler.h
index 4a813e21..0694e39e 100644
--- a/src/net/charhandler.h
+++ b/src/net/charhandler.h
@@ -23,14 +23,13 @@
#define CHARHANDLER_H
#include "localplayer.h"
-#include "logindata.h"
+#include "playerinfo.h"
#include <iosfwd>
#include <vector>
class CharCreateDialog;
class CharSelectDialog;
-class LocalPlayer;
namespace Net {
@@ -41,7 +40,7 @@ struct Character
{
Character() :
slot(0),
- dummy(new LocalPlayer)
+ dummy(0)
{
}
@@ -52,6 +51,7 @@ struct Character
int slot; /**< The index in the list of characters */
LocalPlayer *dummy; /**< A dummy representing this character */
+ PlayerInfoBackend data;
};
typedef std::list<Character*> Characters;
@@ -59,6 +59,8 @@ typedef std::list<Character*> Characters;
class CharHandler
{
public:
+ virtual ~CharHandler() {}
+
virtual void setCharSelectDialog(CharSelectDialog *window) = 0;
virtual void setCharCreateDialog(CharCreateDialog *window) = 0;
@@ -75,13 +77,11 @@ class CharHandler
virtual void switchCharacter() = 0;
- virtual int baseSprite() const = 0;
+ virtual unsigned int baseSprite() const = 0;
- virtual int hairSprite() const = 0;
+ virtual unsigned int hairSprite() const = 0;
- virtual int maxSprite() const = 0;
-
- virtual ~CharHandler() {}
+ virtual unsigned int maxSprite() const = 0;
protected:
CharHandler():
diff --git a/src/net/chathandler.h b/src/net/chathandler.h
index d1449698..fbaa8dba 100644
--- a/src/net/chathandler.h
+++ b/src/net/chathandler.h
@@ -28,6 +28,8 @@ namespace Net {
class ChatHandler
{
public:
+ virtual ~ChatHandler() {}
+
virtual void talk(const std::string &text) = 0;
virtual void me(const std::string &text) = 0;
@@ -53,8 +55,6 @@ class ChatHandler
virtual void kickUser(int channelId, const std::string &name) = 0;
virtual void who() = 0;
-
- virtual ~ChatHandler() {}
};
}
diff --git a/src/net/download.cpp b/src/net/download.cpp
index a2cd4910..83ab180f 100644
--- a/src/net/download.cpp
+++ b/src/net/download.cpp
@@ -221,8 +221,8 @@ int Download::downloadThread(void *ptr)
}
curl_easy_setopt(d->mCurl, CURLOPT_USERAGENT,
- strprintf(PACKAGE_EXTENDED_VERSION, branding
- .getValue("appShort", "mana").c_str()).c_str());
+ strprintf(PACKAGE_EXTENDED_VERSION,
+ branding.getStringValue("appShort").c_str()).c_str());
curl_easy_setopt(d->mCurl, CURLOPT_ERRORBUFFER, d->mError);
curl_easy_setopt(d->mCurl, CURLOPT_URL, d->mUrl.c_str());
curl_easy_setopt(d->mCurl, CURLOPT_NOPROGRESS, 0);
diff --git a/src/net/gamehandler.h b/src/net/gamehandler.h
index 774de16c..0c5d889f 100644
--- a/src/net/gamehandler.h
+++ b/src/net/gamehandler.h
@@ -22,8 +22,6 @@
#ifndef MAPHANDLER_H
#define MAPHANDLER_H
-#include "logindata.h"
-
#include <iosfwd>
namespace Net {
@@ -31,16 +29,14 @@ namespace Net {
class GameHandler
{
public:
+ virtual ~GameHandler() {}
+
virtual void connect() = 0;
virtual bool isConnected() = 0;
virtual void disconnect() = 0;
- virtual void inGame() = 0;
-
- virtual void mapLoaded(const std::string &mapName) = 0;
-
virtual void who() = 0;
virtual void quit() = 0;
@@ -49,7 +45,10 @@ class GameHandler
virtual bool removeDeadBeings() const = 0;
- virtual ~GameHandler() {}
+ /**
+ * Tells whether the protocol is using the MP status bar
+ */
+ virtual bool canUseMagicBar() const = 0;
};
} // namespace Net
diff --git a/src/net/generalhandler.h b/src/net/generalhandler.h
index 222b430a..4b8474dd 100644
--- a/src/net/generalhandler.h
+++ b/src/net/generalhandler.h
@@ -19,9 +19,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "client.h"
-#include "main.h"
-
#ifndef GENERALHANDLER_H
#define GENERALHANDLER_H
@@ -40,13 +37,7 @@ class GeneralHandler
virtual void flushNetwork() = 0;
- virtual void guiWindowsLoaded() = 0;
-
- virtual void guiWindowsUnloaded() = 0;
-
virtual void clearHandlers() = 0;
-
- virtual void stateChanged(State oldState, State newState) = 0;
};
} // namespace Net
diff --git a/src/net/guildhandler.h b/src/net/guildhandler.h
index 1696b2d5..e4513cbb 100644
--- a/src/net/guildhandler.h
+++ b/src/net/guildhandler.h
@@ -23,10 +23,11 @@
#define GUILDHANDLER_H
#include "guild.h"
-#include "player.h"
#include <iosfwd>
+class Being;
+
namespace Net {
class GuildHandler
@@ -40,7 +41,7 @@ class GuildHandler
virtual void invite(int guildId, const std::string &name) = 0;
- virtual void invite(int guildId, Player *player) = 0;
+ virtual void invite(int guildId, Being *being) = 0;
virtual void inviteResponse(int guildId, bool response) = 0;
diff --git a/src/net/inventoryhandler.h b/src/net/inventoryhandler.h
index e48043a7..93b56a40 100644
--- a/src/net/inventoryhandler.h
+++ b/src/net/inventoryhandler.h
@@ -32,33 +32,12 @@ namespace Net {
class InventoryHandler
{
public:
- virtual void equipItem(const Item *item) = 0;
-
- virtual void unequipItem(const Item *item) = 0;
-
- virtual void useItem(const Item *item) = 0;
-
- virtual void dropItem(const Item *item, int amount) = 0;
+ virtual ~InventoryHandler() {}
virtual bool canSplit(const Item *item) = 0;
- virtual void splitItem(const Item *item, int amount) = 0;
-
- virtual void moveItem(int oldIndex, int newIndex) = 0;
-
- virtual void openStorage(int type) = 0;
-
- virtual void closeStorage(int type) = 0;
-
- //void changeCart() = 0;
-
- virtual void moveItem(int source, int slot, int amount,
- int destination) = 0;
-
// TODO: fix/remove me
virtual size_t getSize(int type) const = 0;
-
- virtual ~InventoryHandler() {}
};
} // namespace Net
diff --git a/src/net/logindata.h b/src/net/logindata.h
index 9bbeed4f..4a1c1a9f 100644
--- a/src/net/logindata.h
+++ b/src/net/logindata.h
@@ -22,15 +22,21 @@
#ifndef LOGINDATA_H
#define LOGINDATA_H
-#include "player.h"
-
-#include "net/serverinfo.h"
+#include "being.h"
#include <string>
class LoginData
{
public:
+ /**
+ * Constructor
+ */
+ LoginData()
+ {
+ resetCharacterSlots();
+ }
+
std::string username;
std::string password;
std::string newPassword;
@@ -44,6 +50,16 @@ public:
bool remember; /**< Whether to store the username. */
bool registerLogin; /**< Whether an account is being registered. */
+ unsigned short characterSlots; /**< The number of character slots */
+
+ /**
+ * Initialize character slots to 3 for TmwAthena compatibility
+ */
+ void resetCharacterSlots()
+ {
+ characterSlots = 3; // Default value, used for TmwAthena.
+ }
+
void clear()
{
username.clear();
@@ -53,6 +69,7 @@ public:
email.clear();
captchaResponse.clear();
gender = GENDER_UNSPECIFIED;
+ resetCharacterSlots();
}
};
diff --git a/src/net/manaserv/adminhandler.cpp b/src/net/manaserv/adminhandler.cpp
index 8a30e01b..db6c22ed 100644
--- a/src/net/manaserv/adminhandler.cpp
+++ b/src/net/manaserv/adminhandler.cpp
@@ -23,7 +23,7 @@
#include "net/manaserv/connection.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
extern Net::AdminHandler *adminHandler;
diff --git a/src/net/manaserv/attributes.cpp b/src/net/manaserv/attributes.cpp
new file mode 100644
index 00000000..e57c6278
--- /dev/null
+++ b/src/net/manaserv/attributes.cpp
@@ -0,0 +1,408 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "net/manaserv/attributes.h"
+
+#include "log.h"
+#include "playerinfo.h"
+
+#include "gui/statuswindow.h"
+
+#include "resources/itemdb.h"
+
+#include "utils/gettext.h"
+#include "utils/stringutils.h"
+#include "utils/xml.h"
+
+#include <list>
+#include <map>
+
+#define DEFAULT_ATTRIBUTESDB_FILE "attributes.xml"
+#define DEFAULT_POINTS 60
+#define DEFAULT_MIN_PTS 1
+#define DEFAULT_MAX_PTS 20
+
+namespace ManaServ {
+namespace Attributes {
+
+ typedef struct
+ {
+ unsigned int id;
+ std::string name;
+ std::string description;
+ /** Whether the attribute value can be modified by the player */
+ bool modifiable;
+ /**< Attribute scope. */
+ std::string scope;
+ /** The playerInfo core Id the attribute is linked with or -1 if not */
+ int playerInfoId;
+ } Attribute;
+
+ /** Map for attributes. */
+ typedef std::map<unsigned int, Attribute> AttributeMap;
+ static AttributeMap attributes;
+
+ /** tags = effects on attributes. */
+ typedef std::map< std::string, std::string > TagMap;
+ static TagMap tags;
+
+ /** List of modifiable attribute names used at character's creation. */
+ static std::vector<std::string> attributeLabels;
+
+ /** Characters creation points. */
+ static unsigned int creationPoints = 0;
+ static unsigned int attributeMinimum = 0;
+ static unsigned int attributeMaximum = 0;
+
+ unsigned int getCreationPoints()
+ {
+ return creationPoints;
+ }
+
+ unsigned int getAttributeMinimum()
+ {
+ return attributeMinimum;
+ }
+
+ unsigned int getAttributeMaximum()
+ {
+ return attributeMaximum;
+ }
+
+ std::vector<std::string>& getLabels()
+ {
+ return attributeLabels;
+ }
+
+ /**
+ * Fills the list of base attribute labels.
+ */
+ static void fillLabels()
+ {
+ // Fill up the modifiable attribute label list.
+ attributeLabels.clear();
+ AttributeMap::const_iterator it, it_end;
+ for (it = attributes.begin(), it_end = attributes.end(); it != it_end;
+ it++)
+ {
+ if (it->second.modifiable &&
+ (it->second.scope == "character" || it->second.scope == "being"))
+ attributeLabels.push_back(it->second.name + ":");
+ }
+ }
+
+ /**
+ * Fills the list of base attribute labels.
+ */
+ static int getPlayerInfoIdFromAttrType(std::string attrType)
+ {
+ toLower(attrType);
+ if (attrType == "level")
+ return ::LEVEL;
+ else if (attrType == "hp")
+ return ::HP;
+ else if (attrType == "max-hp")
+ return ::MAX_HP;
+ else if (attrType == "mp")
+ return ::MP;
+ else if (attrType == "max-mp")
+ return ::MAX_MP;
+ else if (attrType == "exp")
+ return ::EXP;
+ else if (attrType == "exp-needed")
+ return ::EXP_NEEDED;
+ else if (attrType == "money")
+ return ::MONEY;
+ else if (attrType == "total-weight")
+ return ::TOTAL_WEIGHT;
+ else if (attrType == "max-weight")
+ return ::MAX_WEIGHT;
+ else if (attrType == "skill-points")
+ return ::SKILL_POINTS;
+ else if (attrType == "char-points")
+ return ::CHAR_POINTS;
+ else if (attrType == "corr-points")
+ return ::CORR_POINTS;
+ else if (attrType == "none")
+ return -2; // Used to hide the attribute display.
+
+ return -1; // Not linked to a playerinfo stat.
+ }
+
+ int getPlayerInfoIdFromAttrId(int attrId)
+ {
+ AttributeMap::const_iterator it = attributes.find(attrId);
+
+ if (it != attributes.end())
+ {
+ return it->second.playerInfoId;
+ }
+
+ return -1;
+ }
+
+ static void loadBuiltins()
+ {
+ {
+ Attribute a;
+ a.id = 16;
+ a.name = _("Strength");
+ a.description = "";
+ a.modifiable = true;
+ a.scope = "character";
+ a.playerInfoId = -1;
+
+ attributes[a.id] = a;
+ tags.insert(std::make_pair("str", _("Strength %+.1f")));
+ }
+
+ {
+ Attribute a;
+ a.id = 17;
+ a.name = _("Agility");
+ a.description = "";
+ a.modifiable = true;
+ a.scope = "character";
+ a.playerInfoId = -1;
+
+ attributes[a.id] = a;
+ tags.insert(std::make_pair("agi", _("Agility %+.1f")));
+ }
+
+ {
+ Attribute a;
+ a.id = 18;
+ a.name = _("Dexterity");
+ a.description = "";
+ a.modifiable = true;
+ a.scope = "character";
+ a.playerInfoId = -1;
+
+ attributes[a.id] = a;
+ tags.insert(std::make_pair("dex", _("Dexterity %+.1f")));
+ }
+
+ {
+ Attribute a;
+ a.id = 19;
+ a.name = _("Vitality");
+ a.description = "";
+ a.modifiable = true;
+ a.scope = "character";
+ a.playerInfoId = -1;
+
+ attributes[a.id] = a;
+ tags.insert(std::make_pair("vit", _("Vitality %+.1f")));
+ }
+
+ {
+ Attribute a;
+ a.id = 20;
+ a.name = _("Intelligence");
+ a.description = "";
+ a.modifiable = true;
+ a.scope = "character";
+ a.playerInfoId = -1;
+
+ attributes[a.id] = a;
+ tags.insert(std::make_pair("int", _("Intelligence %+.1f")));
+ }
+
+ {
+ Attribute a;
+ a.id = 21;
+ a.name = _("Willpower");
+ a.description = "";
+ a.modifiable = true;
+ a.scope = "character";
+ a.playerInfoId = -1;
+
+ attributes[a.id] = a;
+ tags.insert(std::make_pair("wil", _("Willpower %+.1f")));
+ }
+ }
+
+ void load()
+ {
+ logger->log("Initializing attributes database...");
+
+ XML::Document doc(DEFAULT_ATTRIBUTESDB_FILE);
+ xmlNodePtr rootNode = doc.rootNode();
+
+ if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "attributes"))
+ {
+ logger->log("Attributes: Error while loading "
+ DEFAULT_ATTRIBUTESDB_FILE ". Using Built-ins.");
+ loadBuiltins();
+ fillLabels();
+ return;
+ }
+
+ for_each_xml_child_node(node, rootNode)
+ {
+ if (xmlStrEqual(node->name, BAD_CAST "attribute"))
+ {
+ int id = XML::getProperty(node, "id", 0);
+
+ if (!id)
+ {
+ logger->log("Attributes: Invalid or missing stat ID in "
+ DEFAULT_ATTRIBUTESDB_FILE "!");
+ continue;
+ }
+ else if (attributes.find(id) != attributes.end())
+ {
+ logger->log("Attributes: Redefinition of stat ID %d", id);
+ }
+
+ std::string name = XML::getProperty(node, "name", "");
+
+ if (name.empty())
+ {
+ logger->log("Attributes: Invalid or missing stat name in "
+ DEFAULT_ATTRIBUTESDB_FILE "!");
+ continue;
+ }
+
+ // Create the attribute.
+ Attribute a;
+ a.id = id;
+ a.name = name;
+ a.description = XML::getProperty(node, "desc", "");
+ a.modifiable = XML::getBoolProperty(node, "modifiable", false);
+ a.scope = XML::getProperty(node, "scope", "none");
+ a.playerInfoId = getPlayerInfoIdFromAttrType(
+ XML::getProperty(node, "player-info", ""));
+
+ attributes[id] = a;
+
+ unsigned int count = 0;
+ for_each_xml_child_node(effectNode, node)
+ {
+ if (!xmlStrEqual(effectNode->name, BAD_CAST "modifier"))
+ continue;
+ ++count;
+ std::string tag = XML::getProperty(effectNode, "tag", "");
+ if (tag.empty())
+ {
+ if (name.empty())
+ {
+ logger->log("Attribute modifier in attribute %u:%s: "
+ "Empty name definition "
+ "on empty tag definition, skipping.",
+ a.id, a.name.c_str());
+ --count;
+ continue;
+ }
+ tag = name.substr(0, name.size() > 3 ? 3 : name.size());
+ tag = toLower(tag) + toString(count);
+ }
+
+ std::string effect = XML::getProperty(effectNode, "effect", "");
+ if (effect.empty())
+ {
+ if (name.empty())
+ {
+ logger->log("Attribute modifier in attribute %u:%s: "
+ "Empty name definition "
+ "on empty effect definition, skipping.",
+ a.id, a.name.c_str());
+ --count;
+ continue;
+ }
+ else
+ effect = name + " %+f";
+ }
+ tags.insert(std::make_pair(tag, effect));
+ }
+ logger->log("Found %d tags for attribute %d.", count, id);
+
+ }// End attribute
+ else if (xmlStrEqual(node->name, BAD_CAST "points"))
+ {
+ creationPoints = XML::getProperty(node, "start",DEFAULT_POINTS);
+ attributeMinimum = XML::getProperty(node, "minimum",
+ DEFAULT_MIN_PTS);
+ attributeMaximum = XML::getProperty(node, "maximum",
+ DEFAULT_MAX_PTS);
+ logger->log("Loaded points: start: %i, min: %i, max: %i.",
+ creationPoints, attributeMinimum, attributeMaximum);
+ }
+ else
+ {
+ continue;
+ }
+ }
+ logger->log("Found %d tags for %d attributes.", int(tags.size()),
+ int(attributes.size()));
+
+ fillLabels();
+
+ // Sanity checks on starting points
+ float modifiableAttributeCount = (float) attributeLabels.size();
+ float averageValue = ((float) creationPoints) / modifiableAttributeCount;
+ if (averageValue > attributeMaximum || averageValue < attributeMinimum
+ || creationPoints < 1)
+ {
+ logger->log("Attributes: Character's point values make "
+ "the character's creation impossible. "
+ "Switch back to defaults.");
+ creationPoints = DEFAULT_POINTS;
+ attributeMinimum = DEFAULT_MIN_PTS;
+ attributeMaximum = DEFAULT_MAX_PTS;
+ }
+ }
+
+ void unload()
+ {
+ attributes.clear();
+ }
+
+ void informItemDB()
+ {
+ std::list<ItemStat> dbStats;
+
+ TagMap::const_iterator it, it_end;
+ for (it = tags.begin(), it_end = tags.end(); it != it_end; ++it)
+ dbStats.push_back(ItemStat(it->first,
+ it->second));
+
+ setStatsList(dbStats);
+ }
+
+ void informStatusWindow()
+ {
+ AttributeMap::const_iterator it, it_end;
+ for (it = attributes.begin(), it_end = attributes.end(); it != it_end;
+ it++)
+ {
+ if (it->second.playerInfoId == -1 &&
+ (it->second.scope == "character" || it->second.scope == "being"))
+ {
+ statusWindow->addAttribute(it->second.id,
+ it->second.name,
+ it->second.modifiable,
+ it->second.description);
+ }
+ }
+ }
+
+} // namespace Attributes
+} // namespace ManaServ
diff --git a/src/net/manaserv/attributes.h b/src/net/manaserv/attributes.h
new file mode 100644
index 00000000..aced85ec
--- /dev/null
+++ b/src/net/manaserv/attributes.h
@@ -0,0 +1,70 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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 NET_MANASERV_ATTRIBUTES_H
+#define NET_MANASERV_ATTRIBUTES_H
+
+#include <string>
+#include <vector>
+
+namespace ManaServ {
+namespace Attributes {
+
+ void load();
+
+ void unload();
+
+ void informItemDB();
+
+ void informStatusWindow();
+
+ /**
+ * Returns the list of base attribute labels.
+ */
+ std::vector<std::string>& getLabels();
+
+ /**
+ * Give back the corresponding playerinfo Id from the attribute id
+ * defined in the xml file.
+ */
+ int getPlayerInfoIdFromAttrId(int attrId);
+
+ /**
+ * Give the attribute points given to a character
+ * at its creation.
+ */
+ unsigned int getCreationPoints();
+
+ /**
+ * Give the minimum attribute point possible
+ * at character's creation.
+ */
+ unsigned int getAttributeMinimum();
+
+ /**
+ * Give the maximum attribute point possible
+ * at character's creation.
+ */
+ unsigned int getAttributeMaximum();
+
+} // namespace Attributes
+} // namespace ManaServ
+
+#endif // NET_MANASERV_ATTRIBUTES_H
diff --git a/src/net/manaserv/beinghandler.cpp b/src/net/manaserv/beinghandler.cpp
index 8df9a8ab..6e9b3645 100644
--- a/src/net/manaserv/beinghandler.cpp
+++ b/src/net/manaserv/beinghandler.cpp
@@ -21,13 +21,12 @@
#include "net/manaserv/beinghandler.h"
+#include "actorspritemanager.h"
#include "being.h"
-#include "beingmanager.h"
#include "client.h"
#include "game.h"
#include "localplayer.h"
#include "log.h"
-#include "npc.h"
#include "particle.h"
#include "gui/okdialog.h"
@@ -35,7 +34,7 @@
#include "net/messagein.h"
#include "net/manaserv/playerhandler.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
#include "resources/colordb.h"
@@ -121,7 +120,7 @@ Vector BeingHandler::giveSpeedInPixelsPerTicks(float speedInTilesPerSeconds)
return speedInTicks;
}
-static void handleLooks(Player *being, Net::MessageIn &msg)
+static void handleLooks(Being *being, Net::MessageIn &msg)
{
// Order of sent slots. Has to be in sync with the server code.
static int const nb_slots = 4;
@@ -145,7 +144,7 @@ static void handleLooks(Player *being, Net::MessageIn &msg)
{
if (!(mask & (1 << i))) continue;
int id = msg.readInt16();
- being->setSprite(slots[i], id);
+ being->setSprite(slots[i], id,"", (slots[i] == SPRITE_WEAPON));
}
}
@@ -156,6 +155,7 @@ void BeingHandler::handleBeingEnterMessage(Net::MessageIn &msg)
Being::Action action = (Being::Action)msg.readInt8();
int px = msg.readInt16();
int py = msg.readInt16();
+ BeingDirection direction = (BeingDirection)msg.readInt8();
Being *being;
switch (type)
@@ -170,23 +170,23 @@ void BeingHandler::handleBeingEnterMessage(Net::MessageIn &msg)
}
else
{
- being = beingManager->createBeing(id, Being::PLAYER, 0);
+ being = actorSpriteManager->createBeing(id,
+ ActorSprite::PLAYER, 0);
being->setName(name);
}
- Player *p = static_cast< Player * >(being);
int hs = msg.readInt8(), hc = msg.readInt8();
- p->setSprite(SPRITE_HAIR, hs * -1, ColorDB::get(hc));
- p->setGender(msg.readInt8() == GENDER_MALE ?
- GENDER_MALE : GENDER_FEMALE);
- handleLooks(p, msg);
+ being->setSprite(SPRITE_HAIR, hs * -1, ColorDB::get(hc));
+ being->setGender(msg.readInt8() == GENDER_MALE ?
+ GENDER_MALE : GENDER_FEMALE);
+ handleLooks(being, msg);
} break;
case OBJECT_MONSTER:
case OBJECT_NPC:
{
int subtype = msg.readInt16();
- being = beingManager->createBeing(id, type == OBJECT_MONSTER ?
- Being::MONSTER : Being::NPC, subtype);
+ being = actorSpriteManager->createBeing(id, type == OBJECT_MONSTER
+ ? ActorSprite::MONSTER : ActorSprite::NPC, subtype);
std::string name = msg.readString();
if (name.length() > 0) being->setName(name);
} break;
@@ -197,16 +197,17 @@ void BeingHandler::handleBeingEnterMessage(Net::MessageIn &msg)
being->setPosition(px, py);
being->setDestination(px, py);
+ being->setDirection(direction);
being->setAction(action);
}
void BeingHandler::handleBeingLeaveMessage(Net::MessageIn &msg)
{
- Being *being = beingManager->findBeing(msg.readInt16());
+ Being *being = actorSpriteManager->findBeing(msg.readInt16());
if (!being)
return;
- beingManager->destroyBeing(being);
+ actorSpriteManager->destroy(being);
}
void BeingHandler::handleBeingsMoveMessage(Net::MessageIn &msg)
@@ -215,7 +216,7 @@ void BeingHandler::handleBeingsMoveMessage(Net::MessageIn &msg)
{
int id = msg.readInt16();
int flags = msg.readInt8();
- Being *being = beingManager->findBeing(id);
+ Being *being = actorSpriteManager->findBeing(id);
int sx = 0;
int sy = 0;
int speed = 0;
@@ -257,20 +258,14 @@ void BeingHandler::handleBeingsMoveMessage(Net::MessageIn &msg)
void BeingHandler::handleBeingAttackMessage(Net::MessageIn &msg)
{
- Being *being = beingManager->findBeing(msg.readInt16());
- const int direction = msg.readInt8();
+ Being *being = actorSpriteManager->findBeing(msg.readInt16());
+ const BeingDirection direction = (BeingDirection) msg.readInt8();
const int attackType = msg.readInt8();
if (!being)
return;
- switch (direction)
- {
- case DIRECTION_UP: being->setDirection(Being::UP); break;
- case DIRECTION_DOWN: being->setDirection(Being::DOWN); break;
- case DIRECTION_LEFT: being->setDirection(Being::LEFT); break;
- case DIRECTION_RIGHT: being->setDirection(Being::RIGHT); break;
- }
+ being->setDirection(direction);
being->setAction(Being::ATTACK, attackType);
}
@@ -279,7 +274,7 @@ void BeingHandler::handleBeingsDamageMessage(Net::MessageIn &msg)
{
while (msg.getUnreadLength())
{
- Being *being = beingManager->findBeing(msg.readInt16());
+ Being *being = actorSpriteManager->findBeing(msg.readInt16());
int damage = msg.readInt16();
if (being)
{
@@ -290,7 +285,7 @@ void BeingHandler::handleBeingsDamageMessage(Net::MessageIn &msg)
void BeingHandler::handleBeingActionChangeMessage(Net::MessageIn &msg)
{
- Being *being = beingManager->findBeing(msg.readInt16());
+ Being *being = actorSpriteManager->findBeing(msg.readInt16());
Being::Action action = (Being::Action) msg.readInt8();
if (!being)
return;
@@ -329,38 +324,28 @@ void BeingHandler::handleBeingActionChangeMessage(Net::MessageIn &msg)
void BeingHandler::handleBeingLooksChangeMessage(Net::MessageIn &msg)
{
- Being *being = beingManager->findBeing(msg.readInt16());
- if (!being || being->getType() != Being::PLAYER)
+ Being *being = actorSpriteManager->findBeing(msg.readInt16());
+ if (!being || being->getType() != ActorSprite::PLAYER)
return;
- Player *player = static_cast<Player *>(being);
- handleLooks(player, msg);
+ handleLooks(being, msg);
if (msg.getUnreadLength())
{
int style = msg.readInt16();
int color = msg.readInt16();
- player->setSprite(SPRITE_HAIR, style * -1, ColorDB::get(color));
+ being->setSprite(SPRITE_HAIR, style * -1, ColorDB::get(color));
}
}
void BeingHandler::handleBeingDirChangeMessage(Net::MessageIn &msg)
{
- Being *being = beingManager->findBeing(msg.readInt16());
+ Being *being = actorSpriteManager->findBeing(msg.readInt16());
if (!being)
return;
int data = msg.readInt8();
// The direction for the player's character is handled on client side.
if (being != player_node)
- {
- switch (data)
- {
- case DIRECTION_UP: being->setDirection(Being::UP); break;
- case DIRECTION_DOWN: being->setDirection(Being::DOWN); break;
- case DIRECTION_LEFT: being->setDirection(Being::LEFT); break;
- case DIRECTION_RIGHT: being->setDirection(Being::RIGHT); break;
- default: break;
- }
- }
+ being->setDirection((BeingDirection) data);
}
} // namespace ManaServ
diff --git a/src/net/manaserv/buysellhandler.cpp b/src/net/manaserv/buysellhandler.cpp
index a4ce6aa0..c375ed75 100644
--- a/src/net/manaserv/buysellhandler.cpp
+++ b/src/net/manaserv/buysellhandler.cpp
@@ -21,18 +21,16 @@
#include "net/manaserv/buysellhandler.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
#include "item.h"
-#include "localplayer.h"
-#include "npc.h"
+#include "playerinfo.h"
#include "gui/buy.h"
-#include "gui/chat.h"
#include "gui/sell.h"
#include "net/messagein.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
namespace ManaServ {
@@ -49,8 +47,8 @@ BuySellHandler::BuySellHandler()
void BuySellHandler::handleMessage(Net::MessageIn &msg)
{
- Being *being = beingManager->findBeing(msg.readInt16());
- if (!being || being->getType() != Being::NPC)
+ Being *being = actorSpriteManager->findBeing(msg.readInt16());
+ if (!being || being->getType() != ActorSprite::NPC)
{
return;
}
@@ -64,7 +62,7 @@ void BuySellHandler::handleMessage(Net::MessageIn &msg)
BuyDialog* dialog = new BuyDialog(npcId);
dialog->reset();
- dialog->setMoney(player_node->getMoney());
+ dialog->setMoney(PlayerInfo::getAttribute(MONEY));
while (msg.getUnreadLength())
{
@@ -81,7 +79,7 @@ void BuySellHandler::handleMessage(Net::MessageIn &msg)
SellDialog* dialog = new SellDialog(npcId);
dialog->reset();
- dialog->setMoney(player_node->getMoney());
+ dialog->setMoney(PlayerInfo::getAttribute(MONEY));
while (msg.getUnreadLength())
{
diff --git a/src/net/manaserv/charhandler.cpp b/src/net/manaserv/charhandler.cpp
index e6723226..961b364a 100644
--- a/src/net/manaserv/charhandler.cpp
+++ b/src/net/manaserv/charhandler.cpp
@@ -36,8 +36,8 @@
#include "net/manaserv/gamehandler.h"
#include "net/manaserv/messagein.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/protocol.h"
-#include "net/manaserv/stats.h"
+#include "net/manaserv/manaserv_protocol.h"
+#include "net/manaserv/attributes.h"
#include "resources/colordb.h"
@@ -108,11 +108,15 @@ void CharHandler::handleCharacterInfo(Net::MessageIn &msg)
info.level = msg.readInt16();
info.characterPoints = msg.readInt16();
info.correctionPoints = msg.readInt16();
- info.money = msg.readInt32();
- for (int i = 0; i < 7; i++)
+ while (msg.getUnreadLength() > 0)
{
- info.attribute[i] = msg.readInt8();
+ int id = msg.readInt32();
+ CachedAttrbiute attr;
+ attr.base = msg.readInt32() / 256.0;
+ attr.mod = msg.readInt32() / 256.0;
+
+ info.attribute[id] = attr;
}
mCachedCharacterInfos.push_back(info);
@@ -157,8 +161,14 @@ void CharHandler::handleCharacterCreateResponse(Net::MessageIn &msg)
case CREATE_ATTRIBUTES_TOO_LOW:
errorMessage = _("Character's stats are too low.");
break;
- case CREATE_ATTRIBUTES_EQUAL_TO_ZERO:
- errorMessage = _("One stat is zero.");
+ case CREATE_ATTRIBUTES_OUT_OF_RANGE:
+ errorMessage = strprintf( _("At least one stat"
+ "is out of the permitted range: (%u - %u)."),
+ Attributes::getAttributeMinimum(),
+ Attributes::getAttributeMaximum());
+ break;
+ case CREATE_INVALID_SLOT:
+ errorMessage = _("Invalid slot number.");
break;
default:
errorMessage = _("Unknown error.");
@@ -189,7 +199,6 @@ void CharHandler::handleCharacterDeleteResponse(Net::MessageIn &msg)
delete mSelectedCharacter;
mCharacters.remove(mSelectedCharacter);
updateCharSelectDialog();
- unlockCharSelectDialog();
new OkDialog(_("Info"), _("Player deleted."));
}
else
@@ -210,6 +219,7 @@ void CharHandler::handleCharacterDeleteResponse(Net::MessageIn &msg)
new OkDialog(_("Error"), errorMessage);
}
mSelectedCharacter = 0;
+ unlockCharSelectDialog();
}
void CharHandler::handleCharacterSelectResponse(Net::MessageIn &msg)
@@ -233,6 +243,7 @@ void CharHandler::handleCharacterSelectResponse(Net::MessageIn &msg)
// Prevent the selected local player from being deleted
player_node = mSelectedCharacter->dummy;
+ PlayerInfo::setBackend(mSelectedCharacter->data);
mSelectedCharacter->dummy = 0;
Client::setState(STATE_CONNECT_GAME);
@@ -259,7 +270,10 @@ void CharHandler::setCharCreateDialog(CharCreateDialog *window)
if (!mCharCreateDialog)
return;
- mCharCreateDialog->setAttributes(Stats::getLabelVector(), 60, 1, 20);
+ mCharCreateDialog->setAttributes(Attributes::getLabels(),
+ Attributes::getCreationPoints(),
+ Attributes::getAttributeMinimum(),
+ Attributes::getAttributeMaximum());
}
void CharHandler::requestCharacters()
@@ -285,7 +299,7 @@ void CharHandler::chooseCharacter(Net::Character *character)
}
void CharHandler::newCharacter(const std::string &name,
- int /* slot */,
+ int slot,
bool gender,
int hairstyle,
int hairColor,
@@ -297,6 +311,7 @@ void CharHandler::newCharacter(const std::string &name,
msg.writeInt8(hairstyle);
msg.writeInt8(hairColor);
msg.writeInt8(gender);
+ msg.writeInt8(slot);
std::vector<int>::const_iterator it, it_end;
for (it = stats.begin(), it_end = stats.end(); it != it_end; it++)
@@ -319,17 +334,17 @@ void CharHandler::switchCharacter()
gameHandler->quit(true);
}
-int CharHandler::baseSprite() const
+unsigned int CharHandler::baseSprite() const
{
return SPRITE_BASE;
}
-int CharHandler::hairSprite() const
+unsigned int CharHandler::hairSprite() const
{
return SPRITE_HAIR;
}
-int CharHandler::maxSprite() const
+unsigned int CharHandler::maxSprite() const
{
return SPRITE_VECTOREND;
}
@@ -350,19 +365,20 @@ void CharHandler::updateCharacters()
Net::Character *character = new Net::Character;
character->slot = info.slot;
- LocalPlayer *player = character->dummy;
+ LocalPlayer *player = character->dummy = new LocalPlayer;
player->setName(info.name);
player->setGender(info.gender);
player->setSprite(SPRITE_HAIR, info.hairStyle * -1,
ColorDB::get(info.hairColor));
- player->setLevel(info.level);
- player->setCharacterPoints(info.characterPoints);
- player->setCorrectionPoints(info.correctionPoints);
- player->setMoney(info.money);
+ character->data.mAttributes[LEVEL] = info.level;
+ character->data.mAttributes[CHAR_POINTS] = info.characterPoints;
+ character->data.mAttributes[CORR_POINTS] = info.correctionPoints;
- for (int i = 0; i < 7; i++)
+ for (CachedAttributes::const_iterator it = info.attribute.begin(),
+ it_end = info.attribute.end(); it != it_end; it++)
{
- player->setAttributeBase(i, info.attribute[i], false);
+ character->data.mStats[i].base = it->second.base;
+ character->data.mStats[i].mod = it->second.mod;
}
mCharacters.push_back(character);
diff --git a/src/net/manaserv/charhandler.h b/src/net/manaserv/charhandler.h
index 26a7bf4e..2f335688 100644
--- a/src/net/manaserv/charhandler.h
+++ b/src/net/manaserv/charhandler.h
@@ -28,6 +28,8 @@
#include "net/manaserv/messagehandler.h"
+#include <map.h>
+
class LoginData;
namespace ManaServ {
@@ -65,11 +67,11 @@ class CharHandler : public MessageHandler, public Net::CharHandler
void switchCharacter();
- int baseSprite() const;
+ unsigned int baseSprite() const;
- int hairSprite() const;
+ unsigned int hairSprite() const;
- int maxSprite() const;
+ unsigned int maxSprite() const;
void clear();
@@ -79,6 +81,13 @@ class CharHandler : public MessageHandler, public Net::CharHandler
* we have loaded the dynamic data, so we can't resolve load any
* sprites yet.
*/
+ struct CachedAttrbiute {
+ double base;
+ double mod;
+ };
+
+ typedef std::map<int, CachedAttrbiute> CachedAttributes;
+
struct CachedCharacterInfo {
int slot;
std::string name;
@@ -88,8 +97,7 @@ class CharHandler : public MessageHandler, public Net::CharHandler
int level;
int characterPoints;
int correctionPoints;
- int money;
- int attribute[7];
+ CachedAttributes attribute;
};
void handleCharacterInfo(Net::MessageIn &msg);
diff --git a/src/net/manaserv/chathandler.cpp b/src/net/manaserv/chathandler.cpp
index a452281f..da5dc79b 100644
--- a/src/net/manaserv/chathandler.cpp
+++ b/src/net/manaserv/chathandler.cpp
@@ -21,20 +21,20 @@
#include "net/manaserv/chathandler.h"
+#include "actorspritemanager.h"
#include "being.h"
-#include "beingmanager.h"
#include "client.h"
#include "channel.h"
#include "channelmanager.h"
-
-#include "gui/chat.h"
+#include "event.h"
+#include "playerrelations.h"
#include "gui/widgets/channeltab.h"
#include "net/manaserv/connection.h"
#include "net/manaserv/messagein.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -149,22 +149,29 @@ void ChatHandler::handleGameChatMessage(Net::MessageIn &msg)
if (id == 0)
{
- localChatTab->chatLog(chatMsg, BY_SERVER);
+ SERVER_NOTICE(chatMsg)
return;
}
- Being *being = beingManager->findBeing(id);
+ Being *being = actorSpriteManager->findBeing(id);
std::string mes;
if (being)
{
mes = being->getName() + " : " + chatMsg;
- being->setSpeech(chatMsg, SPEECH_TIME);
}
else
mes = "Unknown : " + chatMsg;
- localChatTab->chatLog(mes, being == player_node ? BY_PLAYER : BY_OTHER);
+ Mana::Event event(being == player_node ? EVENT_PLAYER : EVENT_BEING);
+ event.setString("message", mes);
+ event.setString("text", chatMsg);
+ event.setString("nick", being->getName());
+ event.setInt("beingId", id);
+ event.setInt("permissions", player_relations
+ .checkPermissionSilently(being->getName(),
+ PlayerRelation::SPEECH_LOG | PlayerRelation::SPEECH_FLOAT));
+ event.trigger(CHANNEL_CHAT);
}
void ChatHandler::handleEnterChannelResponse(Net::MessageIn &msg)
@@ -198,13 +205,13 @@ void ChatHandler::handleEnterChannelResponse(Net::MessageIn &msg)
}
else
{
- localChatTab->chatLog(_("Error joining channel."), BY_SERVER);
+ SERVER_NOTICE(_("Error joining channel."))
}
}
void ChatHandler::handleListChannelsResponse(Net::MessageIn &msg)
{
- localChatTab->chatLog(_("Listing channels."), BY_SERVER);
+ SERVER_NOTICE(_("Listing channels."))
while (msg.getUnreadLength())
{
std::string channelName = msg.readString();
@@ -214,9 +221,9 @@ void ChatHandler::handleListChannelsResponse(Net::MessageIn &msg)
numUsers << msg.readInt16();
channelName += " - ";
channelName += numUsers.str();
- localChatTab->chatLog(channelName, BY_SERVER);
+ SERVER_NOTICE(channelName)
}
- localChatTab->chatLog(_("End of channel list."), BY_SERVER);
+ SERVER_NOTICE(_("End of channel list."))
}
void ChatHandler::handlePrivateMessage(Net::MessageIn &msg)
@@ -224,13 +231,18 @@ void ChatHandler::handlePrivateMessage(Net::MessageIn &msg)
std::string userNick = msg.readString();
std::string chatMsg = msg.readString();
- chatWindow->whisper(userNick, chatMsg);
+ Mana::Event event(EVENT_WHISPER);
+ event.setString("nick", userNick);
+ event.setString("message", chatMsg);
+ event.trigger(CHANNEL_CHAT);
}
void ChatHandler::handleAnnouncement(Net::MessageIn &msg)
{
std::string chatMsg = msg.readString();
- localChatTab->chatLog(chatMsg, BY_GM);
+ Mana::Event event(EVENT_ANNOUNCEMENT);
+ event.setString("message", chatMsg);
+ event.trigger(CHANNEL_CHAT);
}
void ChatHandler::handleChatMessage(Net::MessageIn &msg)
@@ -341,7 +353,7 @@ void ChatHandler::handleWhoResponse(Net::MessageIn &msg)
{
break;
}
- localChatTab->chatLog(userNick, BY_SERVER);
+ SERVER_NOTICE(userNick)
}
}
diff --git a/src/net/manaserv/connection.cpp b/src/net/manaserv/connection.cpp
index fbd2ed22..b404191f 100644
--- a/src/net/manaserv/connection.cpp
+++ b/src/net/manaserv/connection.cpp
@@ -60,7 +60,7 @@ bool Connection::connect(const std::string &address, short port)
enetAddress.port = port;
// Initiate the connection, allocating channel 0.
-#ifdef ENET_VERSION_MAJOR
+#if defined(ENET_VERSION) && ENET_VERSION >= ENET_CUTOFF
mConnection = enet_host_connect(mClient, &enetAddress, 1, 0);
#else
mConnection = enet_host_connect(mClient, &enetAddress, 1);
diff --git a/src/net/manaserv/connection.h b/src/net/manaserv/connection.h
index b39f8957..808a6d40 100644
--- a/src/net/manaserv/connection.h
+++ b/src/net/manaserv/connection.h
@@ -26,6 +26,12 @@
#include <iosfwd>
+#ifdef ENET_VERSION_CREATE
+#define ENET_CUTOFF ENET_VERSION_CREATE(1,3,0)
+#else
+#define ENET_CUTOFF 0xFFFFFFFF
+#endif
+
namespace ManaServ
{
class MessageOut;
diff --git a/src/net/manaserv/defines.h b/src/net/manaserv/defines.h
new file mode 100644
index 00000000..e97866df
--- /dev/null
+++ b/src/net/manaserv/defines.h
@@ -0,0 +1,76 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2004-2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 The Mana Developers
+ *
+ * This file is part of The Mana 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 MANASERV_DEFINES_H
+#define MANASERV_DEFINES_H
+
+/**
+ * Attributes used during combat. Available to all the beings.
+ */
+enum
+{
+BASE_ATTR_BEGIN = 0,
+ BASE_ATTR_PHY_ATK_MIN = BASE_ATTR_BEGIN,
+ BASE_ATTR_PHY_ATK_DELTA,
+ /**< Physical attack power. */
+ BASE_ATTR_MAG_ATK, /**< Magical attack power. */
+ BASE_ATTR_PHY_RES, /**< Resistance to physical damage. */
+ BASE_ATTR_MAG_RES, /**< Resistance to magical damage. */
+ BASE_ATTR_EVADE, /**< Ability to avoid hits. */
+ BASE_ATTR_HIT, /**< Ability to hit stuff. */
+ BASE_ATTR_HP, /**< Hit Points (Base value: maximum, Modded value: current) */
+ BASE_ATTR_HP_REGEN,/**< number of HP regenerated every 10 game ticks */
+ BASE_ATTR_END,
+ BASE_ATTR_NB = BASE_ATTR_END - BASE_ATTR_BEGIN,
+
+ BASE_ELEM_BEGIN = BASE_ATTR_END,
+ BASE_ELEM_NEUTRAL = BASE_ELEM_BEGIN,
+ BASE_ELEM_FIRE,
+ BASE_ELEM_WATER,
+ BASE_ELEM_EARTH,
+ BASE_ELEM_AIR,
+ BASE_ELEM_SACRED,
+ BASE_ELEM_DEATH,
+ BASE_ELEM_END,
+ BASE_ELEM_NB = BASE_ELEM_END - BASE_ELEM_BEGIN,
+
+ NB_BEING_ATTRIBUTES = BASE_ELEM_END
+};
+
+/**
+ * Attributes of characters. Used to derive being attributes.
+ */
+enum
+{
+ CHAR_ATTR_BEGIN = NB_BEING_ATTRIBUTES,
+ CHAR_ATTR_STRENGTH = CHAR_ATTR_BEGIN,
+ CHAR_ATTR_AGILITY,
+ CHAR_ATTR_DEXTERITY,
+ CHAR_ATTR_VITALITY,
+ CHAR_ATTR_INTELLIGENCE,
+ CHAR_ATTR_WILLPOWER,
+ CHAR_ATTR_END,
+ CHAR_ATTR_NB = CHAR_ATTR_END - CHAR_ATTR_BEGIN,
+
+ NB_CHARACTER_ATTRIBUTES = CHAR_ATTR_END
+};
+
+#endif // MANASERV_DEFINES_H
diff --git a/src/net/manaserv/effecthandler.cpp b/src/net/manaserv/effecthandler.cpp
index 27db9b59..2df3fe0b 100644
--- a/src/net/manaserv/effecthandler.cpp
+++ b/src/net/manaserv/effecthandler.cpp
@@ -21,13 +21,13 @@
#include "net/manaserv/effecthandler.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
#include "effectmanager.h"
#include "log.h"
#include "net/messagein.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
namespace ManaServ {
@@ -68,7 +68,7 @@ void EffectHandler::handleCreateEffectBeing(Net::MessageIn &msg)
{
int eid = msg.readInt16();
int bid = msg.readInt16();
- Being* b = beingManager->findBeing(bid);
+ Being* b = actorSpriteManager->findBeing(bid);
if (b)
effectManager->trigger(eid, b);
else
diff --git a/src/net/manaserv/gamehandler.cpp b/src/net/manaserv/gamehandler.cpp
index 5e29a896..040a5e6c 100644
--- a/src/net/manaserv/gamehandler.cpp
+++ b/src/net/manaserv/gamehandler.cpp
@@ -27,7 +27,7 @@
#include "net/manaserv/chathandler.h"
#include "net/manaserv/connection.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
extern Net::GameHandler *gameHandler;
@@ -115,16 +115,6 @@ void GameHandler::disconnect()
chatHandler->disconnect();
}
-void GameHandler::inGame()
-{
- // TODO
-}
-
-void GameHandler::mapLoaded(const std::string &mapName)
-{
- // TODO
-}
-
void GameHandler::who()
{
// TODO
diff --git a/src/net/manaserv/gamehandler.h b/src/net/manaserv/gamehandler.h
index dde1748f..2e9f37fe 100644
--- a/src/net/manaserv/gamehandler.h
+++ b/src/net/manaserv/gamehandler.h
@@ -42,10 +42,6 @@ class GameHandler : public MessageHandler, public Net::GameHandler
void disconnect();
- void inGame();
-
- void mapLoaded(const std::string &mapName);
-
void who();
void quit(bool reconnectAccount);
@@ -53,12 +49,15 @@ class GameHandler : public MessageHandler, public Net::GameHandler
void quit() { quit(false); }
void ping(int tick);
-
+
bool removeDeadBeings() const { return false; }
void clear();
void gameLoading();
+
+ /** The ManaServ protocol doesn't use the MP status bar. */
+ bool canUseMagicBar() const { return false; }
};
} // namespace ManaServ
diff --git a/src/net/manaserv/generalhandler.cpp b/src/net/manaserv/generalhandler.cpp
index 0d3073f1..d2151307 100644
--- a/src/net/manaserv/generalhandler.cpp
+++ b/src/net/manaserv/generalhandler.cpp
@@ -46,7 +46,7 @@
#include "net/manaserv/partyhandler.h"
#include "net/manaserv/playerhandler.h"
#include "net/manaserv/specialhandler.h"
-#include "net/manaserv/stats.h"
+#include "net/manaserv/attributes.h"
#include "net/manaserv/tradehandler.h"
#include "utils/gettext.h"
@@ -90,6 +90,9 @@ GeneralHandler::GeneralHandler():
chatServerConnection = getConnection();
generalHandler = this;
+
+ listen(CHANNEL_CLIENT);
+ listen(CHANNEL_GAME);
}
void GeneralHandler::load()
@@ -127,9 +130,9 @@ void GeneralHandler::reload()
gameServer.clear();
chatServer.clear();
- Stats::unload();
- Stats::load();
- Stats::informItemDB();
+ Attributes::unload();
+ Attributes::load();
+ Attributes::informItemDB();
}
void GeneralHandler::unload()
@@ -147,7 +150,7 @@ void GeneralHandler::unload()
delete gameServerConnection;
delete chatServerConnection;
- Stats::unload();
+ Attributes::unload();
finalize();
}
@@ -163,38 +166,43 @@ void GeneralHandler::flushNetwork()
}
}
-void GeneralHandler::guiWindowsLoaded()
-{
- inventoryWindow->setSplitAllowed(true);
- skillDialog->loadSkills("mana-skills.xml");
- specialsWindow->loadSpecials("specials.xml");
-
- player_node->setExpNeeded(100);
-
- Stats::informStatusWindow();
-}
-
-void GeneralHandler::guiWindowsUnloaded()
-{
- // TODO
-}
-
void GeneralHandler::clearHandlers()
{
clearNetworkHandlers();
}
-void GeneralHandler::stateChanged(State oldState, State newState)
+void GeneralHandler::event(Channels channel,
+ const Mana::Event &event)
{
- if (newState == STATE_GAME)
+ if (channel == CHANNEL_CLIENT)
{
- GameHandler *game = static_cast<GameHandler*>(Net::getGameHandler());
- game->gameLoading();
+ if (event.getName() == EVENT_STATECHANGE)
+ {
+ int newState = event.getInt("newState");
+
+ if (newState == STATE_GAME)
+ {
+ GameHandler *game = static_cast<GameHandler*>(Net::getGameHandler());
+ game->gameLoading();
+ }
+ }
+ else if (event.getName() == EVENT_DBSLOADING)
+ {
+ Attributes::load();
+ Attributes::informItemDB();
+ }
}
- else if (newState == STATE_LOAD_DATA)
+ else if (channel == CHANNEL_GAME)
{
- Stats::load();
- Stats::informItemDB();
+ if (event.getName() == EVENT_GUIWINDOWSLOADED)
+ {
+ inventoryWindow->setSplitAllowed(true);
+ skillDialog->loadSkills("mana-skills.xml");
+
+ PlayerInfo::setAttribute(EXP_NEEDED, 100);
+
+ Attributes::informStatusWindow();
+ }
}
}
diff --git a/src/net/manaserv/generalhandler.h b/src/net/manaserv/generalhandler.h
index 58b95529..c8671ec1 100644
--- a/src/net/manaserv/generalhandler.h
+++ b/src/net/manaserv/generalhandler.h
@@ -22,6 +22,8 @@
#ifndef NET_MANASERV_GENERALHANDLER_H
#define NET_MANASERV_GENERALHANDLER_H
+#include "listener.h"
+
#include "net/generalhandler.h"
#include "net/net.h"
@@ -29,7 +31,7 @@
namespace ManaServ {
-class GeneralHandler : public Net::GeneralHandler
+class GeneralHandler : public Net::GeneralHandler, public Mana::Listener
{
public:
GeneralHandler();
@@ -42,13 +44,9 @@ class GeneralHandler : public Net::GeneralHandler
void flushNetwork();
- void guiWindowsLoaded();
-
- void guiWindowsUnloaded();
-
void clearHandlers();
- void stateChanged(State oldState, State newState);
+ void event(Channels channel, const Mana::Event &event);
protected:
MessageHandlerPtr mBeingHandler;
diff --git a/src/net/manaserv/guildhandler.cpp b/src/net/manaserv/guildhandler.cpp
index 253efb01..a2c571bc 100644
--- a/src/net/manaserv/guildhandler.cpp
+++ b/src/net/manaserv/guildhandler.cpp
@@ -21,23 +21,24 @@
#include "net/manaserv/guildhandler.h"
+#include "event.h"
#include "guild.h"
#include "log.h"
#include "localplayer.h"
#include "channel.h"
#include "channelmanager.h"
-#include "gui/widgets/channeltab.h"
-#include "gui/chat.h"
#include "gui/socialwindow.h"
+#include "gui/widgets/channeltab.h"
+
#include "net/messagein.h"
#include "net/net.h"
#include "net/manaserv/connection.h"
#include "net/manaserv/messagein.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -78,12 +79,12 @@ void GuildHandler::handleMessage(Net::MessageIn &msg)
if (msg.readInt8() == ERRMSG_OK)
{
// TODO - Acknowledge guild was created
- localChatTab->chatLog(_("Guild created."));
+ SERVER_NOTICE(_("Guild created."))
joinedGuild(msg);
}
else
{
- localChatTab->chatLog(_("Error creating guild."));
+ SERVER_NOTICE(_("Error creating guild."))
}
} break;
@@ -93,7 +94,7 @@ void GuildHandler::handleMessage(Net::MessageIn &msg)
if (msg.readInt8() == ERRMSG_OK)
{
// TODO - Acknowledge invite was sent
- localChatTab->chatLog(_("Invite sent."));
+ SERVER_NOTICE(_("Invite sent."))
}
} break;
@@ -200,12 +201,12 @@ void GuildHandler::handleMessage(Net::MessageIn &msg)
if (msg.readInt8() == ERRMSG_OK)
{
// promotion succeeded
- localChatTab->chatLog(_("Member was promoted successfully."));
+ SERVER_NOTICE(_("Member was promoted successfully."))
}
else
{
// promotion failed
- localChatTab->chatLog(_("Failed to promote member."));
+ SERVER_NOTICE(_("Failed to promote member."))
}
}
@@ -275,9 +276,9 @@ void GuildHandler::invite(int guildId, const std::string &name)
chatServerConnection->send(msg);
}
-void GuildHandler::invite(int guildId, Player *player)
+void GuildHandler::invite(int guildId, Being *being)
{
- invite(guildId, player->getName());
+ invite(guildId, being->getName());
}
void GuildHandler::inviteResponse(int guildId, bool response)
diff --git a/src/net/manaserv/guildhandler.h b/src/net/manaserv/guildhandler.h
index 9929d135..bde677fb 100644
--- a/src/net/manaserv/guildhandler.h
+++ b/src/net/manaserv/guildhandler.h
@@ -41,7 +41,7 @@ public:
void invite(int guildId, const std::string &name);
- void invite(int guidId, Player *player);
+ void invite(int guidId, Being *being);
void inviteResponse(int guidId, bool response);
diff --git a/src/net/manaserv/inventoryhandler.cpp b/src/net/manaserv/inventoryhandler.cpp
index 76fca7ae..5edf3597 100644
--- a/src/net/manaserv/inventoryhandler.cpp
+++ b/src/net/manaserv/inventoryhandler.cpp
@@ -26,18 +26,15 @@
#include "item.h"
#include "itemshortcut.h"
#include "localplayer.h"
-
-#include "gui/chat.h"
+#include "playerinfo.h"
#include "net/manaserv/connection.h"
#include "net/manaserv/messagein.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
#include "resources/iteminfo.h"
-#include "log.h" // <<< REMOVE ME!
-
extern Net::InventoryHandler *inventoryHandler;
namespace ManaServ {
@@ -49,10 +46,13 @@ InventoryHandler::InventoryHandler()
static const Uint16 _messages[] = {
GPMSG_INVENTORY_FULL,
GPMSG_INVENTORY,
+ GPMSG_EQUIP,
0
};
handledMessages = _messages;
inventoryHandler = this;
+
+ listen(CHANNEL_ITEM);
}
void InventoryHandler::handleMessage(Net::MessageIn &msg)
@@ -60,114 +60,142 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
switch (msg.getId())
{
case GPMSG_INVENTORY_FULL:
- player_node->clearInventory();
- player_node->mEquipment->setBackend(&mEquips);
- // no break!
-
- case GPMSG_INVENTORY:
- while (msg.getUnreadLength())
{
- unsigned int slot = msg.readInt8();
- if (slot == 255)
+ PlayerInfo::clearInventory();
+ PlayerInfo::getEquipment()->setBackend(&mEquips);
+ int count = msg.readInt16();
+ while (count--)
{
- player_node->setMoney(msg.readInt32());
- continue;
+ unsigned int slot = msg.readInt16();
+ int id = msg.readInt16();
+ unsigned int amount = msg.readInt16();
+ PlayerInfo::setInventoryItem(slot, id, amount);
}
-
- int id = msg.readInt16();
- if (slot < EQUIPMENT_SIZE)
- {
- mEquips.setEquipment(slot, id);
- }
- else if (slot >= 32 && slot < 32 + getSize(Inventory::INVENTORY))
+ while (msg.getUnreadLength())
{
- int amount = id ? msg.readInt8() : 0;
- player_node->setInvItem(slot - 32, id, amount);
+ unsigned int slot = msg.readInt8();
+ unsigned int ref = msg.readInt16();
+
+ mEquips.addEquipment(slot, ref);
}
- };
+ }
break;
- }
-}
-void InventoryHandler::equipItem(const Item *item)
-{
- MessageOut msg(PGMSG_EQUIP);
- msg.writeInt8(item->getInvIndex());
- gameServerConnection->send(msg);
-}
-
-void InventoryHandler::unequipItem(const Item *item)
-{
- MessageOut msg(PGMSG_UNEQUIP);
- msg.writeInt8(item->getInvIndex());
- gameServerConnection->send(msg);
-
- // Tidy equipment directly to avoid weapon still shown bug, for instance
- int equipSlot = item->getInvIndex();
- logger->log("Unequipping %d", equipSlot);
- mEquips.setEquipment(equipSlot, 0);
-}
-
-void InventoryHandler::useItem(const Item *item)
-{
- MessageOut msg(PGMSG_USE_ITEM);
- msg.writeInt8(item->getInvIndex());
- gameServerConnection->send(msg);
-}
-
-void InventoryHandler::dropItem(const Item *item, int amount)
-{
- MessageOut msg(PGMSG_DROP);
- msg.writeInt8(item->getInvIndex());
- msg.writeInt8(amount);
- gameServerConnection->send(msg);
-}
+ case GPMSG_INVENTORY:
+ while (msg.getUnreadLength())
+ {
+ unsigned int slot = msg.readInt16();
+ int id = msg.readInt16();
+ unsigned int amount = id ? msg.readInt16() : 0;
+ PlayerInfo::setInventoryItem(slot, id, amount);
+ }
+ break;
-bool InventoryHandler::canSplit(const Item *item)
-{
- return item && !item->isEquipment() && item->getQuantity() > 1;
-}
+ case GPMSG_EQUIP:
+ while (msg.getUnreadLength())
+ {
+ unsigned int ref = msg.readInt16();
+ int count = msg.readInt8();
+ while (count--)
+ {
+ unsigned int slot = msg.readInt8();
+ unsigned int used = msg.readInt8();
-void InventoryHandler::splitItem(const Item *item, int amount)
-{
- int newIndex = player_node->getInventory()->getFreeSlot();
- if (newIndex > Inventory::NO_SLOT_INDEX)
- {
- MessageOut msg(PGMSG_MOVE_ITEM);
- msg.writeInt8(item->getInvIndex());
- msg.writeInt8(newIndex);
- msg.writeInt8(amount);
- gameServerConnection->send(msg);
+ mEquips.setEquipment(slot, used, ref);
+ }
+ }
+ break;
}
}
-void InventoryHandler::moveItem(int oldIndex, int newIndex)
-{
- if (oldIndex == newIndex)
- return;
-
- MessageOut msg(PGMSG_MOVE_ITEM);
- msg.writeInt8(oldIndex);
- msg.writeInt8(newIndex);
- msg.writeInt8(player_node->getInventory()->getItem(oldIndex)
- ->getQuantity());
- gameServerConnection->send(msg);
-}
-
-void InventoryHandler::openStorage(int type)
+void InventoryHandler::event(Channels channel,
+ const Mana::Event &event)
{
- // TODO
-}
+ if (channel == CHANNEL_ITEM)
+ {
+ Item *item = event.getItem("item");
+
+ if (!item)
+ return;
+
+ int index = item->getInvIndex();
+
+ if (event.getName() == EVENT_DOEQUIP)
+ {
+ MessageOut msg(PGMSG_EQUIP);
+ msg.writeInt8(index);
+ gameServerConnection->send(msg);
+ }
+ else if (event.getName() == EVENT_DOUNEQUIP)
+ {
+ MessageOut msg(PGMSG_UNEQUIP);
+ msg.writeInt8(index);
+ gameServerConnection->send(msg);
+
+ // Tidy equipment directly to avoid weapon still shown bug,
+ // for instance.
+ mEquips.setEquipment(index, 0, 0);
+ }
+ else if (event.getName() == EVENT_DOUSE)
+ {
+ MessageOut msg(PGMSG_USE_ITEM);
+ msg.writeInt8(index);
+ gameServerConnection->send(msg);
+ }
+ else if (event.getName() == EVENT_DODROP)
+ {
+ int amount = event.getInt("amount", 1);
+
+ MessageOut msg(PGMSG_DROP);
+ msg.writeInt8(index);
+ msg.writeInt8(amount);
+ gameServerConnection->send(msg);
+ }
+ else if (event.getName() == EVENT_DOSPLIT)
+ {
+ int amount = event.getInt("amount", 1);
+
+ int newIndex = PlayerInfo::getInventory()->getFreeSlot();
+ if (newIndex > Inventory::NO_SLOT_INDEX)
+ {
+ MessageOut msg(PGMSG_MOVE_ITEM);
+ msg.writeInt8(index);
+ msg.writeInt8(newIndex);
+ msg.writeInt8(amount);
+ gameServerConnection->send(msg);
+ }
+ }
+ else if (event.getName() == EVENT_DOMOVE)
+ {
+ int newIndex = event.getInt("newIndex", -1);
+
+ if (newIndex >= 0)
+ {
+ if (index == newIndex)
+ return;
+
+ MessageOut msg(PGMSG_MOVE_ITEM);
+ msg.writeInt8(index);
+ msg.writeInt8(newIndex);
+ msg.writeInt8(item->getQuantity());
+ gameServerConnection->send(msg);
+ }
+ else
+ {
+ /*int source = event.getInt("source");
+ int destination = event.getInt("destination");
+ int amount = event.getInt("amount", 1);*/
-void InventoryHandler::closeStorage(int type)
-{
- // TODO
+ // TODO
+ }
+ }
+ }
}
-void InventoryHandler::moveItem(int source, int slot, int amount,
- int destination)
+bool InventoryHandler::canSplit(const Item *item)
{
- // TODO
+ return item && !item->getInfo().getEquippable()
+ && item->getQuantity() > 1;
}
size_t InventoryHandler::getSize(int type) const
diff --git a/src/net/manaserv/inventoryhandler.h b/src/net/manaserv/inventoryhandler.h
index fd08b95e..bb68ceeb 100644
--- a/src/net/manaserv/inventoryhandler.h
+++ b/src/net/manaserv/inventoryhandler.h
@@ -23,6 +23,7 @@
#define NET_MANASERV_INVENTORYHANDLER_H
#include "equipment.h"
+#include "listener.h"
#include "net/inventoryhandler.h"
@@ -37,64 +38,38 @@ class EquipBackend : public Equipment::Backend
{ memset(mEquipment, 0, sizeof(mEquipment)); }
Item *getEquipment(int index) const
- { return mEquipment[index]; }
+ { return 0; }
void clear()
{
- for (int i = 0; i < EQUIPMENT_SIZE; ++i)
- delete mEquipment[i];
+ }
- std::fill_n(mEquipment, EQUIPMENT_SIZE, (Item*) 0);
+ void setEquipment(unsigned int slot, unsigned int used, int reference)
+ {
+ printf("Equip: %d at %dx%d\n", reference, slot, used);
}
- void setEquipment(int index, int id, int quantity = 0)
+ void addEquipment(unsigned int slot, int reference)
{
- if (mEquipment[index] && mEquipment[index]->getId() == id)
- return;
-
- delete mEquipment[index];
- mEquipment[index] = (id > 0) ? new Item(id, quantity) : 0;
-
- if (mEquipment[index])
- {
- mEquipment[index]->setInvIndex(index);
- mEquipment[index]->setEquipped(true);
- mEquipment[index]->setInEquipment(true);
- }
+ printf("Equip: %d at %d\n", reference, slot);
}
private:
Item *mEquipment[EQUIPMENT_SIZE];
};
-class InventoryHandler : public MessageHandler, Net::InventoryHandler
+class InventoryHandler : public MessageHandler, Net::InventoryHandler,
+ public Mana::Listener
{
public:
InventoryHandler();
void handleMessage(Net::MessageIn &msg);
- void equipItem(const Item *item);
-
- void unequipItem(const Item *item);
-
- void useItem(const Item *item);
-
- void dropItem(const Item *item, int amount);
+ void event(Channels channel, const Mana::Event &event);
bool canSplit(const Item *item);
- void splitItem(const Item *item, int amount);
-
- void moveItem(int oldIndex, int newIndex);
-
- void openStorage(int type);
-
- void closeStorage(int type);
-
- void moveItem(int source, int slot, int amount,
- int destination);
-
size_t getSize(int type) const;
private:
diff --git a/src/net/manaserv/itemhandler.cpp b/src/net/manaserv/itemhandler.cpp
index dc3b9f14..af3457db 100644
--- a/src/net/manaserv/itemhandler.cpp
+++ b/src/net/manaserv/itemhandler.cpp
@@ -21,9 +21,9 @@
#include "net/manaserv/itemhandler.h"
-#include "flooritemmanager.h"
+#include "actorspritemanager.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
#include "net/manaserv/messagein.h"
#include "game.h"
@@ -62,8 +62,7 @@ void ItemHandler::handleMessage(Net::MessageIn &msg)
{
if (Map *map = game->getCurrentMap())
{
- floorItemManager->create(id,
- itemId,
+ actorSpriteManager->createItem(id, itemId,
x / map->getTileWidth(),
y / map->getTileHeight());
}
@@ -75,9 +74,9 @@ void ItemHandler::handleMessage(Net::MessageIn &msg)
}
}
}
- else if (FloorItem *item = floorItemManager->findById(id))
+ else if (FloorItem *item = actorSpriteManager->findItem(id))
{
- floorItemManager->destroy(item);
+ actorSpriteManager->destroy(item);
}
}
} break;
diff --git a/src/net/manaserv/loginhandler.cpp b/src/net/manaserv/loginhandler.cpp
index 61671824..2f802e21 100644
--- a/src/net/manaserv/loginhandler.cpp
+++ b/src/net/manaserv/loginhandler.cpp
@@ -29,7 +29,7 @@
#include "net/manaserv/connection.h"
#include "net/manaserv/messagein.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
#include "utils/gettext.h"
#include "utils/sha256.h"
@@ -196,7 +196,7 @@ void LoginHandler::handleMessage(Net::MessageIn &msg)
// Successful unregistration
if (errMsg == ERRMSG_OK)
{
- Client::setState(STATE_UNREGISTER);
+ Client::setState(STATE_UNREGISTER_SUCCESS);
}
// Unregistration failed
else
@@ -251,7 +251,7 @@ void LoginHandler::handleLoginResponse(Net::MessageIn &msg)
if (errMsg == ERRMSG_OK)
{
- readUpdateHost(msg);
+ readServerInfo(msg);
// No worlds atm, but future use :-D
Client::setState(STATE_WORLD_SELECT);
}
@@ -289,7 +289,7 @@ void LoginHandler::handleRegisterResponse(Net::MessageIn &msg)
if (errMsg == ERRMSG_OK)
{
- readUpdateHost(msg);
+ readServerInfo(msg);
Client::setState(STATE_WORLD_SELECT);
}
else
@@ -320,7 +320,7 @@ void LoginHandler::handleRegisterResponse(Net::MessageIn &msg)
}
}
-void LoginHandler::readUpdateHost(Net::MessageIn &msg)
+void LoginHandler::readServerInfo(Net::MessageIn &msg)
{
// Safety check for outdated manaserv versions (remove me later)
if (msg.getUnreadLength() == 0)
@@ -332,6 +332,13 @@ void LoginHandler::readUpdateHost(Net::MessageIn &msg)
mLoginData->updateHost = updateHost;
else
logger->log("Warning: server does not have an update host set!");
+
+ // Read the client data folder for dynamic data loading.
+ // This is only used by the QT client.
+ msg.readString();
+
+ // Read the number of character slots
+ mLoginData->characterSlots = msg.readInt8();
}
void LoginHandler::connect()
@@ -381,7 +388,7 @@ void LoginHandler::loginAccount(LoginData *loginData)
MessageOut msg(PAMSG_LOGIN);
- msg.writeInt32(0); // client version
+ msg.writeInt32(PROTOCOL_VERSION); // client version
msg.writeString(loginData->username);
msg.writeString(sha256(loginData->username + loginData->password));
@@ -429,7 +436,7 @@ void LoginHandler::registerAccount(LoginData *loginData)
MessageOut msg(PAMSG_REGISTER);
- msg.writeInt32(0); // client version
+ msg.writeInt32(PROTOCOL_VERSION); // client version
msg.writeString(loginData->username);
// Use a hashed password for privacy reasons
msg.writeString(sha256(loginData->username + loginData->password));
diff --git a/src/net/manaserv/loginhandler.h b/src/net/manaserv/loginhandler.h
index d2ffbc3d..2062dcb5 100644
--- a/src/net/manaserv/loginhandler.h
+++ b/src/net/manaserv/loginhandler.h
@@ -80,7 +80,7 @@ class LoginHandler : public MessageHandler, public Net::LoginHandler
void handleLoginResponse(Net::MessageIn &msg);
void handleRegisterResponse(Net::MessageIn &msg);
- void readUpdateHost(Net::MessageIn &msg);
+ void readServerInfo(Net::MessageIn &msg);
LoginData *mLoginData;
unsigned int mMinUserNameLength;
diff --git a/src/net/manaserv/protocol.h b/src/net/manaserv/manaserv_protocol.h
index 226a27a0..84f1c1a5 100644
--- a/src/net/manaserv/protocol.h
+++ b/src/net/manaserv/manaserv_protocol.h
@@ -22,6 +22,10 @@
#ifndef MANASERV_PROTOCOL_H
#define MANASERV_PROTOCOL_H
+namespace ManaServ {
+
+enum { PROTOCOL_VERSION = 1 };
+
/**
* Enumerated type for communicated messages:
*
@@ -44,21 +48,24 @@
enum {
// Login/Register
PAMSG_REGISTER = 0x0000, // D version, S username, S password, S email, S captcha response
- APMSG_REGISTER_RESPONSE = 0x0002, // B error, [S updatehost]
+ APMSG_REGISTER_RESPONSE = 0x0002, // B error, S updatehost, S Client data URL, B Character slots
PAMSG_UNREGISTER = 0x0003, // S username, S password
APMSG_UNREGISTER_RESPONSE = 0x0004, // B error
PAMSG_REQUEST_REGISTER_INFO = 0x0005, //
APMSG_REGISTER_INFO_RESPONSE = 0x0006, // B byte registration Allowed, byte minNameLength, byte maxNameLength, string captchaURL, string captchaInstructions
PAMSG_LOGIN = 0x0010, // D version, S username, S password
- APMSG_LOGIN_RESPONSE = 0x0012, // B error, [S updatehost]
+ APMSG_LOGIN_RESPONSE = 0x0012, // B error, S updatehost, S Client data URL, B Character slots
PAMSG_LOGOUT = 0x0013, // -
APMSG_LOGOUT_RESPONSE = 0x0014, // B error
- PAMSG_CHAR_CREATE = 0x0020, // S name, B hair style, B hair color, B gender, W*6 stats
+ PAMSG_CHAR_CREATE = 0x0020, // S name, B hair style, B hair color, B gender, B slot, {W stats}*
APMSG_CHAR_CREATE_RESPONSE = 0x0021, // B error
- PAMSG_CHAR_DELETE = 0x0022, // B index
+ PAMSG_CHAR_DELETE = 0x0022, // B slot
APMSG_CHAR_DELETE_RESPONSE = 0x0023, // B error
- APMSG_CHAR_INFO = 0x0024, // B index, S name, B gender, B hair style, B hair color, W level, W character points, W correction points, D money, W*6 stats
- PAMSG_CHAR_SELECT = 0x0026, // B index
+ // B slot, S name, B gender, B hair style, B hair color, W level,
+ // W character points, W correction points,
+ // {D attr id, D base value (in 1/256ths) D mod value (in 256ths) }*
+ APMSG_CHAR_INFO = 0x0024, // ^
+ PAMSG_CHAR_SELECT = 0x0026, // B slot
APMSG_CHAR_SELECT_RESPONSE = 0x0027, // B error, B*32 token, S game address, W game port, S chat address, W chat port
PAMSG_EMAIL_CHANGE = 0x0030, // S email
APMSG_EMAIL_CHANGE_RESPONSE = 0x0031, // B error
@@ -86,18 +93,19 @@ enum {
PGMSG_EQUIP = 0x0112, // B slot
PGMSG_UNEQUIP = 0x0113, // B slot
PGMSG_MOVE_ITEM = 0x0114, // B slot1, B slot2, B amount
- GPMSG_INVENTORY = 0x0120, // { B slot, W item id [, B amount] }*
- GPMSG_INVENTORY_FULL = 0x0121, // { B slot, W item id [, B amount] }*
- GPMSG_PLAYER_ATTRIBUTE_CHANGE = 0x0130, // { W attribute, W base value, W modified value }*
+ GPMSG_INVENTORY = 0x0120, // { W slot, W item id [, W amount] (if item id is nonzero) }*
+ GPMSG_INVENTORY_FULL = 0x0121, // W inventory slot count { W slot, W itemId, W amount }, { B equip slot, W invy slot}*
+ GPMSG_EQUIP = 0x0122, // { W Invy slot, B equip slot type count { B equip slot, B number used} }*
+ GPMSG_PLAYER_ATTRIBUTE_CHANGE = 0x0130, // { W attribute, D base value (in 1/256ths), D modified value (in 1/256ths)}*
GPMSG_PLAYER_EXP_CHANGE = 0x0140, // { W skill, D exp got, D exp needed }*
GPMSG_LEVELUP = 0x0150, // W new level, W character points, W correction points
GPMSG_LEVEL_PROGRESS = 0x0151, // B percent completed to next levelup
- PGMSG_RAISE_ATTRIBUTE = 0x0160, // B attribute
- GPMSG_RAISE_ATTRIBUTE_RESPONSE = 0x0161, // B error, B attribute
- PGMSG_LOWER_ATTRIBUTE = 0x0170, // B attribute
- GPMSG_LOWER_ATTRIBUTE_RESPONSE = 0x0171, // B error, B attribute
+ PGMSG_RAISE_ATTRIBUTE = 0x0160, // W attribute
+ GPMSG_RAISE_ATTRIBUTE_RESPONSE = 0x0161, // B error, W attribute
+ PGMSG_LOWER_ATTRIBUTE = 0x0170, // W attribute
+ GPMSG_LOWER_ATTRIBUTE_RESPONSE = 0x0171, // B error, W attribute
PGMSG_RESPAWN = 0x0180, // -
- GPMSG_BEING_ENTER = 0x0200, // B type, W being id, B action, W*2 position
+ GPMSG_BEING_ENTER = 0x0200, // B type, W being id, B action, W*2 position, B direction
// character: S name, B hair style, B hair color, B gender, B item bitmask, { W item id }*
// monster: W type id
// npc: W type id
@@ -109,7 +117,7 @@ enum {
GPMSG_BEING_ACTION_CHANGE = 0x0271, // W being id, B action
PGMSG_DIRECTION_CHANGE = 0x0272, // B Direction
GPMSG_BEING_DIR_CHANGE = 0x0273, // W being id, B direction
- GPMSG_BEING_HEALTH_CHANGE = 0x0274, // W being id, W health
+ GPMSG_BEING_HEALTH_CHANGE = 0x0274, // W being id, W hp, W max hp
GPMSG_BEINGS_MOVE = 0x0280, // { W being id, B flags [, W*2 position, B speed] }*
GPMSG_ITEMS = 0x0281, // { W item id, W*2 position }*
PGMSG_ATTACK = 0x0290, // W being id
@@ -255,7 +263,8 @@ enum {
ERRMSG_ALREADY_TAKEN, // name used was already taken
ERRMSG_SERVER_FULL, // the server is overloaded
ERRMSG_TIME_OUT, // data failed to arrive in due time
- ERRMSG_LIMIT_REACHED // limit reached
+ ERRMSG_LIMIT_REACHED, // limit reached
+ ERRMSG_ADMINISTRATIVE_LOGOFF // kicked by server administrator
};
// used in AGMSG_REGISTER_RESPONSE to show state of item db
@@ -272,10 +281,11 @@ enum {
// used to identify part of sync message
enum {
- SYNC_CHARACTER_POINTS = 0x01, // D charId, D charPoints, D corrPoints, B attribute id, D attribute value
- SYNC_CHARACTER_SKILL = 0x02, // D charId, B skillId, D skill value
- SYNC_ONLINE_STATUS = 0x03, // D charId, B 0x00 = offline, 0x01 = online
- SYNC_END_OF_BUFFER = 0xFF // shows, that the buffer ends here.
+ SYNC_CHARACTER_POINTS = 0x01, // D charId, D charPoints, D corrPoints
+ SYNC_CHARACTER_ATTRIBUTE = 0x02, // D charId, D attrId, DF base, DF mod
+ SYNC_CHARACTER_SKILL = 0x03, // D charId, B skillId, D skill value
+ SYNC_ONLINE_STATUS = 0x04, // D charId, B 0x00 = offline, 0x01 = online
+ SYNC_END_OF_BUFFER = 0xFF // shows, that the buffer ends here.
};
// Login specific return values
@@ -300,9 +310,10 @@ enum {
CREATE_INVALID_GENDER,
CREATE_ATTRIBUTES_TOO_HIGH,
CREATE_ATTRIBUTES_TOO_LOW,
- CREATE_ATTRIBUTES_EQUAL_TO_ZERO,
+ CREATE_ATTRIBUTES_OUT_OF_RANGE,
CREATE_EXISTS_NAME,
- CREATE_TOO_MUCH_CHARACTERS
+ CREATE_TOO_MUCH_CHARACTERS,
+ CREATE_INVALID_SLOT
};
// Character attribute modification specific return value
@@ -370,8 +381,54 @@ enum {
GUILD_EVENT_OFFLINE_PLAYER
};
+/**
+ * Moves enum for beings and actors for others players vision.
+ * WARNING: Has to be in sync with the same enum in the Being class
+ * of the client!
+ */
+enum BeingAction
+{
+ STAND,
+ WALK,
+ ATTACK,
+ SIT,
+ DEAD,
+ HURT
+};
+
+/**
+ * Moves enum for beings and actors for others players attack types.
+ * WARNING: Has to be in sync with the same enum in the Being class
+ * of the client!
+ */
+enum AttackType
+{
+ HIT = 0x00,
+ CRITICAL = 0x0a,
+ MULTI = 0x08,
+ REFLECT = 0x04,
+ FLEE = 0x0b
+};
+
+/**
+ * Beings and actors directions
+ * WARNING: Has to be in sync with the same enum in the Being class
+ * of the client!
+ */
+enum BeingDirection
+{
+ DOWN = 1,
+ LEFT = 2,
+ UP = 4,
+ RIGHT = 8
+};
-enum
+/**
+ * enum for sprites layers.
+ * WARNING: Has to be in sync with the same enum in the Sprite class
+ * of the client!
+ */
+enum SpriteLayer
{
SPRITE_BASE = 0,
SPRITE_SHOE,
@@ -383,4 +440,6 @@ enum
SPRITE_VECTOREND
};
+}; // Namespace ManaServ
+
#endif // MANASERV_PROTOCOL_H
diff --git a/src/net/manaserv/network.cpp b/src/net/manaserv/network.cpp
index 636585c9..a5bf6186 100644
--- a/src/net/manaserv/network.cpp
+++ b/src/net/manaserv/network.cpp
@@ -53,7 +53,7 @@ void initialize()
logger->error("Failed to initialize ENet.");
}
-#ifdef ENET_VERSION_MAJOR
+#if defined(ENET_VERSION) && ENET_VERSION >= ENET_CUTOFF
client = enet_host_create(NULL, 3, 0, 0, 0);
#else
client = enet_host_create(NULL, 3, 0, 0);
diff --git a/src/net/manaserv/npchandler.cpp b/src/net/manaserv/npchandler.cpp
index 392ec4fd..ca7d7415 100644
--- a/src/net/manaserv/npchandler.cpp
+++ b/src/net/manaserv/npchandler.cpp
@@ -21,16 +21,15 @@
#include "net/manaserv/npchandler.h"
-#include "beingmanager.h"
-#include "npc.h"
-
-#include "gui/npcdialog.h"
-#include "gui/npcpostdialog.h"
+#include "actorspritemanager.h"
+#include "event.h"
#include "net/manaserv/connection.h"
#include "net/manaserv/messagein.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
+
+#include "utils/stringutils.h"
extern Net::NpcHandler *npcHandler;
@@ -56,76 +55,112 @@ NpcHandler::NpcHandler()
void NpcHandler::handleMessage(Net::MessageIn &msg)
{
- Being *being = beingManager->findBeing(msg.readInt16());
- if (!being || being->getType() != Being::NPC)
+ Being *being = actorSpriteManager->findBeing(msg.readInt16());
+ if (!being || being->getType() != ActorSprite::NPC)
{
return;
}
- int npcId = being->getId();
- NpcDialogs::iterator diag = mNpcDialogs.find(npcId);
- NpcDialog *dialog;
-
- if (diag == mNpcDialogs.end())
- {
- if (msg.getId() == GPMSG_NPC_ERROR || msg.getId() == GPMSG_NPC_CLOSE)
- return; // Dialog is pointless in these cases
-
- dialog = new NpcDialog(npcId);
- Wrapper wrap;
- wrap.dialog = dialog;
- mNpcDialogs[npcId] = wrap;
- }
- else
- {
- dialog = diag->second.dialog;
- }
+ int npcId = being->getId(), count = 0;
+ Mana::Event *event = 0;
switch (msg.getId())
{
- case GPMSG_NPC_CHOICE:
- dialog->choiceRequest();
- while (msg.getUnreadLength())
- {
- dialog->addChoice(msg.readString());
- }
- break;
-
- case GPMSG_NPC_NUMBER:
+ case GPMSG_NPC_CHOICE:
+ event = new Mana::Event(EVENT_MENU);
+ event->setInt("id", npcId);
+ while (msg.getUnreadLength())
{
- int min_num = msg.readInt32();
- int max_num = msg.readInt32();
- dialog->integerRequest(msg.readInt32(), min_num, max_num);
- break;
+ count++;
+ event->setString("choice" + toString(count), msg.readString());
}
+ event->setInt("choiceCount", count);
+ event->trigger(CHANNEL_NPC);
+ break;
+
+ case GPMSG_NPC_NUMBER:
+ event = new Mana::Event(EVENT_INTEGERINPUT);
+ event->setInt("id", npcId);
+ event->setInt("min", msg.readInt32());
+ event->setInt("max", msg.readInt32());
+ event->setInt("default", msg.readInt32());
+ event->trigger(CHANNEL_NPC);
+ break;
+
+ case GPMSG_NPC_STRING:
+ event = new Mana::Event(EVENT_STRINGINPUT);
+ event->setInt("id", npcId);
+ event->trigger(CHANNEL_NPC);
+ break;
+
+ case GPMSG_NPC_POST:
+ event = new Mana::Event(EVENT_POST);
+ event->setInt("id", npcId);
+ event->trigger(CHANNEL_NPC);
+ break;
+
+ case GPMSG_NPC_ERROR:
+ event = new Mana::Event(EVENT_END);
+ event->setInt("id", npcId);
+ event->trigger(CHANNEL_NPC);
+ break;
+
+ case GPMSG_NPC_MESSAGE:
+ event = new Mana::Event(EVENT_MESSAGE);
+ event->setInt("id", npcId);
+ event->setString("text", msg.readString(msg.getUnreadLength()));
+ event->trigger(CHANNEL_NPC);
+ delete event;
+
+ event = new Mana::Event(EVENT_NEXT);
+ event->setInt("id", npcId);
+ event->trigger(CHANNEL_NPC);
+ break;
+
+ case GPMSG_NPC_CLOSE:
+ event = new Mana::Event(EVENT_CLOSE);
+ event->setInt("id", npcId);
+ event->trigger(CHANNEL_NPC);
+ break;
+ }
- case GPMSG_NPC_STRING:
- dialog->textRequest("");
- break;
+ delete event;
+}
- case GPMSG_NPC_POST:
- {
- new NpcPostDialog(npcId);
- break;
- }
+void NpcHandler::startShopping(int beingId)
+{
+ // TODO
+}
- case GPMSG_NPC_ERROR:
- dialog->close();
- if (diag != mNpcDialogs.end())
- {
- mNpcDialogs.erase(diag);
- }
- break;
-
- case GPMSG_NPC_MESSAGE:
- dialog->addText(msg.readString(msg.getUnreadLength()));
- dialog->showNextButton();
- break;
-
- case GPMSG_NPC_CLOSE:
- dialog->showCloseButton();
- break;
- }
+void NpcHandler::buy(int beingId)
+{
+ // TODO
+}
+
+void NpcHandler::sell(int beingId)
+{
+ // TODO
+}
+
+void NpcHandler::buyItem(int beingId, int itemId, int amount)
+{
+ MessageOut msg(PGMSG_NPC_BUYSELL);
+ msg.writeInt16(itemId);
+ msg.writeInt16(amount);
+ gameServerConnection->send(msg);
+}
+
+void NpcHandler::sellItem(int beingId, int itemId, int amount)
+{
+ MessageOut msg(PGMSG_NPC_BUYSELL);
+ msg.writeInt16(itemId);
+ msg.writeInt16(amount);
+ gameServerConnection->send(msg);
+}
+
+void NpcHandler::endShopping(int beingId)
+{
+ // TODO
}
void NpcHandler::talk(int npcId)
@@ -133,6 +168,10 @@ void NpcHandler::talk(int npcId)
MessageOut msg(PGMSG_NPC_TALK);
msg.writeInt16(npcId);
gameServerConnection->send(msg);
+
+ Mana::Event event(EVENT_TALKSENT);
+ event.setInt("npcId", npcId);
+ event.trigger(CHANNEL_NPC);
}
void NpcHandler::nextDialog(int npcId)
@@ -140,6 +179,10 @@ void NpcHandler::nextDialog(int npcId)
MessageOut msg(PGMSG_NPC_TALK_NEXT);
msg.writeInt16(npcId);
gameServerConnection->send(msg);
+
+ Mana::Event event(EVENT_NEXTSENT);
+ event.setInt("npcId", npcId);
+ event.trigger(CHANNEL_NPC);
}
void NpcHandler::closeDialog(int npcId)
@@ -148,20 +191,22 @@ void NpcHandler::closeDialog(int npcId)
msg.writeInt16(npcId);
gameServerConnection->send(msg);
- NpcDialogs::iterator it = mNpcDialogs.find(npcId);
- if (it != mNpcDialogs.end())
- {
- (*it).second.dialog->close();
- mNpcDialogs.erase(it);
- }
+ Mana::Event event(EVENT_CLOSESENT);
+ event.setInt("npcId", npcId);
+ event.trigger(CHANNEL_NPC);
}
-void NpcHandler::listInput(int npcId, int value)
+void NpcHandler::menuSelect(int npcId, int choice)
{
MessageOut msg(PGMSG_NPC_SELECT);
msg.writeInt16(npcId);
- msg.writeInt8(value);
+ msg.writeInt8(choice);
gameServerConnection->send(msg);
+
+ Mana::Event event(EVENT_MENUSENT);
+ event.setInt("npcId", npcId);
+ event.setInt("choice", choice);
+ event.trigger(CHANNEL_NPC);
}
void NpcHandler::integerInput(int npcId, int value)
@@ -170,6 +215,11 @@ void NpcHandler::integerInput(int npcId, int value)
msg.writeInt16(npcId);
msg.writeInt32(value);
gameServerConnection->send(msg);
+
+ Mana::Event event(EVENT_INTEGERINPUTSENT);
+ event.setInt("npcId", npcId);
+ event.setInt("value", value);
+ event.trigger(CHANNEL_NPC);
}
void NpcHandler::stringInput(int npcId, const std::string &value)
@@ -178,56 +228,26 @@ void NpcHandler::stringInput(int npcId, const std::string &value)
msg.writeInt16(npcId);
msg.writeString(value);
gameServerConnection->send(msg);
+
+ Mana::Event event(EVENT_STRINGINPUTSENT);
+ event.setInt("npcId", npcId);
+ event.setString("value", value);
+ event.trigger(CHANNEL_NPC);
}
void NpcHandler::sendLetter(int npcId, const std::string &recipient,
- const std::string &text)
+ const std::string &text)
{
MessageOut msg(PGMSG_NPC_POST_SEND);
msg.writeString(recipient);
msg.writeString(text);
gameServerConnection->send(msg);
-}
-
-void NpcHandler::startShopping(int beingId)
-{
- // TODO
-}
-
-void NpcHandler::buy(int beingId)
-{
- // TODO
-}
-
-void NpcHandler::sell(int beingId)
-{
- // TODO
-}
-void NpcHandler::buyItem(int beingId, int itemId, int amount)
-{
- MessageOut msg(PGMSG_NPC_BUYSELL);
- msg.writeInt16(itemId);
- msg.writeInt16(amount);
- gameServerConnection->send(msg);
-}
-
-void NpcHandler::sellItem(int beingId, int itemId, int amount)
-{
- MessageOut msg(PGMSG_NPC_BUYSELL);
- msg.writeInt16(itemId);
- msg.writeInt16(amount);
- gameServerConnection->send(msg);
-}
-
-void NpcHandler::endShopping(int beingId)
-{
- // TODO
-}
-
-void NpcHandler::clearDialogs()
-{
- mNpcDialogs.clear();
+ Mana::Event event(EVENT_SENDLETTERSENT);
+ event.setInt("npcId", npcId);
+ event.setString("recipient", recipient);
+ event.setString("text", text);
+ event.trigger(CHANNEL_NPC);
}
} // namespace ManaServ
diff --git a/src/net/manaserv/npchandler.h b/src/net/manaserv/npchandler.h
index 689fdc1d..cb8fd67d 100644
--- a/src/net/manaserv/npchandler.h
+++ b/src/net/manaserv/npchandler.h
@@ -22,14 +22,14 @@
#ifndef NET_MANASERV_NPCHANDLER_H
#define NET_MANASERV_NPCHANDLER_H
+#include "listener.h"
+
#include "net/npchandler.h"
#include "net/manaserv/messagehandler.h"
#include <map>
-class NpcDialog;
-
namespace ManaServ {
class NpcHandler : public MessageHandler, public Net::NpcHandler
@@ -39,21 +39,6 @@ class NpcHandler : public MessageHandler, public Net::NpcHandler
void handleMessage(Net::MessageIn &msg);
- void talk(int npcId);
-
- void nextDialog(int npcId);
-
- void closeDialog(int npcId);
-
- void listInput(int npcId, int value);
-
- void integerInput(int npcId, int value);
-
- void stringInput(int npcId, const std::string &value);
-
- void sendLetter(int npcId, const std::string &recipient,
- const std::string &text);
-
void startShopping(int beingId);
void buy(int beingId);
@@ -66,14 +51,21 @@ class NpcHandler : public MessageHandler, public Net::NpcHandler
void endShopping(int beingId);
- void clearDialogs();
+ void talk(int npcId);
+
+ void nextDialog(int npcId);
+
+ void closeDialog(int npcId);
+
+ void menuSelect(int npcId, int choice);
+
+ void integerInput(int npcId, int value);
+
+ void stringInput(int npcId, const std::string &value);
+
+ void sendLetter(int npcId, const std::string &recipient,
+ const std::string &text);
- private:
- typedef struct {
- NpcDialog* dialog;
- } Wrapper;
- typedef std::map<int, Wrapper> NpcDialogs;
- NpcDialogs mNpcDialogs;
};
} // namespace ManaServ
diff --git a/src/net/manaserv/partyhandler.cpp b/src/net/manaserv/partyhandler.cpp
index ec153fa8..b30d5391 100644
--- a/src/net/manaserv/partyhandler.cpp
+++ b/src/net/manaserv/partyhandler.cpp
@@ -21,17 +21,16 @@
#include "net/manaserv/partyhandler.h"
+#include "event.h"
#include "log.h"
#include "localplayer.h"
#include "gui/socialwindow.h"
-#include "gui/widgets/chattab.h"
-
#include "net/manaserv/connection.h"
#include "net/manaserv/messagein.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -85,7 +84,7 @@ void PartyHandler::handleMessage(Net::MessageIn &msg)
if (msg.readInt8() == ERRMSG_OK)
{
//
- localChatTab->chatLog(_("Joined party."));
+ SERVER_NOTICE(_("Joined party."));
}
}
@@ -103,7 +102,7 @@ void PartyHandler::handleMessage(Net::MessageIn &msg)
int id = msg.readInt16(); // being id
std::string name = msg.readString();
- localChatTab->chatLog(strprintf(_("%s joined the party."),
+ SERVER_NOTICE(strprintf(_("%s joined the party."),
name.c_str()));
if (id == player_node->getId())
@@ -120,8 +119,8 @@ void PartyHandler::handleMessage(Net::MessageIn &msg)
case CPMSG_PARTY_REJECTED:
{
std::string name = msg.readString();
- localChatTab->chatLog(strprintf(_("%s rejected your invite."),
- name.c_str()));
+ SERVER_NOTICE(strprintf(
+ _("%s rejected your invite."), name.c_str()));
} break;
}
}
@@ -136,9 +135,9 @@ void PartyHandler::join(int partyId)
// TODO
}
-void PartyHandler::invite(Player *player)
+void PartyHandler::invite(Being *being)
{
- invite(player->getName());
+ invite(being->getName());
}
void PartyHandler::invite(const std::string &name)
@@ -167,7 +166,7 @@ void PartyHandler::leave()
chatServerConnection->send(msg);
}
-void PartyHandler::kick(Player *player)
+void PartyHandler::kick(Being *being)
{
// TODO
}
diff --git a/src/net/manaserv/partyhandler.h b/src/net/manaserv/partyhandler.h
index 0777b49e..29dc280d 100644
--- a/src/net/manaserv/partyhandler.h
+++ b/src/net/manaserv/partyhandler.h
@@ -43,7 +43,7 @@ public:
void join(int partyId);
- void invite(Player *player);
+ void invite(Being *being);
void invite(const std::string &name);
@@ -51,7 +51,7 @@ public:
void leave();
- void kick(Player *player);
+ void kick(Being *being);
void kick(const std::string &name);
diff --git a/src/net/manaserv/playerhandler.cpp b/src/net/manaserv/playerhandler.cpp
index 33367927..c071ca04 100644
--- a/src/net/manaserv/playerhandler.cpp
+++ b/src/net/manaserv/playerhandler.cpp
@@ -24,14 +24,14 @@
#include "client.h"
#include "effectmanager.h"
+#include "event.h"
#include "game.h"
#include "localplayer.h"
#include "log.h"
#include "particle.h"
-#include "npc.h"
+#include "playerinfo.h"
#include "configuration.h"
-#include "gui/chat.h"
#include "gui/gui.h"
#include "gui/okdialog.h"
#include "gui/viewport.h"
@@ -39,10 +39,11 @@
#include "net/net.h"
#include "net/manaserv/connection.h"
+#include "net/manaserv/defines.h"
#include "net/manaserv/messagein.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/npchandler.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
+#include "net/manaserv/attributes.h"
/**
* Max. distance we are willing to scroll after a teleport;
@@ -64,9 +65,7 @@ void RespawnRequestListener::action(const gcn::ActionEvent &event)
{
Net::getPlayerHandler()->respawn();
- ManaServ::NpcHandler *handler =
- static_cast<ManaServ::NpcHandler*>(Net::getNpcHandler());
- handler->clearDialogs();
+ Mana::Event::trigger(CHANNEL_NPC, EVENT_CLOSEALL);
}
PlayerHandler::PlayerHandler()
@@ -112,23 +111,24 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
case GPMSG_PLAYER_ATTRIBUTE_CHANGE:
{
- logger->log("ATTRIBUTE UPDATE:");
while (msg.getUnreadLength())
{
- int stat = msg.readInt16();
- int base = msg.readInt16();
- int value = msg.readInt16();
- logger->log("%d set to %d %d", stat, base, value);
-
- if (stat == BASE_ATTR_HP)
+ int attrId = msg.readInt16();
+ double base = msg.readInt32() / 256.0;
+ double value = msg.readInt32() / 256.0;
+
+ // Set the core player attribute the stat
+ // depending on attribute link.
+ int playerInfoId =
+ Attributes::getPlayerInfoIdFromAttrId(attrId);
+ if (playerInfoId > -1)
{
- player_node->setMaxHp(base);
- player_node->setHp(value);
+ PlayerInfo::setAttribute(playerInfoId, value);
}
else
{
- player_node->setAttributeBase(stat, base);
- player_node->setAttributeEffective(stat, value);
+ PlayerInfo::setStatBase(attrId, base);
+ PlayerInfo::setStatMod(attrId, value - base);
}
}
} break;
@@ -142,33 +142,33 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
int current = msg.readInt32();
int next = msg.readInt32();
- player_node->setExperience(skill, current, next);
+ PlayerInfo::setStatExperience(skill, current, next);
}
} break;
case GPMSG_LEVELUP:
{
- player_node->setLevel(msg.readInt16());
- player_node->setCharacterPoints(msg.readInt16());
- player_node->setCorrectionPoints(msg.readInt16());
+ PlayerInfo::setAttribute(LEVEL, msg.readInt16());
+ PlayerInfo::setAttribute(CHAR_POINTS, msg.readInt16());
+ PlayerInfo::setAttribute(CORR_POINTS, msg.readInt16());
Particle* effect = particleEngine->addEffect(
- paths.getValue("particles", "graphics/particles/")
- + paths.getValue("levelUpEffectFile", "levelup.particle.xml"),
- 0, 0);
+ paths.getStringValue("particles")
+ + paths.getStringValue("levelUpEffectFile")
+ ,0, 0);
player_node->controlParticle(effect);
} break;
case GPMSG_LEVEL_PROGRESS:
{
- player_node->setExp(msg.readInt8(), false);
+ PlayerInfo::setAttribute(EXP, msg.readInt8());
} break;
case GPMSG_RAISE_ATTRIBUTE_RESPONSE:
{
int errCode = msg.readInt8();
- int attrNum = msg.readInt8() - CHAR_ATTR_BEGIN;
+ int attrNum = msg.readInt16();
switch (errCode)
{
case ATTRIBMOD_OK:
@@ -185,18 +185,19 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
// has to be correct. The server is always right!
// undo attribute change and set points to 0
logger->log("Warning: Server denied increase of attribute %d (no points left) ", attrNum);
- int attrValue = player_node->getAttributeBase(attrNum) - 1;
- player_node->setCharacterPoints(0);
- player_node->setAttributeBase(attrNum, attrValue);
+ int attrValue = PlayerInfo::getStatBase(attrNum) - 1;
+ PlayerInfo::setAttribute(CHAR_POINTS, 0);
+ PlayerInfo::setStatBase(attrNum, attrValue);
} break;
case ATTRIBMOD_DENIED:
{
// undo attribute change
logger->log("Warning: Server denied increase of attribute %d (reason unknown) ", attrNum);
- int points = player_node->getCharacterPoints() - 1;
- player_node->setCharacterPoints(points);
- int attrValue = player_node->getAttributeBase(attrNum) - 1;
- player_node->setAttributeBase(attrNum, attrValue);
+ int points = PlayerInfo::getAttribute(CHAR_POINTS) - 1;
+ PlayerInfo::setAttribute(CHAR_POINTS, points);
+
+ int attrValue = PlayerInfo::getStatBase(attrNum) - 1;
+ PlayerInfo::setStatBase(attrNum, attrValue);
} break;
}
} break;
@@ -204,7 +205,7 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
case GPMSG_LOWER_ATTRIBUTE_RESPONSE:
{
int errCode = msg.readInt8();
- int attrNum = msg.readInt8() - CHAR_ATTR_BEGIN;
+ int attrNum = msg.readInt16();
switch (errCode)
{
case ATTRIBMOD_OK:
@@ -221,21 +222,24 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
// has to be correct. The server is always right!
// undo attribute change and set points to 0
logger->log("Warning: Server denied reduction of attribute %d (no points left) ", attrNum);
- int attrValue = player_node->getAttributeBase(attrNum) + 1;
- player_node->setCorrectionPoints(0);
- player_node->setAttributeBase(attrNum, attrValue);
- break;
+ int attrValue = PlayerInfo::getStatBase(attrNum) + 1;
+ // TODO are these right?
+ PlayerInfo::setAttribute(CHAR_POINTS, 0);
+ PlayerInfo::setAttribute(CORR_POINTS, 0);
+ PlayerInfo::setStatBase(attrNum, attrValue);
} break;
case ATTRIBMOD_DENIED:
{
// undo attribute change
logger->log("Warning: Server denied reduction of attribute %d (reason unknown) ", attrNum);
- int charaPoints = player_node->getCharacterPoints() - 1;
- player_node->setCharacterPoints(charaPoints);
- int correctPoints = player_node->getCorrectionPoints() + 1;
- player_node->setCorrectionPoints(correctPoints);
- int attrValue = player_node->getAttributeBase(attrNum) + 1;
- player_node->setAttributeBase(attrNum, attrValue);
+ int charaPoints = PlayerInfo::getAttribute(CHAR_POINTS) - 1;
+ PlayerInfo::setAttribute(CHAR_POINTS, charaPoints);
+
+ int correctPoints = PlayerInfo::getAttribute(CORR_POINTS) + 1;
+ PlayerInfo::setAttribute(CORR_POINTS, correctPoints);
+
+ int attrValue = PlayerInfo::getStatBase(attrNum) + 1;
+ PlayerInfo::setStatBase(attrNum, attrValue);
} break;
}
@@ -250,7 +254,7 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
int current = msg.readInt32();
int max = msg.readInt32();
int recharge = msg.readInt32();
- player_node->setSpecialStatus(id, current, max, recharge);
+ PlayerInfo::setSpecialStatus(id, current, max, recharge);
}
} break;
/*
@@ -325,14 +329,14 @@ void PlayerHandler::emote(int emoteId)
void PlayerHandler::increaseAttribute(int attr)
{
MessageOut msg(PGMSG_RAISE_ATTRIBUTE);
- msg.writeInt8(attr);
+ msg.writeInt16(attr);
gameServerConnection->send(msg);
}
void PlayerHandler::decreaseAttribute(int attr)
{
MessageOut msg(PGMSG_LOWER_ATTRIBUTE);
- msg.writeInt8(attr);
+ msg.writeInt16(attr);
gameServerConnection->send(msg);
}
@@ -343,11 +347,14 @@ void PlayerHandler::increaseSkill(int skillId)
void PlayerHandler::pickUp(FloorItem *floorItem)
{
- int id = floorItem->getId();
- MessageOut msg(PGMSG_PICKUP);
- msg.writeInt16(id >> 16);
- msg.writeInt16(id & 0xFFFF);
- gameServerConnection->send(msg);
+ if (floorItem)
+ {
+ int id = floorItem->getId();
+ MessageOut msg(PGMSG_PICKUP);
+ msg.writeInt16(id >> 16);
+ msg.writeInt16(id & 0xFFFF);
+ gameServerConnection->send(msg);
+ }
}
void PlayerHandler::setDirection(char direction)
diff --git a/src/net/manaserv/specialhandler.cpp b/src/net/manaserv/specialhandler.cpp
index 144111c2..11d361c8 100644
--- a/src/net/manaserv/specialhandler.cpp
+++ b/src/net/manaserv/specialhandler.cpp
@@ -24,7 +24,7 @@
#include "net/manaserv/connection.h"
#include "net/manaserv/messagein.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
extern Net::SpecialHandler *specialHandler;
diff --git a/src/net/manaserv/stats.cpp b/src/net/manaserv/stats.cpp
deleted file mode 100644
index ece0e72a..00000000
--- a/src/net/manaserv/stats.cpp
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2010 The Mana Developers
- *
- * This file is part of The Mana 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/>.
- */
-
-#include "net/manaserv/stats.h"
-
-#include "log.h"
-
-#include "gui/statuswindow.h"
-
-#include "resources/itemdb.h"
-
-#include "utils/gettext.h"
-#include "utils/xml.h"
-
-#include <list>
-#include <map>
-
-#define DEFAULT_ATTRIBUTESDB_FILE "attributes.xml"
-
-namespace ManaServ {
-namespace Stats {
- typedef struct {
- unsigned int id;
- std::string name;
- std::string tag;
- std::string effect;
- std::string description;
- bool modifiable;
- } Stat;
-
- typedef std::map<unsigned int, Stat> StatMap;
- StatMap stats;
-
- static void loadBuiltins()
- {
- {
- Stat s;
- s.id = 16;
- s.name = _("Strength");
- s.tag = "str";
- s.effect = _("Strength %+d");
- s.description = "";
- s.modifiable = true;
-
- stats[s.id] = s;
- }
-
- {
- Stat s;
- s.id = 17;
- s.name = _("Agility");
- s.tag = "agi";
- s.effect = _("Agility %+d");
- s.description = "";
- s.modifiable = true;
-
- stats[s.id] = s;
- }
-
- {
- Stat s;
- s.id = 18;
- s.name = _("Dexterity");
- s.tag = "dex";
- s.effect = _("Dexterity %+d");
- s.description = "";
- s.modifiable = true;
-
- stats[s.id] = s;
- }
-
- {
- Stat s;
- s.id = 19;
- s.name = _("Vitality");
- s.tag = "vit";
- s.effect = _("Vitality %+d");
- s.description = "";
- s.modifiable = true;
-
- stats[s.id] = s;
- }
-
- {
- Stat s;
- s.id = 20;
- s.name = _("Intelligence");
- s.tag = "int";
- s.effect = _("Intelligence %+d");
- s.description = "";
- s.modifiable = true;
-
- stats[s.id] = s;
- }
-
- {
- Stat s;
- s.id = 21;
- s.name = _("Willpower");
- s.tag = "will";
- s.effect = _("Willpower %+d");
- s.description = "";
- s.modifiable = true;
-
- stats[s.id] = s;
- }
- }
-
- void load()
- {
- XML::Document doc(DEFAULT_ATTRIBUTESDB_FILE);
- xmlNodePtr rootNode = doc.rootNode();
-
- if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "stats"))
- {
- logger->log("Stats: Error while loading "
- DEFAULT_ATTRIBUTESDB_FILE ". Using Built-ins.");
- loadBuiltins();
- return;
- }
-
- for_each_xml_child_node(node, rootNode)
- {
- if (!xmlStrEqual(node->name, BAD_CAST "stat"))
- continue;
-
- int id = XML::getProperty(node, "id", 0);
-
- if (id == 0)
- {
- logger->log("Stats: Invalid or missing stat ID in "
- DEFAULT_ATTRIBUTESDB_FILE "!");
- continue;
- }
- else if (stats.find(id) != stats.end())
- {
- logger->log("Stats: Redefinition of stat ID %d", id);
- }
-
- std::string name = XML::getProperty(node, "name", "");
-
- if (name.empty())
- {
- logger->log("Stats: Invalid or missing stat name in "
- DEFAULT_ATTRIBUTESDB_FILE "!");
- continue;
- }
-
- Stat s;
- s.id = id;
- s.name = name;
- s.tag = XML::getProperty(node, "tag", "");
- s.effect = XML::getProperty(node, "effect", "");
- s.description = XML::getProperty(node, "desc", "");
- s.modifiable = XML::getProperty(node, "modifiable", "false")
- == "true";
-
- stats[id] = s;
- }
- }
-
- void unload()
- {
- stats.clear();
- }
-
- void informItemDB()
- {
- std::list<ItemDB::Stat> dbStats;
-
- StatMap::const_iterator it, it_end;
- for (it = stats.begin(), it_end = stats.end(); it != it_end; it++)
- if (!it->second.tag.empty())
- dbStats.push_back(ItemDB::Stat(it->second.tag,
- it->second.effect));
-
- ItemDB::setStatsList(dbStats);
- }
-
- void informStatusWindow()
- {
- StatMap::const_iterator it, it_end;
- for (it = stats.begin(), it_end = stats.end(); it != it_end; it++)
- statusWindow->addAttribute(it->second.id, it->second.name,
- it->second.modifiable,
- it->second.description);
- }
-
- std::vector<std::string> getLabelVector()
- {
- std::vector<std::string> attributes;
- StatMap::const_iterator it, it_end;
- for (it = stats.begin(), it_end = stats.end(); it != it_end; it++)
- if (it->second.modifiable)
- attributes.push_back(it->second.name + ":");
-
- return attributes;
- }
-} // namespace Stats
-} // namespace ManaServ
diff --git a/src/net/manaserv/tradehandler.cpp b/src/net/manaserv/tradehandler.cpp
index 234a18d6..6e205e24 100644
--- a/src/net/manaserv/tradehandler.cpp
+++ b/src/net/manaserv/tradehandler.cpp
@@ -21,21 +21,21 @@
#include "net/manaserv/tradehandler.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
+#include "event.h"
#include "item.h"
#include "localplayer.h"
+#include "playerinfo.h"
#include "gui/confirmdialog.h"
#include "gui/trade.h"
-#include "gui/widgets/chattab.h"
-
#include "net/net.h"
#include "net/manaserv/connection.h"
#include "net/manaserv/messagein.h"
#include "net/manaserv/messageout.h"
-#include "net/manaserv/protocol.h"
+#include "net/manaserv/manaserv_protocol.h"
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -86,16 +86,15 @@ TradeHandler::TradeHandler():
};
handledMessages = _messages;
tradeHandler = this;
-
}
void TradeHandler::setAcceptTradeRequests(bool acceptTradeRequests)
{
mAcceptTradeRequests = acceptTradeRequests;
if (mAcceptTradeRequests)
- localChatTab->chatLog(_("Accepting incoming trade requests."), BY_SERVER);
+ SERVER_NOTICE(_("Accepting incoming trade requests."))
else
- localChatTab->chatLog(_("Ignoring incoming trade requests."), BY_SERVER);
+ SERVER_NOTICE(_("Ignoring incoming trade requests."))
}
void TradeHandler::handleMessage(Net::MessageIn &msg)
@@ -104,13 +103,13 @@ void TradeHandler::handleMessage(Net::MessageIn &msg)
{
case GPMSG_TRADE_REQUEST:
{
- Being *being = beingManager->findBeing(msg.readInt16());
+ Being *being = actorSpriteManager->findBeing(msg.readInt16());
if (!being || !mAcceptTradeRequests)
{
respond(false);
break;
}
- player_node->setTrading(true);
+ PlayerInfo::setTrading(true);
tradePartnerName = being->getName();
tradePartnerID = being->getId();
ConfirmDialog *dlg = new ConfirmDialog(_("Request for Trade"),
@@ -144,19 +143,19 @@ void TradeHandler::handleMessage(Net::MessageIn &msg)
case GPMSG_TRADE_AGREED:
tradeWindow->receivedOk(false);
break;
-
+
case GPMSG_TRADE_CANCEL:
- localChatTab->chatLog(_("Trade canceled."), BY_SERVER);
+ SERVER_NOTICE(_("Trade canceled."))
tradeWindow->setVisible(false);
tradeWindow->reset();
- player_node->setTrading(false);
+ PlayerInfo::setTrading(false);
break;
case GPMSG_TRADE_COMPLETE:
- localChatTab->chatLog(_("Trade completed."), BY_SERVER);
+ SERVER_NOTICE(_("Trade completed."))
tradeWindow->setVisible(false);
tradeWindow->reset();
- player_node->setTrading(false);
+ PlayerInfo::setTrading(false);
break;
}
}
@@ -177,7 +176,7 @@ void TradeHandler::respond(bool accept)
gameServerConnection->send(msg);
if (!accept)
- player_node->setTrading(false);
+ PlayerInfo::setTrading(false);
}
void TradeHandler::addItem(Item *item, int amount)
diff --git a/src/net/net.cpp b/src/net/net.cpp
index 1b4bbf36..090ecd78 100644
--- a/src/net/net.cpp
+++ b/src/net/net.cpp
@@ -133,17 +133,12 @@ void connectToServer(ServerInfo &server)
{
// TODO: Query the server about itself and choose the netcode based on
// that
-
-#ifndef MANASERV_SUPPORT
- server.type = ServerInfo::TMWATHENA;
-#else
if (server.port == 6901)
server.type = ServerInfo::TMWATHENA;
else if (server.port == 9601)
server.type = ServerInfo::MANASERV;
else
logger->error(_("Unknown Server Type! Exiting."));
-#endif
}
if (networkType == server.type && getGeneralHandler() != NULL)
diff --git a/src/net/npchandler.h b/src/net/npchandler.h
index bba8dc31..35535c61 100644
--- a/src/net/npchandler.h
+++ b/src/net/npchandler.h
@@ -29,13 +29,27 @@ namespace Net {
class NpcHandler
{
public:
+ virtual ~NpcHandler() {}
+
+ virtual void startShopping(int beingId) = 0;
+
+ virtual void buy(int beingId) = 0;
+
+ virtual void sell(int beingId) = 0;
+
+ virtual void buyItem(int beingId, int itemId, int amount) = 0;
+
+ virtual void sellItem(int beingId, int itemId, int amount) = 0;
+
+ virtual void endShopping(int beingId) = 0;
+
virtual void talk(int npcId) = 0;
virtual void nextDialog(int npcId) = 0;
virtual void closeDialog(int npcId) = 0;
- virtual void listInput(int npcId, int value) = 0;
+ virtual void menuSelect(int npcId, int choice) = 0;
virtual void integerInput(int npcId, int value) = 0;
@@ -44,19 +58,6 @@ class NpcHandler
virtual void sendLetter(int npcId, const std::string &recipient,
const std::string &text) = 0;
- virtual void startShopping(int beingId) = 0;
-
- virtual void buy(int beingId) = 0;
-
- virtual void sell(int beingId) = 0;
-
- virtual void buyItem(int beingId, int itemId, int amount) = 0;
-
- virtual void sellItem(int beingId, int itemId, int amount) = 0;
-
- virtual void endShopping(int beingId) = 0;
-
- virtual ~NpcHandler() {}
};
} // namespace Net
diff --git a/src/net/partyhandler.h b/src/net/partyhandler.h
index dd1103fc..7ca13546 100644
--- a/src/net/partyhandler.h
+++ b/src/net/partyhandler.h
@@ -24,7 +24,7 @@
#include <string>
-class Player;
+class Being;
enum PartyShare {
PARTY_SHARE_UNKNOWN = -1,
@@ -38,11 +38,13 @@ namespace Net {
class PartyHandler
{
public:
+ virtual ~PartyHandler() {}
+
virtual void create(const std::string &name = "") = 0;
virtual void join(int partyId) = 0;
- virtual void invite(Player *player) = 0;
+ virtual void invite(Being *player) = 0;
virtual void invite(const std::string &name) = 0;
@@ -50,7 +52,7 @@ class PartyHandler
virtual void leave() = 0;
- virtual void kick(Player *player) = 0;
+ virtual void kick(Being *player) = 0;
virtual void kick(const std::string &name) = 0;
@@ -69,8 +71,6 @@ class PartyHandler
// virtual void options() = 0;
// virtual void message() = 0;
-
- virtual ~PartyHandler() {}
};
} // namespace Net
diff --git a/src/net/playerhandler.h b/src/net/playerhandler.h
index 399afb5e..d7676a92 100644
--- a/src/net/playerhandler.h
+++ b/src/net/playerhandler.h
@@ -24,13 +24,14 @@
#include "being.h"
#include "flooritem.h"
-#include "localplayer.h"
namespace Net {
class PlayerHandler
{
public:
+ virtual ~PlayerHandler() {}
+
virtual void attack(int id) = 0;
virtual void emote(int emoteId) = 0;
@@ -62,8 +63,6 @@ class PlayerHandler
virtual int getJobLocation() = 0;
virtual Vector getDefaultWalkSpeed() = 0;
-
- virtual ~PlayerHandler() {}
};
} // namespace Net
diff --git a/src/net/specialhandler.h b/src/net/specialhandler.h
index 21e3a4b7..89fcdf7d 100644
--- a/src/net/specialhandler.h
+++ b/src/net/specialhandler.h
@@ -28,6 +28,8 @@ namespace Net {
class SpecialHandler
{
public:
+ virtual ~SpecialHandler () {}
+
virtual void use(int id) = 0;
virtual void use(int id, int level, int beingId) = 0;
@@ -35,8 +37,6 @@ class SpecialHandler
virtual void use(int id, int level, int x, int y) = 0;
virtual void use(int id, const std::string &map) = 0;
-
- virtual ~SpecialHandler () {}
};
}
diff --git a/src/net/tmwa/adminhandler.cpp b/src/net/tmwa/adminhandler.cpp
index e2c3c74b..53e4bfd8 100644
--- a/src/net/tmwa/adminhandler.cpp
+++ b/src/net/tmwa/adminhandler.cpp
@@ -21,14 +21,12 @@
#include "net/tmwa/adminhandler.h"
+#include "actorspritemanager.h"
#include "being.h"
-#include "beingmanager.h"
+#include "event.h"
#include "game.h"
-#include "player.h"
#include "playerrelations.h"
-#include "gui/widgets/chattab.h"
-
#include "net/chathandler.h"
#include "net/net.h"
@@ -45,7 +43,8 @@ namespace TmwAthena {
AdminHandler::AdminHandler()
{
- static const Uint16 _messages[] = {
+ static const Uint16 _messages[] =
+ {
SMSG_ADMIN_KICK_ACK,
SMSG_ADMIN_IP,
0
@@ -62,15 +61,14 @@ void AdminHandler::handleMessage(Net::MessageIn &msg)
case SMSG_ADMIN_KICK_ACK:
id = msg.readInt32();
if (id == 0)
- localChatTab->chatLog(_("Kick failed!"), BY_SERVER);
+ SERVER_NOTICE(_("Kick failed!"))
else
- localChatTab->chatLog(_("Kick succeeded!"), BY_SERVER);
+ SERVER_NOTICE(_("Kick succeeded!"))
break;
case SMSG_ADMIN_IP:
id = msg.readInt32();
int ip = msg.readInt32();
- Being *being = beingManager->findBeing(id);
- if (Player *player = dynamic_cast<Player *>(being))
+ if (Being *player = actorSpriteManager->findBeing(id))
{
player->setIp(ip);
player->updateName();
diff --git a/src/net/tmwa/beinghandler.cpp b/src/net/tmwa/beinghandler.cpp
index 2fe962c7..61491692 100644
--- a/src/net/tmwa/beinghandler.cpp
+++ b/src/net/tmwa/beinghandler.cpp
@@ -21,31 +21,30 @@
#include "net/tmwa/beinghandler.h"
+#include "actorspritemanager.h"
#include "being.h"
-#include "beingmanager.h"
#include "client.h"
#include "effectmanager.h"
#include "guild.h"
#include "localplayer.h"
#include "log.h"
-#include "npc.h"
#include "party.h"
#include "playerrelations.h"
#include "net/tmwa/protocol.h"
#include "resources/colordb.h"
+#include "resources/emotedb.h"
#include <iostream>
namespace TmwAthena {
-const int EMOTION_TIME = 150; /**< Duration of emotion icon */
-
BeingHandler::BeingHandler(bool enableSync):
mSync(enableSync)
{
- static const Uint16 _messages[] = {
+ static const Uint16 _messages[] =
+ {
SMSG_BEING_VISIBLE,
SMSG_BEING_MOVE,
SMSG_BEING_SPAWN,
@@ -75,19 +74,19 @@ BeingHandler::BeingHandler(bool enableSync):
Being *createBeing(int id, short job)
{
- Being::Type type = Being::UNKNOWN;
+ ActorSprite::Type type = ActorSprite::UNKNOWN;
if (job <= 25 || (job >= 4001 && job <= 4049))
- type = Being::PLAYER;
+ type = ActorSprite::PLAYER;
else if (job >= 46 && job <= 1000)
- type = Being::NPC;
+ type = ActorSprite::NPC;
else if (job > 1000 && job <= 2000)
- type = Being::MONSTER;
+ type = ActorSprite::MONSTER;
else if (job == 45)
return NULL; // Skip portals
- Being *being = beingManager->createBeing(id, type, job);
+ Being *being = actorSpriteManager->createBeing(id, type, job);
- if (type == Being::PLAYER || type == Being::NPC)
+ if (type == ActorSprite::PLAYER || type == ActorSprite::NPC)
{
MessageOut outMsg(0x0094);
outMsg.writeInt32(id);//readLong(2));
@@ -98,7 +97,7 @@ Being *createBeing(int id, short job)
void BeingHandler::handleMessage(Net::MessageIn &msg)
{
- if (!beingManager)
+ if (!actorSpriteManager)
return;
int id;
@@ -113,7 +112,6 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
int type, guild;
Uint16 status;
Being *srcBeing, *dstBeing;
- Player *player = 0;
int hairStyle, hairColor, flag;
switch (msg.getId())
@@ -128,7 +126,7 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
statusEffects |= ((Uint32)msg.readInt16()) << 16; // option
job = msg.readInt16(); // class
- dstBeing = beingManager->findBeing(id);
+ dstBeing = actorSpriteManager->findBeing(id);
if (!dstBeing)
{
@@ -145,14 +143,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
break;
}
- if (dstBeing->getType() == Being::PLAYER)
- player = static_cast<Player*>(dstBeing);
-
- if (msg.getId() == 0x0078)
+ if (msg.getId() == SMSG_BEING_VISIBLE)
{
dstBeing->clearPath();
- dstBeing->setFrame(0);
- dstBeing->setWalkTime(tick_time);
+ dstBeing->setActionTime(tick_time);
dstBeing->setAction(Being::STAND);
}
@@ -178,16 +172,13 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
shoes = msg.readInt16(); // clothes color - "abused" as shoes
gloves = msg.readInt16(); // head dir - "abused" as gloves
guild = msg.readInt32(); // guild
- if (player)
+ if (guild == 0)
{
- if (guild == 0)
- {
- player->clearGuilds();
- }
- else
- {
- player->addGuild(Guild::getGuild(guild));
- }
+ dstBeing->clearGuilds();
+ }
+ else
+ {
+ dstBeing->addGuild(Guild::getGuild(guild));
}
msg.readInt16(); // guild emblem
msg.readInt16(); // manner
@@ -195,19 +186,19 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
msg.readInt8(); // karma
gender = msg.readInt8();
- if (player)
+ if (dstBeing->getType() == ActorSprite::PLAYER)
{
- player->setGender((gender == 0)
- ? GENDER_FEMALE : GENDER_MALE);
+ dstBeing->setGender((gender == 0)
+ ? GENDER_FEMALE : GENDER_MALE);
// Set these after the gender, as the sprites may be gender-specific
- player->setSprite(SPRITE_HAIR, hairStyle * -1, ColorDB::get(hairColor));
- player->setSprite(SPRITE_BOTTOMCLOTHES, headBottom);
- player->setSprite(SPRITE_TOPCLOTHES, headMid);
- player->setSprite(SPRITE_HAT, headTop);
- player->setSprite(SPRITE_SHOE, shoes);
- player->setSprite(SPRITE_GLOVES, gloves);
- player->setSprite(SPRITE_WEAPON, weapon, "", true);
- player->setSprite(SPRITE_SHIELD, shield);
+ dstBeing->setSprite(SPRITE_HAIR, hairStyle * -1, ColorDB::get(hairColor));
+ dstBeing->setSprite(SPRITE_BOTTOMCLOTHES, headBottom);
+ dstBeing->setSprite(SPRITE_TOPCLOTHES, headMid);
+ dstBeing->setSprite(SPRITE_HAT, headTop);
+ dstBeing->setSprite(SPRITE_SHOE, shoes);
+ dstBeing->setSprite(SPRITE_GLOVES, gloves);
+ dstBeing->setSprite(SPRITE_WEAPON, weapon, "", true);
+ dstBeing->setSprite(SPRITE_SHIELD, shield);
}
if (msg.getId() == SMSG_BEING_MOVE)
@@ -249,11 +240,7 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
* later versions of eAthena for both mobs and
* players
*/
- dstBeing = beingManager->findBeing(msg.readInt32());
-
- Uint16 srcX, srcY, dstX, dstY;
- msg.readCoordinatePair(srcX, srcY, dstX, dstY);
- msg.readInt32(); // Server tick
+ dstBeing = actorSpriteManager->findBeing(msg.readInt32());
/*
* This packet doesn't have enough info to actually
@@ -261,21 +248,23 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
* we'll just pretend the packet didn't happen
*/
- if (dstBeing)
- {
- dstBeing->setAction(Being::STAND);
- dstBeing->setTileCoords(srcX, srcY);
- dstBeing->setDestination(dstX, dstY);
- }
+ if (!dstBeing)
+ break;
+
+ Uint16 srcX, srcY, dstX, dstY;
+ msg.readCoordinatePair(srcX, srcY, dstX, dstY);
+ msg.readInt32(); // Server tick
+
+ dstBeing->setAction(Being::STAND);
+ dstBeing->setTileCoords(srcX, srcY);
+ dstBeing->setDestination(dstX, dstY);
break;
case SMSG_BEING_REMOVE:
// A being should be removed or has died
id = msg.readInt32();
-
- dstBeing = beingManager->findBeing(id);
-
+ dstBeing = actorSpriteManager->findBeing(id);
if (!dstBeing)
break;
@@ -286,16 +275,14 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
if (msg.readInt8() == 1)
dstBeing->setAction(Being::DEAD);
else
- beingManager->destroyBeing(dstBeing);
+ actorSpriteManager->destroy(dstBeing);
break;
case SMSG_BEING_RESURRECT:
// A being changed mortality status
id = msg.readInt32();
-
- dstBeing = beingManager->findBeing(id);
-
+ dstBeing = actorSpriteManager->findBeing(id);
if (!dstBeing)
break;
@@ -310,8 +297,8 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
case SMSG_SKILL_DAMAGE:
msg.readInt16(); // Skill Id
- srcBeing = beingManager->findBeing(msg.readInt32());
- dstBeing = beingManager->findBeing(msg.readInt32());
+ srcBeing = actorSpriteManager->findBeing(msg.readInt32());
+ dstBeing = actorSpriteManager->findBeing(msg.readInt32());
msg.readInt32(); // Server tick
msg.readInt32(); // src speed
msg.readInt32(); // dst speed
@@ -326,8 +313,8 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
break;
case SMSG_BEING_ACTION:
- srcBeing = beingManager->findBeing(msg.readInt32());
- dstBeing = beingManager->findBeing(msg.readInt32());
+ srcBeing = actorSpriteManager->findBeing(msg.readInt32());
+ dstBeing = actorSpriteManager->findBeing(msg.readInt32());
msg.readInt32(); // server tick
msg.readInt32(); // src speed
msg.readInt32(); // dst speed
@@ -354,7 +341,6 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
case 0x02: // Sit
if (srcBeing)
{
- srcBeing->setFrame(0);
srcBeing->setAction(Being::SIT);
}
break;
@@ -362,37 +348,36 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
case 0x03: // Stand up
if (srcBeing)
{
- srcBeing->setFrame(0);
srcBeing->setAction(Being::STAND);
}
break;
}
break;
- case SMSG_BEING_SELFEFFECT: {
+ case SMSG_BEING_SELFEFFECT:
+ {
id = (Uint32)msg.readInt32();
- if (!beingManager->findBeing(id))
+ Being* being = actorSpriteManager->findBeing(id);
+ if (!being)
break;
int effectType = msg.readInt32();
- Being* being = beingManager->findBeing(id);
effectManager->trigger(effectType, being);
-
break;
}
case SMSG_BEING_EMOTION:
- if (!(dstBeing = beingManager->findBeing(msg.readInt32())))
+ if (!(dstBeing = actorSpriteManager->findBeing(msg.readInt32())))
{
break;
}
if (player_relations.hasPermission(dstBeing, PlayerRelation::EMOTE))
{
- // only set emote if one doesnt already exist
- if (!dstBeing->getEmotion())
- dstBeing->setEmote(msg.readInt8(), EMOTION_TIME);
+ const int fx = EmoteDB::get(msg.readInt8())->effect;
+ //TODO: figure out why the -1 is needed
+ effectManager->trigger(fx - 1, dstBeing);
}
break;
@@ -412,14 +397,11 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
* 16 bit value will be 0.
*/
- if (!(dstBeing = beingManager->findBeing(msg.readInt32())))
+ if (!(dstBeing = actorSpriteManager->findBeing(msg.readInt32())))
{
break;
}
- if (dstBeing->getType() == Being::PLAYER)
- player = static_cast<Player*>(dstBeing);
-
int type = msg.readInt8();
int id = 0;
int id2 = 0;
@@ -437,41 +419,41 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
switch (type)
{
case 1: // eAthena LOOK_HAIR
- player->setSpriteID(SPRITE_HAIR, id *-1);
+ dstBeing->setSpriteID(SPRITE_HAIR, id *-1);
break;
case 2: // Weapon ID in id, Shield ID in id2
- player->setSprite(SPRITE_WEAPON, id, "", true);
- player->setSprite(SPRITE_SHIELD, id2);
+ dstBeing->setSprite(SPRITE_WEAPON, id, "", true);
+ dstBeing->setSprite(SPRITE_SHIELD, id2);
break;
case 3: // Change lower headgear for eAthena, pants for us
- player->setSprite(SPRITE_BOTTOMCLOTHES, id);
+ dstBeing->setSprite(SPRITE_BOTTOMCLOTHES, id);
break;
case 4: // Change upper headgear for eAthena, hat for us
- player->setSprite(SPRITE_HAT, id);
+ dstBeing->setSprite(SPRITE_HAT, id);
break;
case 5: // Change middle headgear for eathena, armor for us
- player->setSprite(SPRITE_TOPCLOTHES, id);
+ dstBeing->setSprite(SPRITE_TOPCLOTHES, id);
break;
case 6: // eAthena LOOK_HAIR_COLOR
- player->setSpriteColor(SPRITE_HAIR, ColorDB::get(id));
+ dstBeing->setSpriteColor(SPRITE_HAIR, ColorDB::get(id));
break;
case 8: // eAthena LOOK_SHIELD
- player->setSprite(SPRITE_SHIELD, id);
+ dstBeing->setSprite(SPRITE_SHIELD, id);
break;
case 9: // eAthena LOOK_SHOES
- player->setSprite(SPRITE_SHOE, id);
+ dstBeing->setSprite(SPRITE_SHOE, id);
break;
case 10: // LOOK_GLOVES
- player->setSprite(SPRITE_GLOVES, id);
+ dstBeing->setSprite(SPRITE_GLOVES, id);
break;
case 11: // LOOK_CAPE
- player->setSprite(SPRITE_CAPE, id);
+ dstBeing->setSprite(SPRITE_CAPE, id);
break;
case 12:
- player->setSprite(SPRITE_MISC1, id);
+ dstBeing->setSprite(SPRITE_MISC1, id);
break;
case 13:
- player->setSprite(SPRITE_MISC2, id);
+ dstBeing->setSprite(SPRITE_MISC2, id);
break;
default:
logger->log("SMSG_BEING_CHANGE_LOOKS: unsupported type: "
@@ -482,13 +464,13 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
break;
case SMSG_BEING_NAME_RESPONSE:
- if ((dstBeing = beingManager->findBeing(msg.readInt32())))
+ if ((dstBeing = actorSpriteManager->findBeing(msg.readInt32())))
{
dstBeing->setName(msg.readString(24));
}
break;
case SMSG_PLAYER_GUILD_PARTY_INFO:
- if ((dstBeing = beingManager->findBeing(msg.readInt32())))
+ if ((dstBeing = actorSpriteManager->findBeing(msg.readInt32())))
{
dstBeing->setPartyName(msg.readString(24));
dstBeing->setGuildName(msg.readString(24));
@@ -497,7 +479,7 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
}
break;
case SMSG_BEING_CHANGE_DIRECTION:
- if (!(dstBeing = beingManager->findBeing(msg.readInt32())))
+ if (!(dstBeing = actorSpriteManager->findBeing(msg.readInt32())))
{
break;
}
@@ -520,7 +502,7 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
<< 16; // status.options; Aethyra uses this as misc2
job = msg.readInt16();
- dstBeing = beingManager->findBeing(id);
+ dstBeing = actorSpriteManager->findBeing(id);
if (!dstBeing)
{
@@ -530,13 +512,10 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
break;
}
- if (dstBeing->getType() == Being::PLAYER)
- player = static_cast<Player*>(dstBeing);
-
if (Party *party = player_node->getParty()){
if (party->isMember(id))
{
- player->setParty(party);
+ dstBeing->setParty(party);
}
}
@@ -562,21 +541,21 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
msg.readInt16(); // manner
dstBeing->setStatusEffectBlock(32, msg.readInt16()); // opt3
msg.readInt8(); // karma
- player->setGender((msg.readInt8() == 0)
+ dstBeing->setGender((msg.readInt8() == 0)
? GENDER_FEMALE : GENDER_MALE);
// Set these after the gender, as the sprites may be gender-specific
- player->setSprite(SPRITE_WEAPON, weapon, "", true);
- player->setSprite(SPRITE_SHIELD, shield);
- //player->setSprite(SPRITE_SHOE, shoes);
- player->setSprite(SPRITE_BOTTOMCLOTHES, headBottom);
- player->setSprite(SPRITE_TOPCLOTHES, headMid);
- player->setSprite(SPRITE_HAT, headTop);
- //player->setSprite(SPRITE_GLOVES, gloves);
- //player->setSprite(SPRITE_CAPE, cape);
- //player->setSprite(SPRITE_MISC1, misc1);
- //player->setSprite(SPRITE_MISC2, misc2);
- player->setSprite(SPRITE_HAIR, hairStyle * -1, ColorDB::get(hairColor));
+ dstBeing->setSprite(SPRITE_WEAPON, weapon, "", true);
+ dstBeing->setSprite(SPRITE_SHIELD, shield);
+ //dstBeing->setSprite(SPRITE_SHOE, shoes);
+ dstBeing->setSprite(SPRITE_BOTTOMCLOTHES, headBottom);
+ dstBeing->setSprite(SPRITE_TOPCLOTHES, headMid);
+ dstBeing->setSprite(SPRITE_HAT, headTop);
+ //dstBeing->setSprite(SPRITE_GLOVES, gloves);
+ //dstBeing->setSprite(SPRITE_CAPE, cape);
+ //dstBeing->setSprite(SPRITE_MISC1, misc1);
+ //dstBeing->setSprite(SPRITE_MISC2, misc2);
+ dstBeing->setSprite(SPRITE_HAIR, hairStyle * -1, ColorDB::get(hairColor));
if (msg.getId() == SMSG_PLAYER_MOVE)
{
@@ -596,7 +575,7 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
gmstatus = msg.readInt16();
if (gmstatus & 0x80)
- player->setGM(true);
+ dstBeing->setGM(true);
if (msg.getId() == SMSG_PLAYER_UPDATE_1)
{
@@ -619,8 +598,8 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
msg.readInt8(); // Lv
msg.readInt8(); // unknown
- dstBeing->setWalkTime(tick_time);
- dstBeing->setFrame(0);
+ dstBeing->setActionTime(tick_time);
+ dstBeing->reset();
dstBeing->setStunMode(stunMode);
dstBeing->setStatusEffectBlock(0, (statusEffects >> 16) & 0xffff);
@@ -643,18 +622,15 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
id = msg.readInt32();
if (mSync || id != player_node->getId())
{
- dstBeing = beingManager->findBeing(id);
+ dstBeing = actorSpriteManager->findBeing(id);
if (dstBeing)
{
Uint16 x, y;
x = msg.readInt16();
y = msg.readInt16();
dstBeing->setTileCoords(x, y);
- if (dstBeing->getCurrentAction() == Being::WALK)
- {
- dstBeing->setFrame(0);
+ if (dstBeing->getCurrentAction() == Being::MOVE)
dstBeing->setAction(Being::STAND);
- }
}
}
break;
@@ -671,18 +647,18 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
case SMSG_PLAYER_STATUS_CHANGE:
// Change in players' flags
id = msg.readInt32();
- dstBeing = beingManager->findBeing(id);
+ dstBeing = actorSpriteManager->findBeing(id);
+ if (!dstBeing)
+ break;
+
stunMode = msg.readInt16();
statusEffects = msg.readInt16();
statusEffects |= ((Uint32) msg.readInt16()) << 16;
- msg.readInt8();
+ msg.readInt8(); // Unused?
- if (dstBeing)
- {
- dstBeing->setStunMode(stunMode);
- dstBeing->setStatusEffectBlock(0, (statusEffects >> 16) & 0xffff);
- dstBeing->setStatusEffectBlock(16, statusEffects & 0xffff);
- }
+ dstBeing->setStunMode(stunMode);
+ dstBeing->setStatusEffectBlock(0, (statusEffects >> 16) & 0xffff);
+ dstBeing->setStatusEffectBlock(16, statusEffects & 0xffff);
break;
case SMSG_BEING_STATUS_CHANGE:
@@ -691,7 +667,7 @@ void BeingHandler::handleMessage(Net::MessageIn &msg)
id = msg.readInt32();
flag = msg.readInt8(); // 0: stop, 1: start
- dstBeing = beingManager->findBeing(id);
+ dstBeing = actorSpriteManager->findBeing(id);
if (dstBeing)
dstBeing->setStatusEffect(status, flag);
break;
diff --git a/src/net/tmwa/buysellhandler.cpp b/src/net/tmwa/buysellhandler.cpp
index 209f034d..5368ba9d 100644
--- a/src/net/tmwa/buysellhandler.cpp
+++ b/src/net/tmwa/buysellhandler.cpp
@@ -21,18 +21,17 @@
#include "net/tmwa/buysellhandler.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
+#include "event.h"
#include "inventory.h"
#include "item.h"
#include "localplayer.h"
-#include "npc.h"
+#include "playerinfo.h"
#include "gui/buy.h"
#include "gui/buysell.h"
#include "gui/sell.h"
-#include "gui/widgets/chattab.h"
-
#include "net/messagein.h"
#include "net/tmwa/protocol.h"
@@ -62,7 +61,7 @@ void BuySellHandler::handleMessage(Net::MessageIn &msg)
switch (msg.getId())
{
case SMSG_NPC_BUY_SELL_CHOICE:
- if (!BuySellDialog::isActive())
+ if (PlayerInfo::getBuySellState() != BUYSELL_CHOOSING)
{
mNpcId = msg.readInt32();
new BuySellDialog(mNpcId);
@@ -73,7 +72,7 @@ void BuySellHandler::handleMessage(Net::MessageIn &msg)
msg.readInt16(); // length
n_items = (msg.getLength() - 4) / 11;
mBuyDialog = new BuyDialog(mNpcId);
- mBuyDialog->setMoney(player_node->getMoney());
+ mBuyDialog->setMoney(PlayerInfo::getAttribute(MONEY));
for (int k = 0; k < n_items; k++)
{
@@ -91,7 +90,7 @@ void BuySellHandler::handleMessage(Net::MessageIn &msg)
if (n_items > 0)
{
SellDialog *dialog = new SellDialog(mNpcId);
- dialog->setMoney(player_node->getMoney());
+ dialog->setMoney(PlayerInfo::getAttribute(MONEY));
for (int k = 0; k < n_items; k++)
{
@@ -99,7 +98,7 @@ void BuySellHandler::handleMessage(Net::MessageIn &msg)
int value = msg.readInt32();
msg.readInt32(); // OCvalue
- Item *item = player_node->getInventory()->getItem(index);
+ Item *item = PlayerInfo::getInventory()->getItem(index);
if (item && !(item->isEquipped()))
dialog->addItem(item, value);
@@ -107,29 +106,29 @@ void BuySellHandler::handleMessage(Net::MessageIn &msg)
}
else
{
- localChatTab->chatLog(_("Nothing to sell."), BY_SERVER);
+ SERVER_NOTICE(_("Nothing to sell."))
}
break;
case SMSG_NPC_BUY_RESPONSE:
if (msg.readInt8() == 0)
{
- localChatTab->chatLog(_("Thanks for buying."), BY_SERVER);
+ SERVER_NOTICE(_("Thanks for buying."))
}
else
{
// Reset player money since buy dialog already assumed purchase
// would go fine
- mBuyDialog->setMoney(player_node->getMoney());
- localChatTab->chatLog(_("Unable to buy."), BY_SERVER);
+ mBuyDialog->setMoney(PlayerInfo::getAttribute(MONEY));
+ SERVER_NOTICE(_("Unable to buy."))
}
break;
case SMSG_NPC_SELL_RESPONSE:
if (msg.readInt8() == 0)
- localChatTab->chatLog(_("Thanks for selling."), BY_SERVER);
+ SERVER_NOTICE(_("Thanks for selling."))
else
- localChatTab->chatLog(_("Unable to sell."), BY_SERVER);
+ SERVER_NOTICE(_("Unable to sell."))
break;
}
diff --git a/src/net/tmwa/charserverhandler.cpp b/src/net/tmwa/charserverhandler.cpp
index dc9b3108..1063ee39 100644
--- a/src/net/tmwa/charserverhandler.cpp
+++ b/src/net/tmwa/charserverhandler.cpp
@@ -86,12 +86,10 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg)
for (int i = 0; i < count; ++i)
{
Net::Character *character = new Net::Character;
- int slot;
- character->dummy = readPlayerData(msg, &slot);
- character->slot = slot;
+ readPlayerData(msg, character);
mCharacters.push_back(character);
logger->log("CharServer: Player: %s (%d)",
- character->dummy->getName().c_str(), slot);
+ character->dummy->getName().c_str(), character->slot);
}
Client::setState(STATE_CHAR_SELECT);
@@ -118,9 +116,7 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg)
case SMSG_CHAR_CREATE_SUCCEEDED:
{
Net::Character *character = new Net::Character;
- int slot;
- character->dummy = readPlayerData(msg, &slot);
- character->slot = slot;
+ readPlayerData(msg, character);
mCharacters.push_back(character);
updateCharSelectDialog();
@@ -165,6 +161,8 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg)
// Prevent the selected local player from being deleted
player_node = mSelectedCharacter->dummy;
+ PlayerInfo::setBackend(mSelectedCharacter->data);
+
mSelectedCharacter->dummy = 0;
delete_all(mCharacters);
@@ -194,7 +192,7 @@ void CharServerHandler::handleMessage(Net::MessageIn &msg)
}
}
-LocalPlayer *CharServerHandler::readPlayerData(Net::MessageIn &msg, int *slot)
+void CharServerHandler::readPlayerData(Net::MessageIn &msg, Net::Character *character)
{
const Token &token =
static_cast<LoginHandler*>(Net::getLoginHandler())->getToken();
@@ -202,30 +200,37 @@ LocalPlayer *CharServerHandler::readPlayerData(Net::MessageIn &msg, int *slot)
LocalPlayer *tempPlayer = new LocalPlayer(msg.readInt32(), 0);
tempPlayer->setGender(token.sex);
- tempPlayer->setExp(msg.readInt32());
- tempPlayer->setMoney(msg.readInt32());
- tempPlayer->setExperience(JOB, msg.readInt32(), 1);
+ character->data.mAttributes[EXP] = msg.readInt32();
+ character->data.mAttributes[MONEY] = msg.readInt32();
+ character->data.mStats[JOB].exp = msg.readInt32();
+
int temp = msg.readInt32();
- tempPlayer->setAttributeBase(JOB, temp, false);
- tempPlayer->setAttributeEffective(JOB, temp);
+ character->data.mStats[JOB].base = temp;
+ character->data.mStats[JOB].mod = temp;
+
tempPlayer->setSprite(SPRITE_SHOE, msg.readInt16());
tempPlayer->setSprite(SPRITE_GLOVES, msg.readInt16());
tempPlayer->setSprite(SPRITE_CAPE, msg.readInt16());
tempPlayer->setSprite(SPRITE_MISC1, msg.readInt16());
+
msg.readInt32(); // option
msg.readInt32(); // karma
msg.readInt32(); // manner
msg.skip(2); // unknown
- tempPlayer->setHp(msg.readInt16());
- tempPlayer->setMaxHp(msg.readInt16());
- tempPlayer->setMP(msg.readInt16());
- tempPlayer->setMaxMP(msg.readInt16());
+
+ character->data.mAttributes[HP] = msg.readInt16();
+ character->data.mAttributes[MAX_HP] = msg.readInt16();
+ character->data.mAttributes[MP] = msg.readInt16();
+ character->data.mAttributes[MAX_MP] = msg.readInt16();
+
msg.readInt16(); // speed
tempPlayer->setSubtype(msg.readInt16()); // class (used for race)
int hairStyle = msg.readInt16();
Uint16 weapon = msg.readInt16();
tempPlayer->setSprite(SPRITE_WEAPON, weapon, "", true);
- tempPlayer->setLevel(msg.readInt16());
+
+ character->data.mAttributes[LEVEL] = msg.readInt16();
+
msg.readInt16(); // skill point
tempPlayer->setSprite(SPRITE_BOTTOMCLOTHES, msg.readInt16()); // head bottom
tempPlayer->setSprite(SPRITE_SHIELD, msg.readInt16());
@@ -234,12 +239,14 @@ LocalPlayer *CharServerHandler::readPlayerData(Net::MessageIn &msg, int *slot)
tempPlayer->setSprite(SPRITE_HAIR, hairStyle * -1, ColorDB::get(msg.readInt16()));
tempPlayer->setSprite(SPRITE_MISC2, msg.readInt16());
tempPlayer->setName(msg.readString(24));
+
+ character->dummy = tempPlayer;
+
for (int i = 0; i < 6; i++)
- tempPlayer->setAttributeBase(i + STR, msg.readInt8(), false);
- *slot = msg.readInt8(); // character slot
- msg.readInt8(); // unknown
+ character->data.mStats[i + STR].base = msg.readInt8();
- return tempPlayer;
+ character->slot = msg.readInt8(); // character slot
+ msg.readInt8(); // unknown
}
void CharServerHandler::setCharSelectDialog(CharSelectDialog *window)
@@ -315,17 +322,17 @@ void CharServerHandler::switchCharacter()
outMsg.writeInt8(1);
}
-int CharServerHandler::baseSprite() const
+unsigned int CharServerHandler::baseSprite() const
{
return SPRITE_BASE;
}
-int CharServerHandler::hairSprite() const
+unsigned int CharServerHandler::hairSprite() const
{
return SPRITE_HAIR;
}
-int CharServerHandler::maxSprite() const
+unsigned int CharServerHandler::maxSprite() const
{
return SPRITE_VECTOREND;
}
diff --git a/src/net/tmwa/charserverhandler.h b/src/net/tmwa/charserverhandler.h
index e80d22c4..2076cbae 100644
--- a/src/net/tmwa/charserverhandler.h
+++ b/src/net/tmwa/charserverhandler.h
@@ -63,16 +63,16 @@ class CharServerHandler : public MessageHandler, public Net::CharHandler
void switchCharacter();
- int baseSprite() const;
+ unsigned int baseSprite() const;
- int hairSprite() const;
+ unsigned int hairSprite() const;
- int maxSprite() const;
+ unsigned int maxSprite() const;
void connect();
private:
- LocalPlayer *readPlayerData(Net::MessageIn &msg, int *slot);
+ void readPlayerData(Net::MessageIn &msg, Net::Character *character);
};
} // namespace TmwAthena
diff --git a/src/net/tmwa/chathandler.cpp b/src/net/tmwa/chathandler.cpp
index 00d29662..33826762 100644
--- a/src/net/tmwa/chathandler.cpp
+++ b/src/net/tmwa/chathandler.cpp
@@ -21,14 +21,13 @@
#include "net/tmwa/chathandler.h"
+#include "actorspritemanager.h"
#include "being.h"
-#include "beingmanager.h"
+#include "event.h"
#include "game.h"
#include "localplayer.h"
#include "playerrelations.h"
-#include "gui/widgets/chattab.h"
-
#include "net/messagein.h"
#include "net/messageout.h"
@@ -60,8 +59,6 @@ ChatHandler::ChatHandler()
void ChatHandler::handleMessage(Net::MessageIn &msg)
{
- if (!localChatTab) return;
-
Being *being;
std::string chatMsg;
std::string nick;
@@ -70,19 +67,36 @@ void ChatHandler::handleMessage(Net::MessageIn &msg)
switch (msg.getId())
{
case SMSG_WHISPER_RESPONSE:
+ if (mSentWhispers.empty())
+ nick = "user";
+ else
+ {
+ nick = mSentWhispers.front();
+ mSentWhispers.pop();
+ }
+
switch (msg.readInt8())
{
case 0x00:
- // comment out since we'll local echo in chat.cpp instead, then only report failures
- //localChatTab->chatLog("Whisper sent", BY_SERVER);
+ // Success (don't need to report)
break;
case 0x01:
- localChatTab->chatLog(_("Whisper could not be sent, user "
- "is offline."), BY_SERVER);
+ {
+ Mana::Event event(EVENT_WHISPERERROR);
+ event.setString("nick", nick);
+ event.setString("error", strprintf(_("Whisper could "
+ "not be sent, %s is offline."), nick.c_str()));
+ event.trigger(CHANNEL_CHAT);
+ }
break;
case 0x02:
- localChatTab->chatLog(_("Whisper could not be sent, "
- "ignored by user."), BY_SERVER);
+ {
+ Mana::Event event(EVENT_WHISPERERROR);
+ event.setString("nick", nick);
+ event.setString("error", strprintf(_("Whisper could "
+ "not be sent, ignored by %s."), nick.c_str()));
+ event.Event::trigger(CHANNEL_CHAT);
+ }
break;
}
break;
@@ -100,11 +114,16 @@ void ChatHandler::handleMessage(Net::MessageIn &msg)
if (nick != "Server")
{
if (player_relations.hasPermission(nick, PlayerRelation::WHISPER))
- chatWindow->whisper(nick, chatMsg);
+ {
+ Mana::Event event(EVENT_WHISPER);
+ event.setString("nick", nick);
+ event.setString("message", chatMsg);
+ event.trigger(CHANNEL_CHAT);
+ }
}
else
{
- localChatTab->chatLog(chatMsg, BY_SERVER);
+ SERVER_NOTICE(chatMsg)
}
break;
@@ -113,7 +132,8 @@ void ChatHandler::handleMessage(Net::MessageIn &msg)
case SMSG_BEING_CHAT:
{
chatMsgLength = msg.readInt16() - 8;
- being = beingManager->findBeing(msg.readInt32());
+ int beingId = msg.readInt32();
+ being = actorSpriteManager->findBeing(beingId);
if (!being || chatMsgLength <= 0)
break;
@@ -135,23 +155,33 @@ void ChatHandler::handleMessage(Net::MessageIn &msg)
chatMsg.erase(0, pos + 3);
}
- trim(chatMsg);
+ int perms;
- // We use getIgnorePlayer instead of ignoringPlayer here
- // because ignorePlayer' side effects are triggered
- // right below for Being::IGNORE_SPEECH_FLOAT.
- if (player_relations.checkPermissionSilently(sender_name,
- PlayerRelation::SPEECH_LOG) && chatWindow)
+ if (being->getType() == Being::PLAYER)
{
- localChatTab->chatLog(removeColors(sender_name) + " : "
- + chatMsg, BY_OTHER);
+ perms = player_relations.checkPermissionSilently(sender_name,
+ PlayerRelation::SPEECH_LOG | PlayerRelation::SPEECH_FLOAT);
}
-
- if (player_relations.hasPermission(sender_name,
- PlayerRelation::SPEECH_FLOAT))
+ else
{
- being->setSpeech(chatMsg, SPEECH_TIME);
+ perms = player_relations.getDefault()
+ & (PlayerRelation::SPEECH_LOG
+ | PlayerRelation::SPEECH_FLOAT);
}
+
+ trim(chatMsg);
+
+ std::string reducedMessage = chatMsg;
+ chatMsg = removeColors(sender_name) + " : " + reducedMessage;
+
+ Mana::Event event(EVENT_BEING);
+ event.setString("message", chatMsg);
+ event.setString("text", reducedMessage);
+ event.setString("nick", sender_name);
+ event.setInt("beingId", beingId);
+ event.setInt("permissions", perms);
+ event.trigger(CHANNEL_CHAT);
+
break;
}
@@ -164,22 +194,32 @@ void ChatHandler::handleMessage(Net::MessageIn &msg)
break;
chatMsg = msg.readString(chatMsgLength);
- std::string::size_type pos = chatMsg.find(" : ", 0);
if (msg.getId() == SMSG_PLAYER_CHAT)
{
- localChatTab->chatLog(chatMsg, BY_PLAYER);
+ std::string::size_type pos = chatMsg.find(" : ", 0);
+ std::string mes = chatMsg;
if (pos != std::string::npos)
chatMsg.erase(0, pos + 3);
trim(chatMsg);
- player_node->setSpeech(chatMsg, SPEECH_TIME);
+ Mana::Event event(EVENT_PLAYER);
+ event.setString("message", mes);
+ event.setString("text", chatMsg);
+ event.setString("nick", player_node->getName());
+ event.setInt("beingId", player_node->getId());
+ event.setInt("permissions", player_relations.getDefault()
+ & (PlayerRelation::SPEECH_LOG
+ | PlayerRelation::SPEECH_FLOAT));
+ event.trigger(CHANNEL_CHAT);
}
else
{
- localChatTab->chatLog(chatMsg, BY_GM);
+ Mana::Event event(EVENT_ANNOUNCEMENT);
+ event.setString("message", chatMsg);
+ event.trigger(CHANNEL_CHAT);
}
break;
}
@@ -187,7 +227,7 @@ void ChatHandler::handleMessage(Net::MessageIn &msg)
case SMSG_MVP:
// Display MVP player
msg.readInt32(); // id
- localChatTab->chatLog(_("MVP player."), BY_SERVER);
+ SERVER_NOTICE(_("MVP player."))
break;
}
}
@@ -216,47 +256,49 @@ void ChatHandler::privateMessage(const std::string &recipient,
outMsg.writeInt16(text.length() + 28);
outMsg.writeString(recipient, 24);
outMsg.writeString(text, text.length());
+
+ mSentWhispers.push(recipient);
}
void ChatHandler::channelList()
{
- localChatTab->chatLog(_("Channels are not supported!"), BY_SERVER);
+ SERVER_NOTICE(_("Channels are not supported!"))
}
void ChatHandler::enterChannel(const std::string &channel,
const std::string &password)
{
- localChatTab->chatLog(_("Channels are not supported!"), BY_SERVER);
+ SERVER_NOTICE(_("Channels are not supported!"))
}
void ChatHandler::quitChannel(int channelId)
{
- localChatTab->chatLog(_("Channels are not supported!"), BY_SERVER);
+ SERVER_NOTICE(_("Channels are not supported!"))
}
void ChatHandler::sendToChannel(int channelId, const std::string &text)
{
- localChatTab->chatLog(_("Channels are not supported!"), BY_SERVER);
+ SERVER_NOTICE(_("Channels are not supported!"))
}
void ChatHandler::userList(const std::string &channel)
{
- localChatTab->chatLog(_("Channels are not supported!"), BY_SERVER);
+ SERVER_NOTICE(_("Channels are not supported!"))
}
void ChatHandler::setChannelTopic(int channelId, const std::string &text)
{
- localChatTab->chatLog(_("Channels are not supported!"), BY_SERVER);
+ SERVER_NOTICE(_("Channels are not supported!"))
}
void ChatHandler::setUserMode(int channelId, const std::string &name, int mode)
{
- localChatTab->chatLog(_("Channels are not supported!"), BY_SERVER);
+ SERVER_NOTICE(_("Channels are not supported!"))
}
void ChatHandler::kickUser(int channelId, const std::string &name)
{
- localChatTab->chatLog(_("Channels are not supported!"), BY_SERVER);
+ SERVER_NOTICE(_("Channels are not supported!"))
}
void ChatHandler::who()
diff --git a/src/net/tmwa/chathandler.h b/src/net/tmwa/chathandler.h
index 3e035f7e..6426a71e 100644
--- a/src/net/tmwa/chathandler.h
+++ b/src/net/tmwa/chathandler.h
@@ -27,6 +27,8 @@
#include "net/tmwa/messagehandler.h"
+#include <queue>
+
namespace TmwAthena {
class ChatHandler : public MessageHandler, public Net::ChatHandler
@@ -61,6 +63,10 @@ class ChatHandler : public MessageHandler, public Net::ChatHandler
void kickUser(int channelId, const std::string &name);
void who();
+
+ private:
+ typedef std::queue<std::string> WhisperQueue;
+ WhisperQueue mSentWhispers;
};
} // namespace TmwAthena
diff --git a/src/net/tmwa/gamehandler.cpp b/src/net/tmwa/gamehandler.cpp
index 435d5d30..63f5fcec 100644
--- a/src/net/tmwa/gamehandler.cpp
+++ b/src/net/tmwa/gamehandler.cpp
@@ -22,12 +22,11 @@
#include "net/tmwa/gamehandler.h"
#include "client.h"
+#include "event.h"
#include "game.h"
#include "localplayer.h"
#include "log.h"
-#include "gui/widgets/chattab.h"
-
#include "gui/okdialog.h"
#include "net/messagein.h"
@@ -58,6 +57,8 @@ GameHandler::GameHandler()
};
handledMessages = _messages;
gameHandler = this;
+
+ listen(CHANNEL_GAME);
}
void GameHandler::handleMessage(Net::MessageIn &msg)
@@ -84,8 +85,7 @@ void GameHandler::handleMessage(Net::MessageIn &msg)
break;
case SMSG_WHO_ANSWER:
- localChatTab->chatLog(strprintf(_("Online users: %d"),
- msg.readInt32()), BY_SERVER);
+ SERVER_NOTICE(strprintf(_("Online users: %d"), msg.readInt32()))
break;
case SMSG_CHAR_SWITCH_RESPONSE:
@@ -105,6 +105,21 @@ void GameHandler::handleMessage(Net::MessageIn &msg)
}
}
+void GameHandler::event(Channels channel, const Mana::Event &event)
+{
+ if (channel == CHANNEL_GAME)
+ {
+ if (event.getName() == EVENT_ENGINESINITALIZED)
+ {
+ Game::instance()->changeMap(mMap);
+ }
+ else if (event.getName() == EVENT_MAPLOADED)
+ {
+ MessageOut outMsg(CMSG_MAP_LOADED);
+ }
+ }
+}
+
void GameHandler::connect()
{
mNetwork->connect(mapServer);
@@ -142,16 +157,6 @@ void GameHandler::disconnect()
mNetwork->disconnect();
}
-void GameHandler::inGame()
-{
- Game::instance()->changeMap(mMap);
-}
-
-void GameHandler::mapLoaded(const std::string &mapName)
-{
- MessageOut outMsg(CMSG_MAP_LOADED);
-}
-
void GameHandler::who()
{
}
diff --git a/src/net/tmwa/gamehandler.h b/src/net/tmwa/gamehandler.h
index ca8d27e6..18317445 100644
--- a/src/net/tmwa/gamehandler.h
+++ b/src/net/tmwa/gamehandler.h
@@ -22,6 +22,8 @@
#ifndef NET_TA_MAPHANDLER_H
#define NET_TA_MAPHANDLER_H
+#include "listener.h"
+
#include "net/gamehandler.h"
#include "net/net.h"
#include "net/serverinfo.h"
@@ -31,23 +33,22 @@
namespace TmwAthena {
-class GameHandler : public MessageHandler, public Net::GameHandler
+class GameHandler : public MessageHandler, public Net::GameHandler,
+ public Mana::Listener
{
public:
GameHandler();
void handleMessage(Net::MessageIn &msg);
+ void event(Channels channel, const Mana::Event &event);
+
void connect();
bool isConnected();
void disconnect();
- void inGame();
-
- void mapLoaded(const std::string &mapName);
-
void who();
void quit();
@@ -60,6 +61,9 @@ class GameHandler : public MessageHandler, public Net::GameHandler
void setMap(const std::string map);
+ /** The tmwAthena protocol is making use of the MP status bar. */
+ bool canUseMagicBar() const { return true; }
+
private:
std::string mMap;
int mCharID; /// < Saved for map-server switching
diff --git a/src/net/tmwa/generalhandler.cpp b/src/net/tmwa/generalhandler.cpp
index 14f48055..1935ad72 100644
--- a/src/net/tmwa/generalhandler.cpp
+++ b/src/net/tmwa/generalhandler.cpp
@@ -32,6 +32,10 @@
#include "gui/socialwindow.h"
#include "gui/statuswindow.h"
+#include "net/messagein.h"
+#include "net/messageout.h"
+#include "net/serverinfo.h"
+
#include "net/tmwa/adminhandler.h"
#include "net/tmwa/beinghandler.h"
#include "net/tmwa/buysellhandler.h"
@@ -53,9 +57,6 @@
#include "net/tmwa/gui/guildtab.h"
#include "net/tmwa/gui/partytab.h"
-#include "net/messagein.h"
-#include "net/messageout.h"
-
#include "resources/itemdb.h"
#include "utils/gettext.h"
@@ -75,7 +76,7 @@ extern Party *taParty;
GeneralHandler::GeneralHandler():
mAdminHandler(new AdminHandler),
- mBeingHandler(new BeingHandler(config.getValue("EnableSync", 0) == 1)),
+ mBeingHandler(new BeingHandler(config.getBoolValue("EnableSync"))),
mBuySellHandler(new BuySellHandler),
mCharHandler(new CharServerHandler),
mChatHandler(new ChatHandler),
@@ -97,15 +98,17 @@ GeneralHandler::GeneralHandler():
handledMessages = _messages;
generalHandler = this;
- std::list<ItemDB::Stat> stats;
- stats.push_back(ItemDB::Stat("str", _("Strength %+d")));
- stats.push_back(ItemDB::Stat("agi", _("Agility %+d")));
- stats.push_back(ItemDB::Stat("vit", _("Vitality %+d")));
- stats.push_back(ItemDB::Stat("int", _("Intelligence %+d")));
- stats.push_back(ItemDB::Stat("dex", _("Dexterity %+d")));
- stats.push_back(ItemDB::Stat("luck", _("Luck %+d")));
+ std::list<ItemStat> stats;
+ stats.push_back(ItemStat("str", _("Strength %+d")));
+ stats.push_back(ItemStat("agi", _("Agility %+d")));
+ stats.push_back(ItemStat("vit", _("Vitality %+d")));
+ stats.push_back(ItemStat("int", _("Intelligence %+d")));
+ stats.push_back(ItemStat("dex", _("Dexterity %+d")));
+ stats.push_back(ItemStat("luck", _("Luck %+d")));
+
+ setStatsList(stats);
- ItemDB::setStatsList(stats);
+ listen(CHANNEL_GAME);
}
GeneralHandler::~GeneralHandler()
@@ -209,47 +212,48 @@ void GeneralHandler::flushNetwork()
}
}
-void GeneralHandler::guiWindowsLoaded()
-{
- inventoryWindow->setSplitAllowed(false);
- skillDialog->loadSkills("ea-skills.xml");
-
- statusWindow->addAttribute(STR, _("Strength"), true, "");
- statusWindow->addAttribute(AGI, _("Agility"), true, "");
- statusWindow->addAttribute(VIT, _("Vitality"), true, "");
- statusWindow->addAttribute(INT, _("Intelligence"), true, "");
- statusWindow->addAttribute(DEX, _("Dexterity"), true, "");
- statusWindow->addAttribute(LUK, _("Luck"), true, "");
-
- statusWindow->addAttribute(ATK, _("Attack"), false, "");
- statusWindow->addAttribute(DEF, _("Defense"), false, "");
- statusWindow->addAttribute(MATK, _("M.Attack"), false, "");
- statusWindow->addAttribute(MDEF, _("M.Defense"), false, "");
- statusWindow->addAttribute(HIT, _("% Accuracy"), false, "");
- statusWindow->addAttribute(FLEE, _("% Evade"), false, "");
- statusWindow->addAttribute(CRIT, _("% Critical"), false, "");
-}
-
-void GeneralHandler::guiWindowsUnloaded()
-{
- socialWindow->removeTab(taGuild);
- socialWindow->removeTab(taParty);
-
- delete guildTab;
- guildTab = 0;
-
- delete partyTab;
- partyTab = 0;
-}
-
void GeneralHandler::clearHandlers()
{
mNetwork->clearHandlers();
}
-void GeneralHandler::stateChanged(State oldState, State newState)
+void GeneralHandler::event(Channels channel,
+ const Mana::Event &event)
{
- //
+ if (channel == CHANNEL_GAME)
+ {
+ if (event.getName() == EVENT_GUIWINDOWSLOADED)
+ {
+ inventoryWindow->setSplitAllowed(false);
+ skillDialog->loadSkills("ea-skills.xml");
+
+ statusWindow->addAttribute(STR, _("Strength"), true, "");
+ statusWindow->addAttribute(AGI, _("Agility"), true, "");
+ statusWindow->addAttribute(VIT, _("Vitality"), true, "");
+ statusWindow->addAttribute(INT, _("Intelligence"), true, "");
+ statusWindow->addAttribute(DEX, _("Dexterity"), true, "");
+ statusWindow->addAttribute(LUK, _("Luck"), true, "");
+
+ statusWindow->addAttribute(ATK, _("Attack"), false, "");
+ statusWindow->addAttribute(DEF, _("Defense"), false, "");
+ statusWindow->addAttribute(MATK, _("M.Attack"), false, "");
+ statusWindow->addAttribute(MDEF, _("M.Defense"), false, "");
+ statusWindow->addAttribute(HIT, _("% Accuracy"), false, "");
+ statusWindow->addAttribute(FLEE, _("% Evade"), false, "");
+ statusWindow->addAttribute(CRIT, _("% Critical"), false, "");
+ }
+ else if (event.getName() == EVENT_GUIWINDOWSUNLOADING)
+ {
+ socialWindow->removeTab(taGuild);
+ socialWindow->removeTab(taParty);
+
+ delete guildTab;
+ guildTab = 0;
+
+ delete partyTab;
+ partyTab = 0;
+ }
+ }
}
} // namespace TmwAthena
diff --git a/src/net/tmwa/generalhandler.h b/src/net/tmwa/generalhandler.h
index d680f215..722c3215 100644
--- a/src/net/tmwa/generalhandler.h
+++ b/src/net/tmwa/generalhandler.h
@@ -22,15 +22,17 @@
#ifndef NET_TMWA_GENERALHANDLER_H
#define NET_TMWA_GENERALHANDLER_H
+#include "listener.h"
+
#include "net/generalhandler.h"
#include "net/net.h"
-#include "net/serverinfo.h"
#include "net/tmwa/messagehandler.h"
namespace TmwAthena {
-class GeneralHandler : public MessageHandler, public Net::GeneralHandler
+class GeneralHandler : public MessageHandler, public Net::GeneralHandler,
+ public Mana::Listener
{
public:
GeneralHandler();
@@ -47,13 +49,9 @@ class GeneralHandler : public MessageHandler, public Net::GeneralHandler
void flushNetwork();
- void guiWindowsLoaded();
-
- void guiWindowsUnloaded();
-
void clearHandlers();
- void stateChanged(State oldState, State newState);
+ void event(Channels channel, const Mana::Event &event);
protected:
MessageHandlerPtr mAdminHandler;
diff --git a/src/net/tmwa/gui/guildtab.cpp b/src/net/tmwa/gui/guildtab.cpp
index 794ad5cc..ca922e55 100644
--- a/src/net/tmwa/gui/guildtab.cpp
+++ b/src/net/tmwa/gui/guildtab.cpp
@@ -21,17 +21,17 @@
#include "net/tmwa/gui/guildtab.h"
+#include "chatlog.h"
#include "commandhandler.h"
#include "guild.h"
#include "localplayer.h"
-#include "gui/theme.h"
-
#include "net/net.h"
#include "net/guildhandler.h"
#include "resources/iteminfo.h"
#include "resources/itemdb.h"
+#include "resources/theme.h"
#include "utils/dtor.h"
#include "utils/gettext.h"
@@ -114,4 +114,10 @@ void GuildTab::getAutoCompleteList(std::vector<std::string> &names) const
taGuild->getNames(names);
}
+void GuildTab::saveToLogFile(std::string &msg)
+{
+ if (chatLogger)
+ chatLogger->log("#Guild", msg);
+}
+
} // namespace TmwAthena
diff --git a/src/net/tmwa/gui/guildtab.h b/src/net/tmwa/gui/guildtab.h
index 031c81bf..12e15e16 100644
--- a/src/net/tmwa/gui/guildtab.h
+++ b/src/net/tmwa/gui/guildtab.h
@@ -39,6 +39,8 @@ class GuildTab : public ChatTab
bool handleCommand(const std::string &type, const std::string &args);
+ void saveToLogFile(std::string &msg);
+
protected:
void handleInput(const std::string &msg);
diff --git a/src/net/tmwa/gui/partytab.cpp b/src/net/tmwa/gui/partytab.cpp
index b541c498..6833831c 100644
--- a/src/net/tmwa/gui/partytab.cpp
+++ b/src/net/tmwa/gui/partytab.cpp
@@ -21,17 +21,17 @@
#include "net/tmwa/gui/partytab.h"
+#include "chatlog.h"
#include "commandhandler.h"
#include "localplayer.h"
#include "party.h"
-#include "gui/theme.h"
-
#include "net/net.h"
#include "net/partyhandler.h"
#include "resources/iteminfo.h"
#include "resources/itemdb.h"
+#include "resources/theme.h"
#include "utils/dtor.h"
#include "utils/gettext.h"
@@ -206,4 +206,10 @@ void PartyTab::getAutoCompleteList(std::vector<std::string> &names) const
p->getNames(names);
}
+void PartyTab::saveToLogFile(std::string &msg)
+{
+ if (chatLogger)
+ chatLogger->log("#Party", msg);
+}
+
} // namespace TmwAthena
diff --git a/src/net/tmwa/gui/partytab.h b/src/net/tmwa/gui/partytab.h
index 62027726..4c16ab46 100644
--- a/src/net/tmwa/gui/partytab.h
+++ b/src/net/tmwa/gui/partytab.h
@@ -39,6 +39,8 @@ class PartyTab : public ChatTab
bool handleCommand(const std::string &type, const std::string &args);
+ void saveToLogFile(std::string &msg);
+
protected:
void handleInput(const std::string &msg);
diff --git a/src/net/tmwa/guildhandler.cpp b/src/net/tmwa/guildhandler.cpp
index 93bc7807..1ff2f22a 100644
--- a/src/net/tmwa/guildhandler.cpp
+++ b/src/net/tmwa/guildhandler.cpp
@@ -21,6 +21,7 @@
#include "net/tmwa/guildhandler.h"
#include "guild.h"
+#include "event.h"
#include "localplayer.h"
#include "log.h"
@@ -389,8 +390,7 @@ void GuildHandler::handleMessage(Net::MessageIn &msg)
void GuildHandler::create(const std::string &name)
{
- localChatTab->chatLog(_("Guild creation isn't supported yet."),
- BY_SERVER);
+ SERVER_NOTICE(_("Guild creation isn't supported yet."))
return;
MessageOut msg(CMSG_GUILD_CREATE);
@@ -403,10 +403,10 @@ void GuildHandler::invite(int guildId, const std::string &name)
// TODO?
}
-void GuildHandler::invite(int guildId, Player *player)
+void GuildHandler::invite(int guildId, Being *being)
{
MessageOut msg(CMSG_GUILD_INVITE);
- msg.writeInt32(player->getId());
+ msg.writeInt32(being->getId());
msg.writeInt32(0); // Unused
msg.writeInt32(0); // Unused
}
diff --git a/src/net/tmwa/guildhandler.h b/src/net/tmwa/guildhandler.h
index 39dbe486..8bde222f 100644
--- a/src/net/tmwa/guildhandler.h
+++ b/src/net/tmwa/guildhandler.h
@@ -40,7 +40,7 @@ class GuildHandler : public Net::GuildHandler, public MessageHandler
void invite(int guildId, const std::string &name);
- void invite(int guildId, Player *player);
+ void invite(int guildId, Being *being);
void inviteResponse(int guildId, bool response);
diff --git a/src/net/tmwa/inventoryhandler.cpp b/src/net/tmwa/inventoryhandler.cpp
index 3809399d..4aedd9f2 100644
--- a/src/net/tmwa/inventoryhandler.cpp
+++ b/src/net/tmwa/inventoryhandler.cpp
@@ -23,6 +23,7 @@
#include "configuration.h"
#include "equipment.h"
+#include "event.h"
#include "inventory.h"
#include "item.h"
#include "itemshortcut.h"
@@ -45,30 +46,30 @@
extern Net::InventoryHandler *inventoryHandler;
-const Equipment::Slot EQUIP_POINTS[Equipment::EQUIP_VECTOREND] = {
- Equipment::EQUIP_LEGS_SLOT,
- Equipment::EQUIP_FIGHT1_SLOT,
- Equipment::EQUIP_GLOVES_SLOT,
- Equipment::EQUIP_RING2_SLOT,
- Equipment::EQUIP_RING1_SLOT,
- Equipment::EQUIP_FIGHT2_SLOT,
- Equipment::EQUIP_FEET_SLOT,
- Equipment::EQUIP_NECK_SLOT,
- Equipment::EQUIP_HEAD_SLOT,
- Equipment::EQUIP_TORSO_SLOT,
- Equipment::EQUIP_PROJECTILE_SLOT};
-
namespace TmwAthena {
+const EquipmentSlot EQUIP_POINTS[EQUIP_VECTOR_END] = {
+ EQUIP_LEGS_SLOT,
+ EQUIP_FIGHT1_SLOT,
+ EQUIP_ARMS_SLOT,
+ EQUIP_RING2_SLOT,
+ EQUIP_RING1_SLOT,
+ EQUIP_FIGHT2_SLOT,
+ EQUIP_FEET_SLOT,
+ EQUIP_NECKLACE_SLOT,
+ EQUIP_HEAD_SLOT,
+ EQUIP_TORSO_SLOT,
+ EQUIP_PROJECTILE_SLOT};
+
int getSlot(int eAthenaSlot)
{
if (eAthenaSlot == 0)
{
- return Equipment::EQUIP_VECTOREND;
+ return EQUIP_VECTOR_END;
}
if (eAthenaSlot & 0x8000)
- return Equipment::EQUIP_PROJECTILE_SLOT;
+ return EQUIP_PROJECTILE_SLOT;
int mask = 1;
int position = 0;
@@ -108,6 +109,8 @@ InventoryHandler::InventoryHandler()
mStorage = 0;
mStorageWindow = 0;
+
+ listen(CHANNEL_ITEM);
}
InventoryHandler::~InventoryHandler()
@@ -126,8 +129,8 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
int number, flag;
int index, amount, itemId, equipType, arrow;
int identified, cards[4], itemType;
- Inventory *inventory = player_node->getInventory();
- player_node->mEquipment->setBackend(&mEquips);
+ Inventory *inventory = PlayerInfo::getInventory();
+ PlayerInfo::getEquipment()->setBackend(&mEquips);
switch (msg.getId())
{
@@ -170,17 +173,10 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
}
if (msg.getId() == SMSG_PLAYER_INVENTORY)
- {
- // Trick because arrows are not considered equipment
- bool isEquipment = arrow & 0x8000;
-
- inventory->setItem(index, itemId, amount, isEquipment);
- }
+ inventory->setItem(index, itemId, amount);
else
- {
mInventoryItems.push_back(InventoryItem(index, itemId,
amount, false));
- }
}
break;
@@ -224,11 +220,11 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
msg.readInt8(); // refine
for (int i = 0; i < 4; i++)
cards[i] = msg.readInt16();
- equipType = msg.readInt16();
+ msg.readInt16(); // EquipType
itemType = msg.readInt8();
{
- const ItemInfo &itemInfo = ItemDB::get(itemId);
+ const ItemInfo &itemInfo = itemDb->get(itemId);
if (msg.readInt8() > 0)
{
@@ -243,7 +239,7 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
if (item && item->getId() == itemId)
amount += inventory->getItem(index)->getQuantity();
- inventory->setItem(index, itemId, amount, equipType != 0);
+ inventory->setItem(index, itemId, amount);
}
inventoryWindow->updateButtons();
@@ -286,7 +282,7 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
if (msg.readInt8() == 0)
{
- localChatTab->chatLog(_("Failed to use item."), BY_SERVER);
+ SERVER_NOTICE(_("Failed to use item."))
}
else
{
@@ -318,8 +314,7 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
InventoryItems::iterator it = mInventoryItems.begin();
InventoryItems::iterator it_end = mInventoryItems.end();
for (; it != it_end; it++)
- mStorage->setItem((*it).slot, (*it).id, (*it).quantity,
- (*it).equip);
+ mStorage->setItem((*it).slot, (*it).id, (*it).quantity);
mInventoryItems.clear();
if (!mStorageWindow)
@@ -344,9 +339,7 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
item->increaseQuantity(amount);
}
else
- {
- mStorage->setItem(index, itemId, amount, false);
- }
+ mStorage->setItem(index, itemId, amount);
break;
case SMSG_PLAYER_STORAGE_REMOVE:
@@ -388,7 +381,7 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
msg.readInt8(); // refine
msg.skip(8); // card
- inventory->setItem(index, itemId, 1, true);
+ inventory->setItem(index, itemId, 1);
if (equipType)
{
@@ -403,7 +396,7 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
flag = msg.readInt8();
if (!flag)
- localChatTab->chatLog(_("Unable to equip."), BY_SERVER);
+ SERVER_NOTICE(_("Unable to equip."))
else
mEquips.setEquipment(getSlot(equipType), index);
break;
@@ -414,7 +407,7 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
flag = msg.readInt8();
if (!flag)
- localChatTab->chatLog(_("Unable to unequip."), BY_SERVER);
+ SERVER_NOTICE(_("Unable to unequip."))
else
mEquips.setEquipment(getSlot(equipType), -1);
break;
@@ -432,46 +425,90 @@ void InventoryHandler::handleMessage(Net::MessageIn &msg)
index -= INVENTORY_OFFSET;
logger->log("Arrows equipped: %i", index);
- mEquips.setEquipment(Equipment::EQUIP_PROJECTILE_SLOT, index);
+ mEquips.setEquipment(EQUIP_PROJECTILE_SLOT, index);
break;
}
}
-void InventoryHandler::equipItem(const Item *item)
+void InventoryHandler::event(Channels channel,
+ const Mana::Event &event)
{
- if (!item)
- return;
+ if (channel == CHANNEL_ITEM)
+ {
+ if (event.getName() == EVENT_DOCLOSEINVENTORY)
+ {
+ // No need to worry about type
+ MessageOut outMsg(CMSG_CLOSE_STORAGE);
+ }
+ else
+ {
+ Item *item = event.getItem("item");
- MessageOut outMsg(CMSG_PLAYER_EQUIP);
- outMsg.writeInt16(item->getInvIndex() + INVENTORY_OFFSET);
- outMsg.writeInt16(0);
-}
+ if (!item)
+ return;
-void InventoryHandler::unequipItem(const Item *item)
-{
- if (!item)
- return;
+ int index = item->getInvIndex() + INVENTORY_OFFSET;
- MessageOut outMsg(CMSG_PLAYER_UNEQUIP);
- outMsg.writeInt16(item->getInvIndex() + INVENTORY_OFFSET);
-}
-
-void InventoryHandler::useItem(const Item *item)
-{
- if (!item)
- return;
+ if (event.getName() == EVENT_DOEQUIP)
+ {
+ MessageOut outMsg(CMSG_PLAYER_EQUIP);
+ outMsg.writeInt16(index);
+ outMsg.writeInt16(0);
+ }
+ else if (event.getName() == EVENT_DOUNEQUIP)
+ {
+ MessageOut outMsg(CMSG_PLAYER_UNEQUIP);
+ outMsg.writeInt16(index);
+ }
+ else if (event.getName() == EVENT_DOUSE)
+ {
+ MessageOut outMsg(CMSG_PLAYER_INVENTORY_USE);
+ outMsg.writeInt16(index);
+ outMsg.writeInt32(item->getId()); // unused
+ }
+ else if (event.getName() == EVENT_DODROP)
+ {
+ int amount = event.getInt("amount", 1);
- MessageOut outMsg(CMSG_PLAYER_INVENTORY_USE);
- outMsg.writeInt16(item->getInvIndex() + INVENTORY_OFFSET);
- outMsg.writeInt32(item->getId()); // unused
-}
+ // TODO: Fix wrong coordinates of drops, serverside?
+ // (what's wrong here?)
+ MessageOut outMsg(CMSG_PLAYER_INVENTORY_DROP);
+ outMsg.writeInt16(index);
+ outMsg.writeInt16(amount);
+ }
+ else if (event.getName() == EVENT_DOMOVE)
+ {
+ int newIndex = event.getInt("newIndex", -1);
-void InventoryHandler::dropItem(const Item *item, int amount)
-{
- // TODO: Fix wrong coordinates of drops, serverside? (what's wrong here?)
- MessageOut outMsg(CMSG_PLAYER_INVENTORY_DROP);
- outMsg.writeInt16(item->getInvIndex() + INVENTORY_OFFSET);
- outMsg.writeInt16(amount);
+ if (newIndex >= 0)
+ {
+ // Not implemented for tmwAthena (possible?)
+ }
+ else
+ {
+ int source = event.getInt("source");
+ int destination = event.getInt("destination");
+ int amount = event.getInt("amount", 1);
+
+ if (source == Inventory::INVENTORY
+ && destination == Inventory::STORAGE)
+ {
+ MessageOut outMsg(CMSG_MOVE_TO_STORAGE);
+ outMsg.writeInt16(index);
+ outMsg.writeInt32(amount);
+ }
+ else if (source == Inventory::STORAGE
+ && destination == Inventory::INVENTORY)
+ {
+ MessageOut outMsg(CSMG_MOVE_FROM_STORAGE);
+ outMsg.writeInt16(index - INVENTORY_OFFSET
+ + STORAGE_OFFSET);
+ outMsg.writeInt32(amount);
+ }
+ }
+ }
+ }
+ }
}
bool InventoryHandler::canSplit(const Item *item)
@@ -479,43 +516,6 @@ bool InventoryHandler::canSplit(const Item *item)
return false;
}
-void InventoryHandler::splitItem(const Item *item, int amount)
-{
- // Not implemented for eAthena (possible?)
-}
-
-void InventoryHandler::moveItem(int oldIndex, int newIndex)
-{
- // Not implemented for eAthena (possible?)
-}
-
-void InventoryHandler::openStorage(int type)
-{
- // Doesn't apply to eAthena, since opening happens through NPCs?
-}
-
-void InventoryHandler::closeStorage(int type)
-{
- MessageOut outMsg(CMSG_CLOSE_STORAGE);
-}
-
-void InventoryHandler::moveItem(int source, int slot, int amount,
- int destination)
-{
- if (source == Inventory::INVENTORY && destination == Inventory::STORAGE)
- {
- MessageOut outMsg(CMSG_MOVE_TO_STORAGE);
- outMsg.writeInt16(slot + INVENTORY_OFFSET);
- outMsg.writeInt32(amount);
- }
- else if (source == Inventory::STORAGE && destination == Inventory::INVENTORY)
- {
- MessageOut outMsg(CSMG_MOVE_FROM_STORAGE);
- outMsg.writeInt16(slot + STORAGE_OFFSET);
- outMsg.writeInt32(amount);
- }
-}
-
size_t InventoryHandler::getSize(int type) const
{
switch (type)
diff --git a/src/net/tmwa/inventoryhandler.h b/src/net/tmwa/inventoryhandler.h
index 0c4ad092..dfbefaa8 100644
--- a/src/net/tmwa/inventoryhandler.h
+++ b/src/net/tmwa/inventoryhandler.h
@@ -24,7 +24,8 @@
#include "equipment.h"
#include "inventory.h"
-#include "localplayer.h"
+#include "listener.h"
+#include "playerinfo.h"
#include "gui/inventorywindow.h"
@@ -51,7 +52,7 @@ class EquipBackend : public Equipment::Backend {
{
return NULL;
}
- return player_node->getInventory()->getItem(invyIndex);
+ return PlayerInfo::getInventory()->getItem(invyIndex);
}
void clear()
@@ -60,7 +61,7 @@ class EquipBackend : public Equipment::Backend {
{
if (mEquipment[i] != -1)
{
- Item* item = player_node->getInventory()->getItem(i);
+ Item* item = PlayerInfo::getInventory()->getItem(i);
if (item)
{
item->setEquipped(false);
@@ -74,7 +75,7 @@ class EquipBackend : public Equipment::Backend {
void setEquipment(int index, int inventoryIndex)
{
// Unequip existing item
- Item* item = player_node->getInventory()->getItem(mEquipment[index]);
+ Item* item = PlayerInfo::getInventory()->getItem(mEquipment[index]);
if (item)
{
item->setEquipped(false);
@@ -82,7 +83,7 @@ class EquipBackend : public Equipment::Backend {
mEquipment[index] = inventoryIndex;
- item = player_node->getInventory()->getItem(inventoryIndex);
+ item = PlayerInfo::getInventory()->getItem(inventoryIndex);
if (item)
{
item->setEquipped(true);
@@ -117,7 +118,8 @@ class InventoryItem
typedef std::list<InventoryItem> InventoryItems;
-class InventoryHandler : public MessageHandler, public Net::InventoryHandler
+class InventoryHandler : public MessageHandler, public Net::InventoryHandler,
+ public Mana::Listener
{
public:
enum {
@@ -131,27 +133,10 @@ class InventoryHandler : public MessageHandler, public Net::InventoryHandler
void handleMessage(Net::MessageIn &msg);
- void equipItem(const Item *item);
-
- void unequipItem(const Item *item);
-
- void useItem(const Item *item);
-
- void dropItem(const Item *item, int amount);
+ void event(Channels channel, const Mana::Event &event);
bool canSplit(const Item *item);
- void splitItem(const Item *item, int amount);
-
- void moveItem(int oldIndex, int newIndex);
-
- void openStorage(int type);
-
- void closeStorage(int type);
-
- void moveItem(int source, int slot, int amount,
- int destination);
-
size_t getSize(int type) const;
private:
diff --git a/src/net/tmwa/itemhandler.cpp b/src/net/tmwa/itemhandler.cpp
index abc8103b..a8e98860 100644
--- a/src/net/tmwa/itemhandler.cpp
+++ b/src/net/tmwa/itemhandler.cpp
@@ -21,7 +21,7 @@
#include "net/tmwa/itemhandler.h"
-#include "flooritemmanager.h"
+#include "actorspritemanager.h"
#include "net/messagein.h"
@@ -54,13 +54,13 @@ void ItemHandler::handleMessage(Net::MessageIn &msg)
int y = msg.readInt16();
msg.skip(4); // amount,subX,subY / subX,subY,amount
- floorItemManager->create(id, itemId, x, y);
+ actorSpriteManager->createItem(id, itemId, x, y);
}
break;
case SMSG_ITEM_REMOVE:
- if (FloorItem *item = floorItemManager->findById(msg.readInt32()))
- floorItemManager->destroy(item);
+ if (FloorItem *item = actorSpriteManager->findItem(msg.readInt32()))
+ actorSpriteManager->destroy(item);
break;
}
}
diff --git a/src/net/tmwa/loginhandler.cpp b/src/net/tmwa/loginhandler.cpp
index e58acb4d..00b7b145 100644
--- a/src/net/tmwa/loginhandler.cpp
+++ b/src/net/tmwa/loginhandler.cpp
@@ -235,6 +235,12 @@ void LoginHandler::getRegistrationDetails()
void LoginHandler::loginAccount(LoginData *loginData)
{
+ // Since we're attempting to use the tAthena protocol,
+ // let's reset the character slots to the good value,
+ // in case we just logged out a Manaserv server
+ // with a different config.
+ loginData->resetCharacterSlots();
+
sendLoginRegister(loginData->username, loginData->password);
}
diff --git a/src/net/tmwa/npchandler.cpp b/src/net/tmwa/npchandler.cpp
index 5888c679..337226a9 100644
--- a/src/net/tmwa/npchandler.cpp
+++ b/src/net/tmwa/npchandler.cpp
@@ -21,11 +21,9 @@
#include "net/tmwa/npchandler.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
+#include "event.h"
#include "localplayer.h"
-#include "npc.h"
-
-#include "gui/npcdialog.h"
#include "net/messagein.h"
#include "net/messageout.h"
@@ -34,10 +32,27 @@
#include "net/tmwa/protocol.h"
+#include "utils/stringutils.h"
+
#include <SDL_types.h>
extern Net::NpcHandler *npcHandler;
+static void parseMenu(Mana::Event *event, const std::string &options)
+{
+ std::istringstream iss(options);
+
+ int count = 0;
+ std::string tmp;
+ while (getline(iss, tmp, ':'))
+ {
+ count++;
+ event->setString("choice" + toString(count), tmp);
+ }
+
+ event->setInt("choiceCount", count);
+}
+
namespace TmwAthena {
NpcHandler::NpcHandler()
@@ -63,82 +78,118 @@ void NpcHandler::handleMessage(Net::MessageIn &msg)
}
int npcId = msg.readInt32();
- NpcDialogs::iterator diag = mNpcDialogs.find(npcId);
- NpcDialog *dialog = 0;
-
- if (diag == mNpcDialogs.end())
- {
- // Empty dialogs don't help
- if (msg.getId() == SMSG_NPC_CLOSE)
- {
- closeDialog(npcId);
- return;
- }
- else if (msg.getId() == SMSG_NPC_NEXT)
- {
- nextDialog(npcId);
- return;
- }
- else
- {
- dialog = new NpcDialog(npcId);
- Wrapper wrap;
- wrap.dialog = dialog;
- mNpcDialogs[npcId] = wrap;
- }
- }
- else
- {
- dialog = diag->second.dialog;
- }
+ Mana::Event *event = 0;
switch (msg.getId())
{
- case SMSG_NPC_CHOICE:
- dialog->choiceRequest();
- dialog->parseListItems(msg.readString(msg.getLength() - 8));
- break;
-
- case SMSG_NPC_MESSAGE:
- dialog->addText(msg.readString(msg.getLength() - 8));
- break;
-
- case SMSG_NPC_CLOSE:
- // Show the close button
- dialog->showCloseButton();
- break;
-
- case SMSG_NPC_NEXT:
- // Show the next button
- dialog->showNextButton();
- break;
-
- case SMSG_NPC_INT_INPUT:
- // Request for an integer
- dialog->integerRequest(0);
- break;
-
- case SMSG_NPC_STR_INPUT:
- // Request for a string
- dialog->textRequest("");
- break;
+ case SMSG_NPC_CHOICE:
+ event = new Mana::Event(EVENT_MENU);
+ event->setInt("id", npcId);
+ parseMenu(event, msg.readString(msg.getLength() - 8));
+ event->trigger(CHANNEL_NPC);
+ break;
+
+ case SMSG_NPC_MESSAGE:
+ event = new Mana::Event(EVENT_MESSAGE);
+ event->setInt("id", npcId);
+ event->setString("text", msg.readString(msg.getLength() - 8));
+ event->trigger(CHANNEL_NPC);
+ break;
+
+ case SMSG_NPC_CLOSE:
+ // Show the close button
+ event = new Mana::Event(EVENT_CLOSE);
+ event->setInt("id", npcId);
+ event->trigger(CHANNEL_NPC);
+ break;
+
+ case SMSG_NPC_NEXT:
+ // Show the next button
+ event = new Mana::Event(EVENT_NEXT);
+ event->setInt("id", npcId);
+ event->trigger(CHANNEL_NPC);
+ break;
+
+ case SMSG_NPC_INT_INPUT:
+ // Request for an integer
+ event = new Mana::Event(EVENT_INTEGERINPUT);
+ event->setInt("id", npcId);
+ event->trigger(CHANNEL_NPC);
+ break;
+
+ case SMSG_NPC_STR_INPUT:
+ // Request for a string
+ event = new Mana::Event(EVENT_STRINGINPUT);
+ event->setInt("id", npcId);
+ event->trigger(CHANNEL_NPC);
+ break;
}
+ delete event;
+
if (player_node->getCurrentAction() != Being::SIT)
player_node->setAction(Being::STAND);
}
+void NpcHandler::startShopping(int beingId)
+{
+ // TODO
+}
+
+void NpcHandler::buy(int beingId)
+{
+ MessageOut outMsg(CMSG_NPC_BUY_SELL_REQUEST);
+ outMsg.writeInt32(beingId);
+ outMsg.writeInt8(0); // Buy
+}
+
+void NpcHandler::sell(int beingId)
+{
+ MessageOut outMsg(CMSG_NPC_BUY_SELL_REQUEST);
+ outMsg.writeInt32(beingId);
+ outMsg.writeInt8(1); // Sell
+}
+
+void NpcHandler::buyItem(int beingId, int itemId, int amount)
+{
+ MessageOut outMsg(CMSG_NPC_BUY_REQUEST);
+ outMsg.writeInt16(8); // One item (length of packet)
+ outMsg.writeInt16(amount);
+ outMsg.writeInt16(itemId);
+}
+
+void NpcHandler::sellItem(int beingId, int itemId, int amount)
+{
+ MessageOut outMsg(CMSG_NPC_SELL_REQUEST);
+ outMsg.writeInt16(8); // One item (length of packet)
+ outMsg.writeInt16(itemId + INVENTORY_OFFSET);
+ outMsg.writeInt16(amount);
+}
+
+void NpcHandler::endShopping(int beingId)
+{
+ // TODO
+}
+
void NpcHandler::talk(int npcId)
{
MessageOut outMsg(CMSG_NPC_TALK);
outMsg.writeInt32(npcId);
outMsg.writeInt8(0); // Unused
+
+ Mana::Event event(EVENT_TALKSENT);
+ event.setInt("npcId", npcId);
+ event.trigger(CHANNEL_NPC);
}
void NpcHandler::nextDialog(int npcId)
{
MessageOut outMsg(CMSG_NPC_NEXT_REQUEST);
outMsg.writeInt32(npcId);
+
+ Mana::Event event(EVENT_NEXTSENT);
+ event.setInt("npcId", npcId);
+ event.trigger(CHANNEL_NPC);
}
void NpcHandler::closeDialog(int npcId)
@@ -146,19 +197,21 @@ void NpcHandler::closeDialog(int npcId)
MessageOut outMsg(CMSG_NPC_CLOSE);
outMsg.writeInt32(npcId);
- NpcDialogs::iterator it = mNpcDialogs.find(npcId);
- if (it != mNpcDialogs.end())
- {
- (*it).second.dialog->close();
- mNpcDialogs.erase(it);
- }
+ Mana::Event event(EVENT_CLOSESENT);
+ event.setInt("npcId", npcId);
+ event.trigger(CHANNEL_NPC);
}
-void NpcHandler::listInput(int npcId, int value)
+void NpcHandler::menuSelect(int npcId, int choice)
{
MessageOut outMsg(CMSG_NPC_LIST_CHOICE);
outMsg.writeInt32(npcId);
- outMsg.writeInt8(value);
+ outMsg.writeInt8(choice);
+
+ Mana::Event event(EVENT_MENUSENT);
+ event.setInt("npcId", npcId);
+ event.setInt("choice", choice);
+ event.trigger(CHANNEL_NPC);
}
void NpcHandler::integerInput(int npcId, int value)
@@ -166,6 +219,11 @@ void NpcHandler::integerInput(int npcId, int value)
MessageOut outMsg(CMSG_NPC_INT_RESPONSE);
outMsg.writeInt32(npcId);
outMsg.writeInt32(value);
+
+ Mana::Event event(EVENT_INTEGERINPUTSENT);
+ event.setInt("npcId", npcId);
+ event.setInt("value", value);
+ event.trigger(CHANNEL_NPC);
}
void NpcHandler::stringInput(int npcId, const std::string &value)
@@ -175,57 +233,17 @@ void NpcHandler::stringInput(int npcId, const std::string &value)
outMsg.writeInt32(npcId);
outMsg.writeString(value, value.length());
outMsg.writeInt8(0); // Prevent problems with string reading
-}
-void NpcHandler::sendLetter(int npcId, const std::string &recipient,
- const std::string &text)
-{
- // TODO
+ Mana::Event event(EVENT_STRINGINPUTSENT);
+ event.setInt("npcId", npcId);
+ event.setString("value", value);
+ event.trigger(CHANNEL_NPC);
}
-void NpcHandler::startShopping(int beingId)
-{
- // TODO
-}
-
-void NpcHandler::buy(int beingId)
-{
- MessageOut outMsg(CMSG_NPC_BUY_SELL_REQUEST);
- outMsg.writeInt32(beingId);
- outMsg.writeInt8(0); // Buy
-}
-
-void NpcHandler::sell(int beingId)
-{
- MessageOut outMsg(CMSG_NPC_BUY_SELL_REQUEST);
- outMsg.writeInt32(beingId);
- outMsg.writeInt8(1); // Sell
-}
-
-void NpcHandler::buyItem(int beingId, int itemId, int amount)
-{
- MessageOut outMsg(CMSG_NPC_BUY_REQUEST);
- outMsg.writeInt16(8); // One item (length of packet)
- outMsg.writeInt16(amount);
- outMsg.writeInt16(itemId);
-}
-
-void NpcHandler::sellItem(int beingId, int itemId, int amount)
-{
- MessageOut outMsg(CMSG_NPC_SELL_REQUEST);
- outMsg.writeInt16(8); // One item (length of packet)
- outMsg.writeInt16(itemId + INVENTORY_OFFSET);
- outMsg.writeInt16(amount);
-}
-
-void NpcHandler::endShopping(int beingId)
-{
- // TODO
-}
-
-void NpcHandler::clearDialogs()
+void NpcHandler::sendLetter(int npcId, const std::string &recipient,
+ const std::string &text)
{
- mNpcDialogs.clear();
+ //NOTE: eA doesn't have letters
}
} // namespace TmwAthena
diff --git a/src/net/tmwa/npchandler.h b/src/net/tmwa/npchandler.h
index bd696bdd..1e933418 100644
--- a/src/net/tmwa/npchandler.h
+++ b/src/net/tmwa/npchandler.h
@@ -22,15 +22,14 @@
#ifndef NET_TA_NPCHANDLER_H
#define NET_TA_NPCHANDLER_H
-#include "net/net.h"
+#include "listener.h"
+
#include "net/npchandler.h"
#include "net/tmwa/messagehandler.h"
#include <map>
-class NpcDialog;
-
namespace TmwAthena {
class NpcHandler : public MessageHandler, public Net::NpcHandler
@@ -40,13 +39,25 @@ class NpcHandler : public MessageHandler, public Net::NpcHandler
void handleMessage(Net::MessageIn &msg);
+ void startShopping(int beingId);
+
+ void buy(int beingId);
+
+ void sell(int beingId);
+
+ void buyItem(int beingId, int itemId, int amount);
+
+ void sellItem(int beingId, int itemId, int amount);
+
+ void endShopping(int beingId);
+
void talk(int npcId);
void nextDialog(int npcId);
void closeDialog(int npcId);
- void listInput(int npcId, int value);
+ void menuSelect(int npcId, int choice);
void integerInput(int npcId, int value);
@@ -55,26 +66,6 @@ class NpcHandler : public MessageHandler, public Net::NpcHandler
void sendLetter(int npcId, const std::string &recipient,
const std::string &text);
- void startShopping(int beingId);
-
- void buy(int beingId);
-
- void sell(int beingId);
-
- void buyItem(int beingId, int itemId, int amount);
-
- void sellItem(int beingId, int itemId, int amount);
-
- void endShopping(int beingId);
-
- void clearDialogs();
-
- private:
- typedef struct {
- NpcDialog* dialog;
- } Wrapper;
- typedef std::map<int, Wrapper> NpcDialogs;
- NpcDialogs mNpcDialogs;
};
} // namespace TmwAthena
diff --git a/src/net/tmwa/partyhandler.cpp b/src/net/tmwa/partyhandler.cpp
index 611fe3e6..00b1e621 100644
--- a/src/net/tmwa/partyhandler.cpp
+++ b/src/net/tmwa/partyhandler.cpp
@@ -20,7 +20,8 @@
#include "net/tmwa/partyhandler.h"
-#include "beingmanager.h"
+#include "actorspritemanager.h"
+#include "event.h"
#include "localplayer.h"
#include "log.h"
@@ -78,12 +79,9 @@ void PartyHandler::handleMessage(Net::MessageIn &msg)
{
case SMSG_PARTY_CREATE:
if (msg.readInt8())
- localChatTab->chatLog(_("Could not create party."), BY_SERVER);
+ SERVER_NOTICE(_("Could not create party."))
else
- {
- localChatTab->chatLog(_("Party successfully created."),
- BY_SERVER);
- }
+ SERVER_NOTICE(_("Party successfully created."))
break;
case SMSG_PARTY_INFO:
{
@@ -143,12 +141,9 @@ void PartyHandler::handleMessage(Net::MessageIn &msg)
std::string nick = "";
Being *being;
- if ((being = beingManager->findBeing(id)))
+ if ((being = actorSpriteManager->findBeing(id)))
{
- if (being->getType() == Being::PLAYER)
- {
- nick = being->getName();
- }
+ nick = being->getName();
}
socialWindow->showPartyInvite(partyName, nick);
@@ -238,8 +233,7 @@ void PartyHandler::handleMessage(Net::MessageIn &msg)
{
taParty->removeFromMembers();
taParty->clearMembers();
- localChatTab->chatLog(_("You have left the party."),
- BY_SERVER);
+ SERVER_NOTICE(_("You have left the party."))
if (partyTab)
{
delete partyTab;
@@ -252,9 +246,10 @@ void PartyHandler::handleMessage(Net::MessageIn &msg)
partyTab->chatLog(strprintf(_("%s has left your party."),
nick.c_str()), BY_SERVER);
- Being *b = beingManager->findBeing(id);
- if (b && b->getType() == Being::PLAYER)
- static_cast<Player*>(b)->setParty(NULL);
+ if (Being *b = actorSpriteManager->findBeing(id))
+ {
+ b->setParty(NULL);
+ }
taParty->removeMember(id);
}
@@ -274,9 +269,9 @@ void PartyHandler::handleMessage(Net::MessageIn &msg)
// The server only sends this when the member is in range, so
// lets make sure they get the party hilight.
- if (Being *b = beingManager->findBeing(id))
+ if (Being *b = actorSpriteManager->findBeing(id))
{
- static_cast<Player*>(b)->setParty(taParty);
+ b->setParty(taParty);
}
}
break;
@@ -319,19 +314,19 @@ void PartyHandler::join(int partyId)
// TODO?
}
-void PartyHandler::invite(Player *player)
+void PartyHandler::invite(Being *being)
{
MessageOut outMsg(CMSG_PARTY_INVITE);
- outMsg.writeInt32(player->getId());
+ outMsg.writeInt32(being->getId());
}
void PartyHandler::invite(const std::string &name)
{
- Being *invitee = beingManager->findBeingByName(name, Being::PLAYER);
+ Being *invitee = actorSpriteManager->findBeingByName(name, Being::PLAYER);
if (invitee)
{
- invite((Player *)invitee);
+ invite(invitee);
partyTab->chatLog(strprintf(_("Invited user %s to party."),
invitee->getName().c_str()), BY_SERVER);
}
@@ -342,8 +337,7 @@ void PartyHandler::invite(const std::string &name)
}
else
{
- localChatTab->chatLog(_("You can only inivte when you are in a party!"),
- BY_SERVER);
+ SERVER_NOTICE(_("You can only inivte when you are in a party!"))
}
}
@@ -359,10 +353,10 @@ void PartyHandler::leave()
MessageOut outMsg(CMSG_PARTY_LEAVE);
}
-void PartyHandler::kick(Player *player)
+void PartyHandler::kick(Being *being)
{
MessageOut outMsg(CMSG_PARTY_KICK);
- outMsg.writeInt32(player->getId());
+ outMsg.writeInt32(being->getId());
outMsg.writeString("", 24); //Unused
}
diff --git a/src/net/tmwa/partyhandler.h b/src/net/tmwa/partyhandler.h
index fc8d741f..5afc8e53 100644
--- a/src/net/tmwa/partyhandler.h
+++ b/src/net/tmwa/partyhandler.h
@@ -43,7 +43,7 @@ class PartyHandler : public MessageHandler, public Net::PartyHandler
void join(int partyId);
- void invite(Player *player);
+ void invite(Being *being);
void invite(const std::string &name);
@@ -51,7 +51,7 @@ class PartyHandler : public MessageHandler, public Net::PartyHandler
void leave();
- void kick(Player *player);
+ void kick(Being *being);
void kick(const std::string &name);
diff --git a/src/net/tmwa/playerhandler.cpp b/src/net/tmwa/playerhandler.cpp
index 48e7f4b3..b82968a3 100644
--- a/src/net/tmwa/playerhandler.cpp
+++ b/src/net/tmwa/playerhandler.cpp
@@ -21,28 +21,25 @@
#include "net/tmwa/playerhandler.h"
+#include "event.h"
#include "game.h"
#include "localplayer.h"
#include "log.h"
-#include "npc.h"
+#include "playerinfo.h"
#include "units.h"
#include "gui/buy.h"
#include "gui/buysell.h"
#include "gui/gui.h"
-#include "gui/npcdialog.h"
#include "gui/okdialog.h"
#include "gui/sell.h"
#include "gui/statuswindow.h"
#include "gui/viewport.h"
-#include "gui/widgets/chattab.h"
-
#include "net/messagein.h"
#include "net/messageout.h"
#include "net/tmwa/protocol.h"
-#include "net/tmwa/npchandler.h"
#include "utils/stringutils.h"
#include "utils/gettext.h"
@@ -54,9 +51,6 @@ extern OkDialog *deathNotice;
// everything beyond will reset the port hard.
static const int MAP_TELEPORT_SCROLL_DISTANCE = 8;
-#define ATTR_BONUS(atr) \
-(player_node->getAttributeEffective(atr) - player_node->getAttributeBase(atr))
-
// TODO Move somewhere else
namespace {
@@ -83,14 +77,11 @@ namespace {
BuyDialog::closeAll();
BuySellDialog::closeAll();
- NpcDialog::closeAll();
SellDialog::closeAll();
viewport->closePopupMenu();
- TmwAthena::NpcHandler *handler =
- static_cast<TmwAthena::NpcHandler*>(Net::getNpcHandler());
- handler->clearDialogs();
+ Mana::Event::trigger(CHANNEL_NPC, EVENT_CLOSEALL);
}
} deathListener;
@@ -220,7 +211,6 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
}
player_node->setAction(Being::STAND);
- player_node->setFrame(0);
player_node->setTileCoords(x, y);
logger->log("Adjust scrolling by %d:%d", (int) scrollOffsetX,
@@ -241,17 +231,17 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
player_node->setWalkSpeed(Vector(value, value, 0));
break;
case 0x0004: break; // manner
- case 0x0005: player_node->setHp(value); break;
- case 0x0006: player_node->setMaxHp(value); break;
- case 0x0007: player_node->setMP(value); break;
- case 0x0008: player_node->setMaxMP(value); break;
- case 0x0009: player_node->setCharacterPoints(value); break;
- case 0x000b: player_node->setLevel(value); break;
- case 0x000c: player_node->setSkillPoints(value); break;
+ case 0x0005: PlayerInfo::setAttribute(HP, value); break;
+ case 0x0006: PlayerInfo::setAttribute(MAX_HP, value); break;
+ case 0x0007: PlayerInfo::setAttribute(MP, value); break;
+ case 0x0008: PlayerInfo::setAttribute(MAX_MP, value); break;
+ case 0x0009: PlayerInfo::setAttribute(CHAR_POINTS, value); break;
+ case 0x000b: PlayerInfo::setAttribute(LEVEL, value); break;
+ case 0x000c: PlayerInfo::setAttribute(SKILL_POINTS, value); break;
case 0x0018:
- if (value >= player_node->getMaxWeight() / 2 &&
- player_node->getTotalWeight() <
- player_node->getMaxWeight() / 2)
+ if (value >= PlayerInfo::getAttribute(MAX_WEIGHT) / 2 &&
+ PlayerInfo::getAttribute(TOTAL_WEIGHT) <
+ PlayerInfo::getAttribute(MAX_WEIGHT) / 2)
{
weightNotice = new OkDialog(_("Message"),
_("You are carrying more than "
@@ -260,59 +250,37 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
weightNotice->addActionListener(
&weightListener);
}
- player_node->setTotalWeight(value);
+ PlayerInfo::setAttribute(TOTAL_WEIGHT, value);
break;
- case 0x0019: player_node->setMaxWeight(value); break;
+ case 0x0019: PlayerInfo::setAttribute(MAX_WEIGHT, value); break;
- case 0x0029: player_node->setAttributeEffective(ATK, value
- + ATTR_BONUS(ATK));
- player_node->setAttributeBase(ATK, value);
- break;
- case 0x002a: value += player_node->getAttributeBase(ATK);
- player_node->setAttributeEffective(ATK, value); break;
-
- case 0x002b: player_node->setAttributeEffective(MATK, value
- + ATTR_BONUS(MATK));
- player_node->setAttributeBase(MATK, value);
- if (statusWindow)
- statusWindow->update(StatusWindow::MP);
- break;
- case 0x002c: value += player_node->getAttributeBase(MATK);
- player_node->setAttributeEffective(MATK, value);
- if (statusWindow)
- statusWindow->update(StatusWindow::MP);
- break;
- case 0x002d: player_node->setAttributeEffective(DEF, value
- + ATTR_BONUS(DEF));
- player_node->setAttributeBase(DEF, value); break;
- case 0x002e: value += player_node->getAttributeBase(DEF);
- player_node->setAttributeEffective(DEF, value); break;
-
- case 0x002f: player_node->setAttributeEffective(MDEF, value
- + ATTR_BONUS(MDEF));
- player_node->setAttributeBase(MDEF, value); break;
- case 0x0030: value += player_node->getAttributeBase(MDEF);
- player_node->setAttributeEffective(MDEF, value); break;
-
- case 0x0031: player_node->setAttributeBase(HIT, value);
- player_node->setAttributeEffective(HIT, value); break;
-
- case 0x0032: player_node->setAttributeEffective(FLEE, value
- + ATTR_BONUS(FLEE));
- player_node->setAttributeBase(FLEE, value); break;
- case 0x0033: value += player_node->getAttributeBase(FLEE);
- player_node->setAttributeEffective(FLEE, value); break;
-
- case 0x0034: player_node->setAttributeBase(CRIT, value);
- player_node->setAttributeEffective(CRIT, value); break;
+ case 0x0029: PlayerInfo::setStatBase(ATK, value); break;
+ case 0x002a: PlayerInfo::setStatMod(ATK, value); break;
+
+ case 0x002b: PlayerInfo::setStatBase(MATK, value); break;
+ case 0x002c: PlayerInfo::setStatMod(MATK, value); break;
+
+ case 0x002d: PlayerInfo::setStatBase(DEF, value); break;
+ case 0x002e: PlayerInfo::setStatMod(DEF, value); break;
+
+ case 0x002f: PlayerInfo::setStatBase(MDEF, value); break;
+ case 0x0030: PlayerInfo::setStatMod(MDEF, value); break;
+
+ case 0x0031: PlayerInfo::setStatBase(HIT, value); break;
+
+ case 0x0032: PlayerInfo::setStatBase(FLEE, value); break;
+ case 0x0033: PlayerInfo::setStatMod(FLEE, value); break;
+
+ case 0x0034: PlayerInfo::setStatBase(CRIT, value); break;
case 0x0035: player_node->setAttackSpeed(value); break;
- case 0x0037: player_node->setAttributeBase(JOB, value);
- player_node->setAttributeEffective(JOB, value); break;
+
+ case 0x0037: PlayerInfo::setStatBase(JOB, value); break;
+
case 500: player_node->setGMLevel(value); break;
}
- if (player_node->getHp() == 0 && !deathNotice)
+ if (PlayerInfo::getAttribute(HP) == 0 && !deathNotice)
{
deathNotice = new OkDialog(_("Message"),
randomDeathMessage(),
@@ -331,29 +299,29 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
switch (msg.readInt16())
{
case 0x0001:
- player_node->setExp(msg.readInt32());
+ PlayerInfo::setAttribute(EXP, msg.readInt32());
break;
case 0x0002:
- player_node->setExperience(JOB, msg.readInt32(),
- player_node->getExperience(JOB).second);
+ PlayerInfo::setStatExperience(JOB, msg.readInt32(),
+ PlayerInfo::getStatExperience(JOB).second);
break;
case 0x0014: {
- int curGp = player_node->getMoney();
- player_node->setMoney(msg.readInt32());
- if (player_node->getMoney() > curGp)
- localChatTab->chatLog(strprintf(_("You picked up "
- "%s."),
- Units::formatCurrency(player_node->getMoney()
- - curGp).c_str()), BY_SERVER);
+ int oldMoney = PlayerInfo::getAttribute(MONEY);
+ int newMoney = msg.readInt32();
+ PlayerInfo::setAttribute(MONEY, newMoney);
+ if (newMoney > oldMoney)
+ SERVER_NOTICE(strprintf(_("You picked up %s."),
+ Units::formatCurrency(newMoney -
+ oldMoney).c_str()))
}
break;
case 0x0016:
- player_node->setExpNeeded(msg.readInt32());
+ PlayerInfo::setAttribute(EXP_NEEDED, msg.readInt32());
break;
case 0x0017:
- player_node->setExperience(JOB,
- player_node->getExperience(JOB).first,
- msg.readInt32());
+ PlayerInfo::setStatExperience(JOB,
+ PlayerInfo::getStatExperience(JOB).first,
+ msg.readInt32());
break;
}
break;
@@ -364,8 +332,8 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
int base = msg.readInt32();
int bonus = msg.readInt32();
- player_node->setAttributeBase(type, base);
- player_node->setAttributeEffective(type, base + bonus);
+ PlayerInfo::setStatBase(type, base, false);
+ PlayerInfo::setStatMod(type, bonus);
}
break;
@@ -377,25 +345,20 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
if (ok != 1)
{
- localChatTab->chatLog(_("Cannot raise skill!"),
- BY_SERVER);
+ SERVER_NOTICE(_("Cannot raise skill!"))
}
- int bonus = ATTR_BONUS(type);
-
- player_node->setAttributeBase(type, value);
- player_node->setAttributeEffective(type, value + bonus);
+ PlayerInfo::setStatBase(type, value);
}
break;
// Updates stats and status points
case SMSG_PLAYER_STAT_UPDATE_5:
- player_node->setCharacterPoints(msg.readInt16());
+ PlayerInfo::setAttribute(CHAR_POINTS, msg.readInt16());
{
int val = msg.readInt8();
- player_node->setAttributeEffective(STR, val + ATTR_BONUS(STR));
- player_node->setAttributeBase(STR, val);
+ PlayerInfo::setStatBase(STR, val);
if (val >= 99)
{
statusWindow->setPointsNeeded(STR, 0);
@@ -407,8 +370,7 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
}
val = msg.readInt8();
- player_node->setAttributeEffective(AGI, val + ATTR_BONUS(AGI));
- player_node->setAttributeBase(AGI, val);
+ PlayerInfo::setStatBase(AGI, val);
if (val >= 99)
{
statusWindow->setPointsNeeded(AGI, 0);
@@ -420,8 +382,7 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
}
val = msg.readInt8();
- player_node->setAttributeEffective(VIT, val + ATTR_BONUS(VIT));
- player_node->setAttributeBase(VIT, val);
+ PlayerInfo::setStatBase(VIT, val);
if (val >= 99)
{
statusWindow->setPointsNeeded(VIT, 0);
@@ -433,8 +394,7 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
}
val = msg.readInt8();
- player_node->setAttributeEffective(INT, val + ATTR_BONUS(INT));
- player_node->setAttributeBase(INT, val);
+ PlayerInfo::setStatBase(INT, val);
if (val >= 99)
{
statusWindow->setPointsNeeded(INT, 0);
@@ -446,8 +406,7 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
}
val = msg.readInt8();
- player_node->setAttributeEffective(DEX, val + ATTR_BONUS(DEX));
- player_node->setAttributeBase(DEX, val);
+ PlayerInfo::setStatBase(DEX, val);
if (val >= 99)
{
statusWindow->setPointsNeeded(DEX, 0);
@@ -459,8 +418,7 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
}
val = msg.readInt8();
- player_node->setAttributeEffective(LUK, val + ATTR_BONUS(LUK));
- player_node->setAttributeBase(LUK, val);
+ PlayerInfo::setStatBase(LUK, val);
if (val >= 99)
{
statusWindow->setPointsNeeded(LUK, 0);
@@ -471,39 +429,25 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
statusWindow->setPointsNeeded(LUK, msg.readInt8());
}
- val = msg.readInt16(); // ATK
- player_node->setAttributeBase(ATK, val);
- val += msg.readInt16(); // ATK bonus
- player_node->setAttributeEffective(ATK, val);
-
- val = msg.readInt16(); // MATK
- player_node->setAttributeBase(MATK, val);
- val += msg.readInt16(); // MATK bonus
- player_node->setAttributeEffective(MATK, val);
- statusWindow->update(StatusWindow::MP);
-
- val = msg.readInt16(); // DEF
- player_node->setAttributeBase(DEF, val);
- val += msg.readInt16(); // DEF bonus
- player_node->setAttributeEffective(DEF, val);
-
- val = msg.readInt16(); // MDEF
- player_node->setAttributeBase(MDEF, val);
- val += msg.readInt16(); // MDEF bonus
- player_node->setAttributeEffective(MDEF, val);
-
- val = msg.readInt16(); // HIT
- player_node->setAttributeBase(HIT, val);
- player_node->setAttributeEffective(HIT, val);
-
- val = msg.readInt16(); // FLEE
- player_node->setAttributeBase(FLEE, val);
- val += msg.readInt16(); // FLEE bonus
- player_node->setAttributeEffective(FLEE, val);
-
- val = msg.readInt16();
- player_node->setAttributeBase(CRIT, val);
- player_node->setAttributeEffective(CRIT, val);
+ PlayerInfo::setStatBase(ATK, msg.readInt16(), false);
+ PlayerInfo::setStatMod(ATK, msg.readInt16());
+
+ PlayerInfo::setStatBase(MATK, msg.readInt16(), false);
+ PlayerInfo::setStatMod(MATK, msg.readInt16());
+
+
+ PlayerInfo::setStatBase(DEF, msg.readInt16(), false);
+ PlayerInfo::setStatMod(DEF, msg.readInt16());
+
+ PlayerInfo::setStatBase(MDEF, msg.readInt16(), false);
+ PlayerInfo::setStatMod(MDEF, msg.readInt16());
+
+ PlayerInfo::setStatBase(HIT, msg.readInt16());
+
+ PlayerInfo::setStatBase(FLEE, msg.readInt16(), false);
+ PlayerInfo::setStatMod(FLEE, msg.readInt16());
+
+ PlayerInfo::setStatBase(CRIT, msg.readInt16());
}
msg.readInt16(); // manner
@@ -540,8 +484,9 @@ void PlayerHandler::handleMessage(Net::MessageIn &msg)
switch (type)
{
case 0:
- localChatTab->chatLog(_("Equip arrows first."),
- BY_SERVER);
+ {
+ SERVER_NOTICE(_("Equip arrows first."))
+ }
break;
default:
logger->log("0x013b: Unhandled message %i", type);
@@ -582,7 +527,7 @@ void PlayerHandler::decreaseAttribute(int attr)
void PlayerHandler::increaseSkill(int skillId)
{
- if (player_node->getSkillPoints() <= 0)
+ if (PlayerInfo::getAttribute(SKILL_POINTS) <= 0)
return;
MessageOut outMsg(CMSG_SKILL_LEVELUP_REQUEST);
@@ -591,8 +536,11 @@ void PlayerHandler::increaseSkill(int skillId)
void PlayerHandler::pickUp(FloorItem *floorItem)
{
- MessageOut outMsg(CMSG_ITEM_PICKUP);
- outMsg.writeInt32(floorItem->getId());
+ if (floorItem)
+ {
+ MessageOut outMsg(CMSG_ITEM_PICKUP);
+ outMsg.writeInt32(floorItem->getId());
+ }
}
void PlayerHandler::setDirection(char direction)
@@ -641,7 +589,7 @@ void PlayerHandler::ignoreAll(bool ignore)
bool PlayerHandler::canUseMagic()
{
- return player_node->getAttributeEffective(MATK) > 0;
+ return PlayerInfo::getStatEffective(MATK) > 0;
}
bool PlayerHandler::canCorrectAttributes()
diff --git a/src/net/tmwa/specialhandler.cpp b/src/net/tmwa/specialhandler.cpp
index c5f5d540..577bda7e 100644
--- a/src/net/tmwa/specialhandler.cpp
+++ b/src/net/tmwa/specialhandler.cpp
@@ -21,13 +21,12 @@
#include "net/tmwa/specialhandler.h"
-#include "localplayer.h"
+#include "event.h"
#include "log.h"
+#include "playerinfo.h"
#include "gui/skilldialog.h"
-#include "gui/widgets/chattab.h"
-
#include "net/messagein.h"
#include "net/messageout.h"
@@ -105,8 +104,7 @@ void SpecialHandler::handleMessage(Net::MessageIn &msg)
msg.skip(24); // unused
int up = msg.readInt8();
- player_node->setAttributeBase(skillId, level);
- player_node->setAttributeEffective(skillId, level);
+ PlayerInfo::setStatBase(skillId, level);
skillDialog->setModifiable(skillId, up);
}
break;
@@ -119,8 +117,7 @@ void SpecialHandler::handleMessage(Net::MessageIn &msg)
msg.readInt16(); // range
int up = msg.readInt8();
- player_node->setAttributeBase(skillId, level);
- player_node->setAttributeEffective(skillId, level);
+ PlayerInfo::setStatBase(skillId, level);
skillDialog->setModifiable(skillId, up);
}
break;
@@ -218,7 +215,7 @@ void SpecialHandler::handleMessage(Net::MessageIn &msg)
}
}
- localChatTab->chatLog(msg);
+ SERVER_NOTICE(msg)
break;
}
}
diff --git a/src/net/tmwa/token.h b/src/net/tmwa/token.h
index d2a21012..3e781cd8 100644
--- a/src/net/tmwa/token.h
+++ b/src/net/tmwa/token.h
@@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "player.h"
+#include "being.h"
#ifndef NET_TA_TOKEN_H
#define NET_TA_TOKEN_H
diff --git a/src/net/tmwa/tradehandler.cpp b/src/net/tmwa/tradehandler.cpp
index 9089f8e6..034b959d 100644
--- a/src/net/tmwa/tradehandler.cpp
+++ b/src/net/tmwa/tradehandler.cpp
@@ -21,22 +21,24 @@
#include "net/tmwa/tradehandler.h"
+#include "event.h"
#include "inventory.h"
#include "item.h"
#include "localplayer.h"
+#include "playerinfo.h"
#include "playerrelations.h"
#include "gui/confirmdialog.h"
#include "gui/trade.h"
-#include "gui/widgets/chattab.h"
-
#include "net/inventoryhandler.h"
#include "net/messagein.h"
#include "net/messageout.h"
#include "net/tmwa/protocol.h"
+#include "resources/iteminfo.h"
+
#include "utils/gettext.h"
#include "utils/stringutils.h"
@@ -96,14 +98,14 @@ void TradeHandler::handleMessage(Net::MessageIn &msg)
if (player_relations.hasPermission(tradePartnerName,
PlayerRelation::TRADE))
{
- if (!player_node->tradeRequestOk() || confirmDlg)
+ if (PlayerInfo::isTrading() || confirmDlg)
{
Net::getTradeHandler()->respond(false);
break;
}
tradePartnerName = tradePartnerNameTemp;
- player_node->setTrading(true);
+ PlayerInfo::setTrading(true);
confirmDlg = new ConfirmDialog(_("Request for Trade"),
strprintf(_("%s wants to trade with you, do you "
"accept?"), tradePartnerName.c_str()));
@@ -121,16 +123,16 @@ void TradeHandler::handleMessage(Net::MessageIn &msg)
switch (msg.readInt8())
{
case 0: // Too far away
- localChatTab->chatLog(_("Trading isn't possible. Trade "
- "partner is too far away."), BY_SERVER);
+ SERVER_NOTICE(_("Trading isn't possible. Trade "
+ "partner is too far away."))
break;
case 1: // Character doesn't exist
- localChatTab->chatLog(_("Trading isn't possible. Character "
- "doesn't exist."), BY_SERVER);
+ SERVER_NOTICE(_("Trading isn't possible. Character "
+ "doesn't exist."))
break;
case 2: // Invite request check failed...
- localChatTab->chatLog(_("Trade cancelled due to an unknown "
- "reason."), BY_SERVER);
+ SERVER_NOTICE(_("Trade cancelled due to an unknown "
+ "reason."))
break;
case 3: // Trade accepted
tradeWindow->reset();
@@ -141,17 +143,15 @@ void TradeHandler::handleMessage(Net::MessageIn &msg)
case 4: // Trade cancelled
if (player_relations.hasPermission(tradePartnerName,
PlayerRelation::SPEECH_LOG))
- localChatTab->chatLog(strprintf(_("Trade with %s "
- "cancelled."), tradePartnerName.c_str()),
- BY_SERVER);
+ SERVER_NOTICE(strprintf(_("Trade with %s cancelled."),
+ tradePartnerName.c_str()))
// otherwise ignore silently
tradeWindow->setVisible(false);
- player_node->setTrading(false);
+ PlayerInfo::setTrading(false);
break;
default: // Shouldn't happen as well, but to be sure
- localChatTab->chatLog(_("Unhandled trade cancel packet."),
- BY_SERVER);
+ SERVER_NOTICE(_("Unhandled trade cancel packet."))
break;
}
break;
@@ -169,7 +169,7 @@ void TradeHandler::handleMessage(Net::MessageIn &msg)
if (type == 0)
tradeWindow->setMoney(amount);
else
- tradeWindow->addItem(type, false, amount, false);
+ tradeWindow->addItem(type, false, amount);
}
break;
@@ -177,7 +177,7 @@ void TradeHandler::handleMessage(Net::MessageIn &msg)
// Trade: New Item add response (was 0x00ea, now 01b1)
{
const int index = msg.readInt16() - INVENTORY_OFFSET;
- Item *item = player_node->getInventory()->getItem(index);
+ Item *item = PlayerInfo::getInventory()->getItem(index);
if (!item)
{
tradeWindow->receivedOk(true);
@@ -189,27 +189,27 @@ void TradeHandler::handleMessage(Net::MessageIn &msg)
{
case 0:
// Successfully added item
- if (item->isEquipment() && item->isEquipped())
+ if (item->isEquippable() && item->isEquipped())
{
- Net::getInventoryHandler()->unequipItem(item);
+ item->doEvent(EVENT_DOUNEQUIP);
}
- tradeWindow->addItem(item->getId(), true, quantity,
- item->isEquipment());
+ tradeWindow->addItem(item->getId(), true, quantity);
+
item->increaseQuantity(-quantity);
break;
case 1:
// Add item failed - player overweighted
- localChatTab->chatLog(_("Failed adding item. Trade "
- "partner is over weighted."), BY_SERVER);
+ SERVER_NOTICE(_("Failed adding item. Trade "
+ "partner is over weighted."))
break;
case 2:
// Add item failed - player has no free slot
- localChatTab->chatLog(_("Failed adding item. Trade "
- "partner has no free slot."), BY_SERVER);
+ SERVER_NOTICE(_("Failed adding item. Trade "
+ "partner has no free slot."))
break;
default:
- localChatTab->chatLog(_("Failed adding item for "
- "unknown reason."), BY_SERVER);
+ SERVER_NOTICE(_("Failed adding item for "
+ "unknown reason."))
break;
}
}
@@ -221,17 +221,17 @@ void TradeHandler::handleMessage(Net::MessageIn &msg)
break;
case SMSG_TRADE_CANCEL:
- localChatTab->chatLog(_("Trade canceled."), BY_SERVER);
+ SERVER_NOTICE(_("Trade canceled."))
tradeWindow->setVisible(false);
tradeWindow->reset();
- player_node->setTrading(false);
+ PlayerInfo::setTrading(false);
break;
case SMSG_TRADE_COMPLETE:
- localChatTab->chatLog(_("Trade completed."), BY_SERVER);
+ SERVER_NOTICE(_("Trade completed."))
tradeWindow->setVisible(false);
tradeWindow->reset();
- player_node->setTrading(false);
+ PlayerInfo::setTrading(false);
break;
}
}
@@ -245,7 +245,7 @@ void TradeHandler::request(Being *being)
void TradeHandler::respond(bool accept)
{
if (!accept)
- player_node->setTrading(false);
+ PlayerInfo::setTrading(false);
MessageOut outMsg(CMSG_TRADE_RESPONSE);
outMsg.writeInt8(accept ? 3 : 4);
diff --git a/src/net/tradehandler.h b/src/net/tradehandler.h
index 30798c41..ea3c4550 100644
--- a/src/net/tradehandler.h
+++ b/src/net/tradehandler.h
@@ -30,6 +30,8 @@ namespace Net {
class TradeHandler
{
public:
+ virtual ~TradeHandler() {}
+
virtual void request(Being *being) {}
virtual void respond(bool accept) {}
@@ -45,8 +47,6 @@ class TradeHandler
virtual void finish() {}
virtual void cancel() {}
-
- virtual ~TradeHandler() {}
};
}
diff --git a/src/npc.cpp b/src/npc.cpp
deleted file mode 100644
index a3c26618..00000000
--- a/src/npc.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana 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/>.
- */
-
-#include "animatedsprite.h"
-#include "beingmanager.h"
-#include "npc.h"
-#include "particle.h"
-#include "text.h"
-
-#include "gui/buy.h"
-#include "gui/buysell.h"
-#include "gui/npcdialog.h"
-#include "gui/npcpostdialog.h"
-#include "gui/userpalette.h"
-#include "gui/sell.h"
-
-#include "net/net.h"
-#include "net/npchandler.h"
-
-#include "resources/npcdb.h"
-#include "configuration.h"
-
-NPC::NPC(int id, int subtype, Map *map):
- Player(id, subtype, map, true)
-{
- setSubtype(subtype);
-
- setShowName(true);
-}
-
-void NPC::setName(const std::string &name)
-{
- const std::string displayName = name.substr(0, name.find('#', 0));
-
- Being::setName(displayName);
-
- mNameColor = &userPalette->getColor(UserPalette::NPC);
-
- mDispName->setColor(mNameColor);
-}
-
-void NPC::setSubtype(Uint16 subtype)
-{
- Being::setSubtype(subtype);
-
- NPCInfo info = NPCDB::get(subtype);
-
- mSprites.clear();
- // Setup NPC sprites
- for (std::list<NPCsprite*>::const_iterator i = info.sprites.begin();
- i != info.sprites.end();
- i++)
- {
- std::string file = paths.getValue("sprites",
- "graphics/sprites/") + (*i)->sprite;
- int variant = (*i)->variant;
- mSprites.push_back(AnimatedSprite::load(file, variant));
- mSpriteIDs.push_back(0);
- mSpriteColors.push_back("");
- }
-
- if (Particle::enabled)
- {
- //setup particle effects
- for (std::list<std::string>::const_iterator i = info.particles.begin();
- i != info.particles.end();
- i++)
- {
- Particle *p = particleEngine->addEffect(*i, 0, 0);
- this->controlParticle(p);
- }
- }
-}
-
-void NPC::talk()
-{
- Net::getNpcHandler()->talk(mId);
-}
-
-void NPC::setSprite(unsigned int slot, int id, const std::string &color)
-{
- // Do nothing
-}
-
-bool NPC::isTalking()
-{
- return NpcDialog::isActive() || BuyDialog::isActive() ||
- SellDialog::isActive() || BuySellDialog::isActive() ||
- NpcPostDialog::isActive();
-}
diff --git a/src/npc.h b/src/npc.h
deleted file mode 100644
index 0abd2395..00000000
--- a/src/npc.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana 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 NPC_H
-#define NPC_H
-
-#include "player.h"
-
-class Graphics;
-class Text;
-
-class NPC : public Player
-{
- public:
- NPC(int id, int subtype, Map *map);
-
- void setName(const std::string &name);
-
- virtual Type getType() const { return Being::NPC; }
-
- virtual void setSubtype(Uint16 subtype);
-
- void talk();
-
- void setSprite(unsigned int slot, int id,
- const std::string &color = "");
-
- /**
- * Gets the way an NPC is blocked by other things on the map
- */
- virtual unsigned char getWalkMask() const
- {
- return Map::BLOCKMASK_WALL
- | Map::BLOCKMASK_CHARACTER
- | Map::BLOCKMASK_MONSTER;
- }
-
- /** We consider NPCs (at least for now) to be one layer-sprites */
- virtual int getNumberOfLayers() const
- { return 1; }
-
- static bool isTalking();
-
- protected:
- /**
- * Gets the way a monster blocks pathfinding for other objects
- */
- virtual Map::BlockType getBlockType() const
- { return Map::BLOCKTYPE_CHARACTER; } //blocks like a player character
-
- // Colors don't change for NPCs
- virtual void updateColors() {}
-};
-
-#endif
diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp
index 7818e9d2..c24b7d64 100644
--- a/src/openglgraphics.cpp
+++ b/src/openglgraphics.cpp
@@ -25,8 +25,6 @@
#include "resources/image.h"
-#include "utils/stringutils.h"
-
#ifdef USE_OPENGL
#ifdef __APPLE__
diff --git a/src/openglgraphics.h b/src/openglgraphics.h
index ee96e19c..23638eec 100644
--- a/src/openglgraphics.h
+++ b/src/openglgraphics.h
@@ -22,8 +22,6 @@
#ifndef OPENGLGRAPHICS_H
#define OPENGLGRAPHICS_H
-#include "main.h"
-
#include "graphics.h"
#ifdef USE_OPENGL
diff --git a/src/particle.cpp b/src/particle.cpp
index 0c4a7d7e..f147a9f2 100644
--- a/src/particle.cpp
+++ b/src/particle.cpp
@@ -56,15 +56,15 @@ bool Particle::enabled = true;
const float Particle::PARTICLE_SKY = 800.0f;
Particle::Particle(Map *map):
- mAlive(true),
+ mAlpha(1.0f),
mLifetimeLeft(-1),
mLifetimePast(0),
mFadeOut(0),
mFadeIn(0),
- mAlpha(1.0f),
+ mAlive(ALIVE),
mAutoDelete(true),
- mMap(map),
mAllowSizeAdjust(false),
+ mDeathEffectConditions(0x00),
mGravity(0.0f),
mRandomness(0),
mBounce(0.0f),
@@ -74,33 +74,31 @@ Particle::Particle(Map *map):
mInvDieDistance(-1.0f),
mMomentum(1.0f)
{
+ setMap(map);
Particle::particleCount++;
- if (mMap)
- setSpriteIterator(mMap->addSprite(this));
}
Particle::~Particle()
{
- // Remove from map sprite list
- if (mMap)
- mMap->removeSprite(mSpriteIterator);
// Delete child emitters and child particles
clear();
+ //update particle count
Particle::particleCount--;
}
void Particle::setupEngine()
{
- Particle::maxCount = (int)config.getValue("particleMaxCount", 3000);
- Particle::fastPhysics = (int)config.getValue("particleFastPhysics", 0);
- Particle::emitterSkip = (int)config.getValue("particleEmitterSkip", 1) + 1;
- Particle::enabled = (bool)config.getValue("particleeffects", true);
+ Particle::maxCount = config.getIntValue("particleMaxCount");
+ Particle::fastPhysics = config.getIntValue("particleFastPhysics");
+ Particle::emitterSkip = config.getIntValue("particleEmitterSkip") + 1;
+ Particle::enabled = config.getBoolValue("particleeffects");
disableAutoDelete();
logger->log("Particle engine set up");
}
-void Particle::draw(Graphics *, int, int) const
+bool Particle::draw(Graphics *, int, int) const
{
+ return false;
}
bool Particle::update()
@@ -108,12 +106,12 @@ bool Particle::update()
if (!mMap)
return false;
- if (mLifetimeLeft == 0)
- mAlive = false;
+ if (mLifetimeLeft == 0 && mAlive == ALIVE)
+ mAlive = DEAD_TIMEOUT;
Vector oldPos = mPos;
- if (mAlive)
+ if (mAlive == ALIVE)
{
//calculate particle movement
if (mMomentum != 1.0f)
@@ -147,7 +145,7 @@ bool Particle::update()
{
if (mInvDieDistance > 0.0f && invHypotenuse > mInvDieDistance)
{
- mAlive = false;
+ mAlive = DEAD_IMPACT;
}
float accFactor = invHypotenuse * mAcceleration;
mVelocity -= dist * accFactor;
@@ -175,7 +173,7 @@ bool Particle::update()
}
mLifetimePast++;
- if (mPos.z > PARTICLE_SKY || mPos.z < 0.0f)
+ if (mPos.z < 0.0f)
{
if (mBounce > 0.0f)
{
@@ -185,9 +183,13 @@ bool Particle::update()
}
else
{
- mAlive = false;
+ mAlive = DEAD_FLOOR;
}
}
+ else if (mPos.z > PARTICLE_SKY)
+ {
+ mAlive = DEAD_SKY;
+ }
// Update child emitters
if ((mLifetimePast-1)%Particle::emitterSkip == 0)
@@ -206,6 +208,17 @@ bool Particle::update()
}
}
+ // create death effect when the particle died
+ if (mAlive != ALIVE && mAlive != DEAD_LONG_AGO)
+ {
+ if ((mAlive & mDeathEffectConditions) > 0x00 && !mDeathEffect.empty())
+ {
+ Particle* deathEffect = particleEngine->addEffect(mDeathEffect, 0, 0);
+ deathEffect->moveBy(mPos);
+ }
+ mAlive = DEAD_LONG_AGO;
+ }
+
Vector change = mPos - oldPos;
// Update child particles
@@ -229,7 +242,7 @@ bool Particle::update()
p = mChildParticles.erase(p);
}
}
- if (!mAlive && mChildParticles.empty() && mAutoDelete)
+ if (mAlive != ALIVE && mChildParticles.empty() && mAutoDelete)
{
return false;
}
@@ -329,13 +342,39 @@ Particle *Particle::addEffect(const std::string &particleEffectFile,
// Look for additional emitters for this particle
for_each_xml_child_node(emitterNode, effectChildNode)
{
- if (!xmlStrEqual(emitterNode->name, BAD_CAST "emitter"))
- continue;
-
- ParticleEmitter *newEmitter;
- newEmitter = new ParticleEmitter(emitterNode, newParticle, mMap,
- rotation);
- newParticle->addEmitter(newEmitter);
+ if (xmlStrEqual(emitterNode->name, BAD_CAST "emitter"))
+ {
+ ParticleEmitter *newEmitter;
+ newEmitter = new ParticleEmitter(emitterNode, newParticle, mMap,
+ rotation);
+ newParticle->addEmitter(newEmitter);
+ }
+ else if (xmlStrEqual(emitterNode->name, BAD_CAST "deatheffect"))
+ {
+ std::string deathEffect = (const char*)emitterNode->xmlChildrenNode->content;
+ char deathEffectConditions = 0x00;
+ if (XML::getBoolProperty(emitterNode, "on-floor", true))
+ {
+ deathEffectConditions += Particle::DEAD_FLOOR;
+ }
+ if (XML::getBoolProperty(emitterNode, "on-sky", true))
+ {
+ deathEffectConditions += Particle::DEAD_SKY;
+ }
+ if (XML::getBoolProperty(emitterNode, "on-other", false))
+ {
+ deathEffectConditions += Particle::DEAD_OTHER;
+ }
+ if (XML::getBoolProperty(emitterNode, "on-impact", true))
+ {
+ deathEffectConditions += Particle::DEAD_IMPACT;
+ }
+ if (XML::getBoolProperty(emitterNode, "on-timeout", true))
+ {
+ deathEffectConditions += Particle::DEAD_TIMEOUT;
+ }
+ newParticle->setDeathEffect(deathEffect, deathEffectConditions);
+ }
}
mChildParticles.push_back(newParticle);
@@ -406,13 +445,6 @@ float Particle::getCurrentAlpha() const
return alpha;
}
-void Particle::setMap(Map *map)
-{
- mMap = map;
- if (mMap)
- setSpriteIterator(mMap->addSprite(this));
-}
-
void Particle::clear()
{
delete_all(mChildEmitters);
diff --git a/src/particle.h b/src/particle.h
index 69f8c2be..0e39883b 100644
--- a/src/particle.h
+++ b/src/particle.h
@@ -22,8 +22,8 @@
#ifndef PARTICLE_H
#define PARTICLE_H
+#include "actor.h"
#include "guichanfwd.h"
-#include "sprite.h"
#include "vector.h"
#include <list>
@@ -41,9 +41,19 @@ typedef Emitters::iterator EmitterIterator;
/**
* A particle spawned by a ParticleEmitter.
*/
-class Particle : public Sprite
+class Particle : public Actor
{
public:
+ enum AliveStatus
+ {
+ ALIVE = 0,
+ DEAD_TIMEOUT = 1,
+ DEAD_FLOOR = 2,
+ DEAD_SKY = 4,
+ DEAD_IMPACT = 8,
+ DEAD_OTHER = 16,
+ DEAD_LONG_AGO = 128
+ };
static const float PARTICLE_SKY; /**< Maximum Z position of particles */
static int fastPhysics; /**< Mode of squareroot calculation */
static int particleCount; /**< Current number of particles */
@@ -83,7 +93,7 @@ class Particle : public Sprite
/**
* Draws the particle image.
*/
- virtual void draw(Graphics *graphics, int offsetX, int offsetY) const;
+ virtual bool draw(Graphics *graphics, int offsetX, int offsetY) const;
/**
* Necessary for sorting with the other sprites.
@@ -92,12 +102,6 @@ class Particle : public Sprite
{ return (int) (mPos.y + mPos.z) - 64; }
/**
- * Sets the map the particle is on.
- */
- void setMap(Map *map);
-
-
- /**
* Creates a blank particle as a child of the current particle
* Useful for creating target particles
*/
@@ -142,12 +146,6 @@ class Particle : public Sprite
void moveTo(float x, float y);
/**
- * Returns the particle position.
- */
- const Vector& getPosition() const
- { return mPos; }
-
- /**
* Changes the particle position relative
*/
void moveBy (const Vector &change);
@@ -173,32 +171,6 @@ class Particle : public Sprite
{ mFadeIn = fadeIn; }
/**
- * Sets the alpha value of the particle
- */
- void setAlpha(float alpha)
- { mAlpha = alpha; }
-
- /**
- * Returns the current alpha opacity of the particle.
- */
- virtual float getAlpha() const
- { return mAlpha; }
-
- /**
- * Sets the sprite iterator of the particle on the current map to make
- * it easier to remove the particle from the map when it is destroyed.
- */
- void setSpriteIterator(std::list<Sprite*>::iterator spriteIterator)
- { mSpriteIterator = spriteIterator; }
-
- /**
- * Gets the sprite iterator of the particle on the current map.
- */
- std::list<Sprite*>::iterator
- getSpriteIterator() const
- { return mSpriteIterator; }
-
- /**
* Sets the current velocity in 3 dimensional space.
*/
void setVelocity(float x, float y, float z)
@@ -259,20 +231,20 @@ class Particle : public Sprite
void setAllowSizeAdjust(bool adjust)
{ mAllowSizeAdjust = adjust; }
- bool isAlive()
- { return mAlive; }
+ bool isAlive() const
+ { return mAlive == ALIVE; }
/**
* Determines whether the particle and its children are all dead
*/
- bool isExtinct()
+ bool isExtinct() const
{ return !isAlive() && mChildParticles.empty(); }
/**
* Manually marks the particle for deletion.
*/
void kill()
- { mAlive = false; mAutoDelete = true; }
+ { mAlive = DEAD_OTHER; mAutoDelete = true; }
/**
* After calling this function the particle will only request
@@ -285,28 +257,38 @@ class Particle : public Sprite
virtual int getNumberOfLayers() const
{ return 1; }
+ virtual float getAlpha() const
+ { return 1.0f; }
+
+ virtual void setAlpha(float alpha) {}
+
+ virtual void setDeathEffect(const std::string &effectFile, char conditions)
+ { mDeathEffect = effectFile; mDeathEffectConditions = conditions; }
+
protected:
+ /** Opacity of the graphical representation of the particle */
+ float mAlpha;
+
/** Calculates the current alpha transparency taking current fade status into account*/
float getCurrentAlpha() const;
- bool mAlive; /**< Is the particle supposed to be drawn and updated?*/
- Vector mPos; /**< Position in pixels relative to map. */
int mLifetimeLeft; /**< Lifetime left in game ticks*/
int mLifetimePast; /**< Age of the particle in game ticks*/
int mFadeOut; /**< Lifetime in game ticks left where fading out begins*/
int mFadeIn; /**< Age in game ticks where fading in is finished*/
- float mAlpha; /**< Opacity of the graphical representation of the particle */
+ Vector mVelocity; /**< Speed in pixels per game-tick. */
+ private:
+ AliveStatus mAlive; /**< Is the particle supposed to be drawn and updated?*/
// generic properties
bool mAutoDelete; /**< May the particle request its deletion by the parent particle? */
- Map *mMap; /**< Map the particle is on. */
- std::list<Sprite*>::iterator mSpriteIterator; /**< iterator of the particle on the current map */
Emitters mChildEmitters; /**< List of child emitters. */
Particles mChildParticles; /**< List of particles controlled by this particle */
bool mAllowSizeAdjust; /**< Can the effect size be adjusted by the object props in the map file? */
+ std::string mDeathEffect; /**< Particle effect file to be spawned when the particle dies */
+ char mDeathEffectConditions;/**< Bitfield of death conditions which trigger spawning of the death particle */
// dynamic particle
- Vector mVelocity; /**< Speed in pixels per game-tick. */
float mGravity; /**< Downward acceleration in pixels per game-tick. */
int mRandomness; /**< Ammount of random vector change */
float mBounce; /**< How much the particle bounces off when hitting the ground */
diff --git a/src/particleemitter.cpp b/src/particleemitter.cpp
index dc9931a5..b9855c10 100644
--- a/src/particleemitter.cpp
+++ b/src/particleemitter.cpp
@@ -320,6 +320,30 @@ ParticleEmitter::ParticleEmitter(xmlNodePtr emitterNode, Particle *target, Map *
mParticleAnimation.addTerminator();
}
} // for frameNode
+ } else if (xmlStrEqual(propertyNode->name, BAD_CAST "deatheffect"))
+ {
+ mDeathEffect = (const char*)propertyNode->xmlChildrenNode->content;
+ mDeathEffectConditions = 0x00;
+ if (XML::getBoolProperty(propertyNode, "on-floor", true))
+ {
+ mDeathEffectConditions += Particle::DEAD_FLOOR;
+ }
+ if (XML::getBoolProperty(propertyNode, "on-sky", true))
+ {
+ mDeathEffectConditions += Particle::DEAD_SKY;
+ }
+ if (XML::getBoolProperty(propertyNode, "on-other", false))
+ {
+ mDeathEffectConditions += Particle::DEAD_OTHER;
+ }
+ if (XML::getBoolProperty(propertyNode, "on-impact", true))
+ {
+ mDeathEffectConditions += Particle::DEAD_IMPACT;
+ }
+ if (XML::getBoolProperty(propertyNode, "on-timeout", true))
+ {
+ mDeathEffectConditions += Particle::DEAD_TIMEOUT;
+ }
}
}
}
@@ -469,6 +493,11 @@ std::list<Particle *> ParticleEmitter::createParticles(int tick)
newParticle->addEmitter(new ParticleEmitter(*i));
}
+ if (!mDeathEffect.empty())
+ {
+ newParticle->setDeathEffect(mDeathEffect, mDeathEffectConditions);
+ }
+
newParticles.push_back(newParticle);
}
diff --git a/src/particleemitter.h b/src/particleemitter.h
index cc073c1c..9baaa73c 100644
--- a/src/particleemitter.h
+++ b/src/particleemitter.h
@@ -127,13 +127,19 @@ class ParticleEmitter
int mOutputPauseLeft;
/*
- * Graphical representation of the particle
+ * Graphical representation of the particles
*/
Image *mParticleImage; /**< Particle image, if used */
Animation mParticleAnimation; /**< Filename of particle animation file */
Animation mParticleRotation; /**< Filename of particle rotation file */
ParticleEmitterProp<float> mParticleAlpha; /**< Opacity of the graphical representation of the particles */
+ /*
+ * Death effect of the particles
+ */
+ std::string mDeathEffect;
+ char mDeathEffectConditions;
+
/** List of emitters the spawned particles are equipped with */
std::list<ParticleEmitter> mParticleChildEmitters;
};
diff --git a/src/particleemitterprop.h b/src/particleemitterprop.h
index c7b12097..c73d044c 100644
--- a/src/particleemitterprop.h
+++ b/src/particleemitterprop.h
@@ -21,10 +21,6 @@
#include <cmath>
-/**
- * Returns a random numeric value that is larger than or equal min and smaller
- * than max
- */
enum ChangeFunc
{
diff --git a/src/party.cpp b/src/party.cpp
index 155de2ba..99295792 100644
--- a/src/party.cpp
+++ b/src/party.cpp
@@ -20,8 +20,7 @@
#include "party.h"
-#include "beingmanager.h"
-#include "player.h"
+#include "actorspritemanager.h"
PartyMember::PartyMember(Party *party, int id, const std::string &name):
Avatar(name), mId(id), mParty(party), mLeader(false)
@@ -144,9 +143,9 @@ void Party::removeFromMembers()
itr_end = mMembers.end();
while(itr != itr_end)
{
- Being *b = beingManager->findBeing((*itr)->getID());
- if (b && b->getType() == Being::PLAYER)
- static_cast<Player*>(b)->setParty(NULL);
+ Being *b = actorSpriteManager->findBeing((*itr)->getID());
+ if (b)
+ b->setParty(NULL);
++itr;
}
}
diff --git a/src/player.cpp b/src/player.cpp
deleted file mode 100644
index a5a79ff1..00000000
--- a/src/player.cpp
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana 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/>.
- */
-
-#include "player.h"
-
-#include "animatedsprite.h"
-#include "client.h"
-#include "configuration.h"
-#include "guild.h"
-#include "localplayer.h"
-#include "particle.h"
-#include "party.h"
-#include "text.h"
-
-#include "gui/socialwindow.h"
-#include "gui/theme.h"
-#include "gui/userpalette.h"
-
-#include "net/charhandler.h"
-#include "net/net.h"
-
-#include "resources/colordb.h"
-#include "resources/itemdb.h"
-#include "resources/iteminfo.h"
-
-#include "utils/stringutils.h"
-
-Player::Player(int id, int subtype, Map *map, bool isNPC):
- Being(id, subtype, map),
- mGender(GENDER_UNSPECIFIED),
- mParty(NULL),
- mIsGM(false),
- mIp(0)
-{
- if (!isNPC)
- {
- for (int i = 0; i < Net::getCharHandler()->maxSprite(); i++)
- {
- mSprites.push_back(NULL);
- mSpriteIDs.push_back(0);
- mSpriteColors.push_back("");
- }
-
- setSubtype(subtype);
- }
- mShowName = config.getValue("visiblenames", 1);
- config.addListener("visiblenames", this);
-
- updateColors();
-}
-
-Player::~Player()
-{
- config.removeListener("visiblenames", this);
-}
-
-void Player::logic()
-{
- if (Net::getNetworkType() == ServerInfo::TMWATHENA)
- {
- switch (mAction)
- {
- case STAND:
- case SIT:
- case DEAD:
- case HURT:
- break;
-
- case WALK:
- mFrame = (int) ((get_elapsed_time(mWalkTime) * 6)
- / getWalkSpeed().x);
- if (mFrame >= 6)
- nextTile();
- break;
-
- case ATTACK:
- int rotation = 0;
- std::string particleEffect = "";
- int frames = 4;
-
- if (mEquippedWeapon &&
- mEquippedWeapon->getAttackType() == ACTION_ATTACK_BOW)
- {
- frames = 5;
- }
-
- mFrame = (get_elapsed_time(mWalkTime) * frames) / mAttackSpeed;
-
- //attack particle effect
- if (mEquippedWeapon)
- particleEffect = mEquippedWeapon->getParticleEffect();
-
- if (!particleEffect.empty() && Particle::enabled && mFrame == 1)
- {
- switch (mDirection)
- {
- case DOWN: rotation = 0; break;
- case LEFT: rotation = 90; break;
- case UP: rotation = 180; break;
- case RIGHT: rotation = 270; break;
- default: break;
- }
- Particle *p;
- p = particleEngine->addEffect(
- paths.getValue("particles",
- "graphics/particles/")
- + particleEffect, 0, 0, rotation);
- controlParticle(p);
- }
-
- if (mFrame >= frames)
- nextTile();
-
- break;
- }
- }
-
- Being::logic();
-}
-
-void Player::setSubtype(Uint16 subtype)
-{
- Being::setSubtype(subtype);
-
- int id = -100 - subtype;
- if (ItemDB::exists(id)) // Prevent showing errors when sprite doesn't exist
- setSprite(Net::getCharHandler()->baseSprite(), id);
- else
- setSprite(Net::getCharHandler()->baseSprite(), -100);
-}
-
-void Player::setGender(Gender gender)
-{
- if (gender != mGender)
- {
- mGender = gender;
-
- // Reload all subsprites
- for (unsigned int i = 0; i < mSprites.size(); i++)
- {
- if (mSpriteIDs.at(i) != 0)
- setSprite(i, mSpriteIDs.at(i), mSpriteColors.at(i));
- }
- }
-}
-
-void Player::setGM(bool gm)
-{
- mIsGM = gm;
-
- updateColors();
-}
-
-void Player::setSprite(int slot, int id, const std::string &color,
- bool isWeapon)
-{
- if (getType() == NPC)
- return;
-
- assert(slot < Net::getCharHandler()->maxSprite());
-
- // id = 0 means unequip
- if (id == 0)
- {
- delete mSprites[slot];
- mSprites[slot] = NULL;
-
- if (isWeapon)
- mEquippedWeapon = NULL;
- }
- else
- {
- std::string filename = ItemDB::get(id).getSprite(mGender);
- AnimatedSprite *equipmentSprite = NULL;
-
- if (!filename.empty())
- {
- if (!color.empty())
- filename += "|" + color;
-
- equipmentSprite = AnimatedSprite::load(
- paths.getValue("sprites", "graphics/sprites/") + filename);
- }
-
- if (equipmentSprite)
- equipmentSprite->setDirection(getSpriteDirection());
-
- if (mSprites[slot])
- delete mSprites[slot];
-
- mSprites[slot] = equipmentSprite;
-
- if (isWeapon)
- mEquippedWeapon = &ItemDB::get(id);
-
- setAction(mAction);
- }
-
- mSpriteIDs[slot] = id;
- mSpriteColors[slot] = color;
-}
-
-void Player::setSpriteID(unsigned int slot, int id)
-{
- setSprite(slot, id, mSpriteColors[slot]);
-}
-
-void Player::setSpriteColor(unsigned int slot, const std::string &color)
-{
- setSprite(slot, mSpriteIDs[slot], color);
-}
-
-void Player::addGuild(Guild *guild)
-{
- mGuilds[guild->getId()] = guild;
- guild->addMember(mId, mName);
-
- if (this == player_node && socialWindow)
- {
- socialWindow->addTab(guild);
- }
-}
-
-void Player::removeGuild(int id)
-{
- if (this == player_node && socialWindow)
- {
- socialWindow->removeTab(mGuilds[id]);
- }
-
- mGuilds[id]->removeMember(mId);
- mGuilds.erase(id);
-}
-
-Guild *Player::getGuild(const std::string &guildName) const
-{
- std::map<int, Guild*>::const_iterator itr, itr_end = mGuilds.end();
- for (itr = mGuilds.begin(); itr != itr_end; ++itr)
- {
- Guild *guild = itr->second;
- if (guild->getName() == guildName)
- {
- return guild;
- }
- }
-
- return NULL;
-}
-
-Guild *Player::getGuild(int id) const
-{
- std::map<int, Guild*>::const_iterator itr;
- itr = mGuilds.find(id);
- if (itr != mGuilds.end())
- {
- return itr->second;
- }
-
- return NULL;
-}
-
-const std::map<int, Guild*> &Player::getGuilds() const
-{
- return mGuilds;
-}
-
-void Player::clearGuilds()
-{
- std::map<int, Guild*>::const_iterator itr, itr_end = mGuilds.end();
- for (itr = mGuilds.begin(); itr != itr_end; ++itr)
- {
- Guild *guild = itr->second;
-
- if (this == player_node && socialWindow)
- socialWindow->removeTab(guild);
-
- guild->removeMember(mId);
- }
-
- mGuilds.clear();
-}
-
-void Player::setParty(Party *party)
-{
- if (party == mParty)
- return;
-
- Party *old = mParty;
- mParty = party;
-
- if (old)
- {
- old->removeMember(mId);
- }
-
- if (party)
- {
- party->addMember(mId, mName);
- }
-
- updateColors();
-
- if (this == player_node && socialWindow)
- {
- if (old)
- socialWindow->removeTab(old);
-
- if (party)
- socialWindow->addTab(party);
- }
-}
-
-void Player::optionChanged(const std::string &value)
-{
- if (value == "visiblenames")
- {
- setShowName(config.getValue("visiblenames", 1));
- }
-}
-
-void Player::updateColors()
-{
- mTextColor = &userPalette->getColor(Theme::PLAYER);
-
- if (mIsGM)
- {
- mTextColor = &userPalette->getColor(Theme::GM);
- mNameColor = &userPalette->getColor(UserPalette::GM);
- }
- else if (mParty && mParty == player_node->getParty())
- {
- mNameColor = &userPalette->getColor(UserPalette::PARTY);
- }
- else
- {
- mNameColor = &userPalette->getColor(UserPalette::PC);
- }
-
- if (mDispName)
- {
- mDispName->setColor(mNameColor);
- }
-}
diff --git a/src/player.h b/src/player.h
deleted file mode 100644
index 4ac9d0eb..00000000
--- a/src/player.h
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana 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 PLAYER_H
-#define PLAYER_H
-
-#include "being.h"
-
-class Graphics;
-class Guild;
-class Map;
-class Party;
-
-enum Gender
-{
- GENDER_MALE = 0,
- GENDER_FEMALE = 1,
- GENDER_UNSPECIFIED = 2
-};
-
-/**
- * A player being. Players have their name drawn beneath them. This class also
- * implements player-specific loading of base sprite, hair sprite and equipment
- * sprites.
- */
-class Player : public Being
-{
- public:
- /**
- * Constructor.
- */
- Player(int id, int subtype, Map *map, bool isNPC = false);
-
- ~Player();
-
- virtual void logic();
-
- virtual Type getType() const { return PLAYER; }
-
- virtual void setSubtype(Uint16 subtype);
-
- /**
- * Sets the gender of this being.
- */
- virtual void setGender(Gender gender);
-
- Gender getGender() const { return mGender; }
-
- /**
- * Whether or not this player is a GM.
- */
- bool isGM() const { return mIsGM; }
-
- /**
- * Triggers whether or not to show the name as a GM name.
- */
- virtual void setGM(bool gm);
-
- /**
- * Sets visible equipments for this player.
- */
- virtual void setSprite(int slot, int id,
- const std::string &color = "",
- bool isWeapon = false);
-
- virtual void setSpriteID(unsigned int slot, int id);
-
- virtual void setSpriteColor(unsigned int slot,
- const std::string &color = "");
-
- /**
- * Adds a guild to the player.
- */
- void addGuild(Guild *guild);
-
- /**
- * Removers a guild from the player.
- */
- void removeGuild(int id);
-
- /**
- * Returns a pointer to the specified guild.
- */
- Guild *getGuild(const std::string &guildName) const;
-
- /**
- * Returns a pointer to the guild with matching id.
- */
- Guild *getGuild(int id) const;
-
- /**
- * Returns all guilds the player is in.
- */
- const std::map<int, Guild*> &getGuilds() const;
-
- /**
- * Removes all guilds the player is in.
- */
- void clearGuilds();
-
- /**
- * Get number of guilds the player belongs to.
- */
- short getNumberOfGuilds() const { return mGuilds.size(); }
-
- bool isInParty() const { return mParty != NULL; }
-
- void setParty(Party *party);
-
- Party *getParty() const { return mParty; }
-
- /**
- * Gets the way the character is blocked by other objects.
- */
- virtual unsigned char getWalkMask() const
- { return Map::BLOCKMASK_WALL | Map::BLOCKMASK_MONSTER; }
-
- /**
- * Called when a option (set with config.addListener()) is changed
- */
- virtual void optionChanged(const std::string &value);
-
- /*
- * Sets the IP or an IP hash.
- * The TMW-Athena server sends this information only to GMs.
- */
- void setIp(int ip) { mIp = ip; }
-
- /**
- * Returns the player's IP or an IP hash.
- * Value is 0 if not set by the server.
- */
- int getIp() const { return mIp; }
-
- protected:
- /**
- * Gets the way the monster blocks pathfinding for other objects.
- */
- virtual Map::BlockType getBlockType() const
- { return Map::BLOCKTYPE_CHARACTER; }
-
- virtual void updateColors();
-
- Gender mGender;
- std::vector<int> mSpriteIDs;
- std::vector<std::string> mSpriteColors;
-
- // Character guild information
- std::map<int, Guild*> mGuilds;
- Party *mParty;
-
- bool mIsGM;
-
- int mIp;
-};
-
-#endif
diff --git a/src/playerinfo.cpp b/src/playerinfo.cpp
new file mode 100644
index 00000000..1915822f
--- /dev/null
+++ b/src/playerinfo.cpp
@@ -0,0 +1,400 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "playerinfo.h"
+
+#include "client.h"
+#include "equipment.h"
+#include "event.h"
+#include "inventory.h"
+#include "listener.h"
+#include "log.h"
+
+#include "resources/iteminfo.h"
+
+namespace PlayerInfo {
+
+class PlayerLogic;
+
+PlayerLogic *mListener = 0;
+
+PlayerInfoBackend mData;
+
+Inventory *mInventory = 0;
+Equipment *mEquipment = 0;
+
+bool mStorageCount = 0;
+
+bool mNPCCount = 0;
+bool mNPCPostCount = 0;
+
+BuySellState mBuySellState = BUYSELL_NONE;
+bool mTrading = false;
+
+std::map<int, Special> mSpecials;
+char mSpecialRechargeUpdateNeeded = 0;
+
+int mLevelProgress = 0;
+
+// --- Triggers ---------------------------------------------------------------
+
+void triggerAttr(int id, int old)
+{
+ Mana::Event event(EVENT_UPDATEATTRIBUTE);
+ event.setInt("id", id);
+ event.setInt("oldValue", old);
+ event.setInt("newValue", mData.mAttributes.find(id)->second);
+ event.trigger(CHANNEL_ATTRIBUTES);
+}
+
+void triggerStat(int id, const std::string &changed, int old1, int old2 = 0)
+{
+ StatMap::iterator it = mData.mStats.find(id);
+ Mana::Event event(EVENT_UPDATESTAT);
+ event.setInt("id", id);
+ event.setInt("base", it->second.base);
+ event.setInt("mod", it->second.mod);
+ event.setInt("exp", it->second.exp);
+ event.setInt("expNeeded", it->second.expNeed);
+ event.setString("changed", changed);
+ event.setInt("oldValue1", old1);
+ event.setInt("oldValue2", old2);
+ event.trigger(CHANNEL_ATTRIBUTES);
+}
+
+// --- Attributes -------------------------------------------------------------
+
+int getAttribute(int id)
+{
+ IntMap::const_iterator it = mData.mAttributes.find(id);
+ if (it != mData.mAttributes.end())
+ return it->second;
+ else
+ return 0;
+}
+
+void setAttribute(int id, int value, bool notify)
+{
+ int old = mData.mAttributes[id];
+ mData.mAttributes[id] = value;
+ if (notify)
+ triggerAttr(id, old);
+}
+
+// --- Stats ------------------------------------------------------------------
+
+int getStatBase(int id)
+{
+ StatMap::const_iterator it = mData.mStats.find(id);
+ if (it != mData.mStats.end())
+ return it->second.base;
+ else
+ return 0;
+}
+
+void setStatBase(int id, int value, bool notify)
+{
+ int old = mData.mStats[id].base;
+ mData.mStats[id].base = value;
+ if (notify)
+ triggerStat(id, "base", old);
+}
+
+int getStatMod(int id)
+{
+ StatMap::const_iterator it = mData.mStats.find(id);
+ if (it != mData.mStats.end())
+ return it->second.mod;
+ else
+ return 0;
+}
+
+void setStatMod(int id, int value, bool notify)
+{
+ int old = mData.mStats[id].mod;
+ mData.mStats[id].mod = value;
+ if (notify)
+ triggerStat(id, "mod", old);
+}
+
+int getStatEffective(int id)
+{
+ StatMap::const_iterator it = mData.mStats.find(id);
+ if (it != mData.mStats.end())
+ return it->second.base + it->second.mod;
+ else
+ return 0;
+}
+
+std::pair<int, int> getStatExperience(int id)
+{
+ StatMap::const_iterator it = mData.mStats.find(id);
+ int a, b;
+ if (it != mData.mStats.end())
+ {
+ a = it->second.exp;
+ b = it->second.expNeed;
+ }
+ else
+ {
+ a = 0;
+ b = 0;
+ }
+ return std::pair<int, int>(a, b);
+}
+
+void setStatExperience(int id, int have, int need, bool notify)
+{
+ int oldExp = mData.mStats[id].exp;
+ int oldExpNeed = mData.mStats[id].expNeed;
+ mData.mStats[id].exp = have;
+ mData.mStats[id].expNeed = need;
+ if (notify)
+ triggerStat(id, "exp", oldExp, oldExpNeed);
+}
+
+// --- Inventory / Equipment --------------------------------------------------
+
+Inventory *getInventory()
+{
+ return mInventory;
+}
+
+void clearInventory()
+{
+ mEquipment->clear();
+ mInventory->clear();
+}
+
+void setInventoryItem(int index, int id, int amount)
+{
+ mInventory->setItem(index, id, amount);
+}
+
+Equipment *getEquipment()
+{
+ return mEquipment;
+}
+
+Item *getEquipment(unsigned int slot)
+{
+ return mEquipment->getEquipment(slot);
+}
+
+void setEquipmentBackend(Equipment::Backend *backend)
+{
+ mEquipment->setBackend(backend);
+}
+
+int getStorageCount()
+{
+ return mStorageCount;
+}
+
+void setStorageCount(int count)
+{
+ int old = mStorageCount;
+ mStorageCount = count;
+
+ if (count != old)
+ {
+ Mana::Event event(EVENT_STORAGECOUNT);
+ event.setInt("oldCount", old);
+ event.setInt("newCount", count);
+ event.trigger(CHANNEL_STORAGE);
+ }
+}
+
+// -- NPC ---------------------------------------------------------------------
+
+int getNPCInteractionCount()
+{
+ return mNPCCount;
+}
+
+void setNPCInteractionCount(int count)
+{
+ int old = mNPCCount;
+ mNPCCount = count;
+
+ if (count != old)
+ {
+ Mana::Event event(EVENT_NPCCOUNT);
+ event.setInt("oldCount", old);
+ event.setInt("newCount", count);
+ event.trigger(CHANNEL_NPC);
+ }
+}
+
+int getNPCPostCount()
+{
+ return mNPCPostCount;
+}
+
+void setNPCPostCount(int count)
+{
+ int old = mNPCPostCount;
+ mNPCPostCount = count;
+
+ if (count != old)
+ {
+ Mana::Event event(EVENT_POSTCOUNT);
+ event.setInt("oldCount", old);
+ event.setInt("newCount", count);
+ event.trigger(CHANNEL_NPC);
+ }
+}
+
+// -- Buy/Sell/Trade ----------------------------------------------------------
+
+BuySellState getBuySellState()
+{
+ return mBuySellState;
+}
+
+void setBuySellState(BuySellState buySellState)
+{
+ BuySellState old = mBuySellState;
+ mBuySellState = buySellState;
+
+ if (buySellState != old)
+ {
+ Mana::Event event(EVENT_STATECHANGE);
+ event.setInt("oldState", old);
+ event.setInt("newState", buySellState);
+ event.trigger(CHANNEL_BUYSELL);
+ }
+}
+
+bool isTrading()
+{
+ return mTrading;
+}
+
+void setTrading(bool trading)
+{
+ bool notify = mTrading != trading;
+ mTrading = trading;
+
+ if (notify)
+ {
+ Mana::Event event(EVENT_TRADING);
+ event.setBool("trading", trading);
+ event.trigger(CHANNEL_STATUS);
+ }
+}
+
+// --- Specials ---------------------------------------------------------------
+
+void setSpecialStatus(int id, int current, int max, int recharge)
+{
+ logger->log("SpecialUpdate Skill #%d -- (%d/%d) -> %d", id, current, max,
+ recharge);
+ mSpecials[id].currentMana = current;
+ mSpecials[id].neededMana = max;
+ mSpecials[id].recharge = recharge;
+}
+
+const SpecialsMap &getSpecialStatus()
+{
+ return mSpecials;
+}
+
+// --- Misc -------------------------------------------------------------------
+
+void setBackend(const PlayerInfoBackend &backend)
+{
+ mData = backend;
+}
+
+bool isTalking()
+{
+ return getNPCInteractionCount() || getNPCPostCount()
+ || getBuySellState() != BUYSELL_NONE;
+}
+
+void logic()
+{
+ if ((mSpecialRechargeUpdateNeeded%11) == 0)
+ {
+ mSpecialRechargeUpdateNeeded = 0;
+ for (SpecialsMap::iterator it = mSpecials.begin(),
+ it_end = mSpecials.end(); it != it_end; it++)
+ {
+ it->second.currentMana += it->second.recharge;
+ if (it->second.currentMana > it->second.neededMana)
+ {
+ it->second.currentMana = it->second.neededMana;
+ }
+ }
+ }
+ mSpecialRechargeUpdateNeeded++;
+}
+
+class PlayerLogic : Mana::Listener
+{
+public:
+ PlayerLogic()
+ {
+ listen(CHANNEL_CLIENT);
+ listen(CHANNEL_GAME);
+ }
+
+ void event(Channels channel, const Mana::Event &event)
+ {
+ if (channel == CHANNEL_CLIENT)
+ {
+ if (event.getName() == EVENT_STATECHANGE)
+ {
+ int newState = event.getInt("newState");
+
+ if (newState == STATE_GAME)
+ {
+ if (mInventory == 0)
+ {
+ mInventory = new Inventory(Inventory::INVENTORY);
+ mEquipment = new Equipment();
+ }
+ }
+ }
+ }
+ else if (channel == CHANNEL_GAME)
+ {
+ if (event.getName() == EVENT_DESTRUCTED)
+ {
+ delete mInventory;
+ delete mEquipment;
+
+ mInventory = 0;
+ mEquipment = 0;
+ }
+ }
+ }
+};
+
+void init()
+{
+ if (mListener)
+ return;
+
+ mListener = new PlayerLogic();
+}
+
+} // namespace PlayerInfo
diff --git a/src/playerinfo.h b/src/playerinfo.h
new file mode 100644
index 00000000..43e7da6e
--- /dev/null
+++ b/src/playerinfo.h
@@ -0,0 +1,273 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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 PLAYERINFO_H
+#define PLAYERINFO_H
+
+#include <map>
+#include <string>
+
+/**
+ * Standard attributes for players.
+ */
+enum Attribute
+{
+ LEVEL,
+ HP, MAX_HP,
+ MP, MAX_MP,
+ EXP, EXP_NEEDED,
+ MONEY,
+ TOTAL_WEIGHT, MAX_WEIGHT,
+ SKILL_POINTS,
+ CHAR_POINTS, CORR_POINTS
+};
+
+/**
+ * Stat information storage structure.
+ */
+struct Stat
+{
+ int base;
+ int mod;
+ int exp;
+ int expNeed;
+};
+
+typedef std::map<int, int> IntMap;
+typedef std::map<int, Stat> StatMap;
+
+/**
+ * Backend for core player information.
+ */
+struct PlayerInfoBackend
+{
+ IntMap mAttributes;
+ StatMap mStats;
+};
+
+class Equipment;
+class Inventory;
+class Item;
+
+enum BuySellState
+{
+ BUYSELL_NONE,
+ BUYSELL_CHOOSING,
+ BUYSELL_BUYING,
+ BUYSELL_SELLING
+};
+
+/**
+ * Special information storage structure.
+ */
+struct Special
+{
+ int currentMana;
+ int neededMana;
+ int recharge;
+};
+
+typedef std::map<int, Special> SpecialsMap;
+
+/**
+ * A database like namespace which holds global info about the localplayer
+ *
+ * NOTE: 'bool notify' is used to determine if a event is to be triggered.
+ */
+namespace PlayerInfo
+{
+
+// --- Attributes -------------------------------------------------------------
+
+ /**
+ * Returns the value of the given attribute.
+ */
+ int getAttribute(int id);
+
+ /**
+ * Changes the value of the given attribute.
+ */
+ void setAttribute(int id, int value, bool notify = true);
+
+// --- Stats ------------------------------------------------------------------
+
+ /**
+ * Returns the base value of the given stat.
+ */
+ int getStatBase(int id);
+
+ /**
+ * Changes the base value of the given stat.
+ */
+ void setStatBase(int id, int value, bool notify = true);
+
+ /**
+ * Returns the modifier for the given stat.
+ */
+ int getStatMod(int id);
+
+ /**
+ * Changes the modifier for the given stat.
+ */
+ void setStatMod(int id, int value, bool notify = true);
+
+ /**
+ * Returns the current effective value of the given stat. Effective is base
+ * + mod
+ */
+ int getStatEffective(int id);
+
+ /**
+ * Changes the level of the given stat.
+ */
+ void setStatLevel(int id, int value, bool notify = true);
+
+ /**
+ * Returns the experience of the given stat.
+ */
+ std::pair<int, int> getStatExperience(int id);
+
+ /**
+ * Changes the experience of the given stat.
+ */
+ void setStatExperience(int id, int have, int need, bool notify = true);
+
+// --- Inventory / Equipment / Storage ----------------------------------------
+
+ /**
+ * Returns the player's inventory.
+ */
+ Inventory *getInventory();
+
+ /**
+ * Clears the player's inventory and equipment.
+ */
+ void clearInventory();
+
+ /**
+ * Changes the inventory item at the given slot.
+ */
+ void setInventoryItem(int index, int id, int amount);
+
+ /**
+ * Returns the player's equipment.
+ */
+ Equipment *getEquipment();
+
+ /**
+ * Returns the player's equipment at the given slot.
+ */
+ Item *getEquipment(unsigned int slot);
+
+ /**
+ * Returns the number of currently open storage windows.
+ */
+ int getStorageCount();
+
+ /**
+ * Sets the number of currently open storage windows.
+ */
+ void setStorageCount(int count);
+
+// -- NPC ---------------------------------------------------------------------
+
+ /**
+ * Returns the number of currently open NPC interaction windows.
+ */
+ int getNPCInteractionCount();
+
+ /**
+ * Sets the number of currently open NPC interaction windows.
+ */
+ void setNPCInteractionCount(int count);
+
+ /**
+ * Returns the number of currently open NPC post windows.
+ */
+ int getNPCPostCount();
+
+ /**
+ * Sets the number of currently open NPC post windows.
+ */
+ void setNPCPostCount(int count);
+
+// -- Buy/Sell/Trade ----------------------------------------------------------
+
+ /**
+ * Returns the current buy, sell, or related interaction the player is
+ * involved in.
+ */
+ BuySellState getBuySellState();
+
+ /**
+ * Sets which buy, sell, or related interaction the player is currently
+ * involved in.
+ */
+ void setBuySellState(BuySellState buySellState);
+
+ /**
+ * Returns true if the player is involved in a trade at the moment, false
+ * otherwise.
+ */
+ bool isTrading();
+
+ /**
+ * Sets whether the player is currently involved in trade or not.
+ */
+ void setTrading(bool trading);
+
+// --- Specials ---------------------------------------------------------------
+
+ /**
+ * Changes the status of the given special.
+ */
+ void setSpecialStatus(int id, int current, int max, int recharge);
+
+ /**
+ * Returns the status of the given special.
+ */
+ const SpecialsMap &getSpecialStatus();
+
+// --- Misc -------------------------------------------------------------------
+
+ /**
+ * Changes the internal PlayerInfoBackend reference;
+ */
+ void setBackend(const PlayerInfoBackend &backend);
+
+ /**
+ * Returns true if the player is involved in a NPC interaction, false
+ * otherwise.
+ */
+ bool isTalking();
+
+ /**
+ * Does necessary updates every tick.
+ */
+ void logic();
+
+ /**
+ * Initializes some internals.
+ */
+ void init();
+
+} // namespace PlayerInfo
+
+#endif
diff --git a/src/playerrelations.cpp b/src/playerrelations.cpp
index 14d9eb6b..8b6e6255 100644
--- a/src/playerrelations.cpp
+++ b/src/playerrelations.cpp
@@ -21,11 +21,10 @@
#include <algorithm>
+#include "actorspritemanager.h"
#include "being.h"
-#include "beingmanager.h"
#include "configuration.h"
#include "graphics.h"
-#include "player.h"
#include "playerrelations.h"
#include "utils/dtor.h"
@@ -38,8 +37,6 @@
#define NAME "name" // constant for xml serialisation
#define RELATION "relation" // constant for xml serialisation
-#define IGNORE_EMOTE_TIME 100
-
// (De)serialisation class
class PlayerConfSerialiser : public ConfigurationListManager<std::pair<std::string, PlayerRelation *>,
std::map<std::string, PlayerRelation *> *>
@@ -214,7 +211,7 @@ unsigned int PlayerRelationsManager::checkPermissionSilently(const std::string &
bool PlayerRelationsManager::hasPermission(Being *being, unsigned int flags)
{
- if (being->getType() == Being::PLAYER)
+ if (being->getType() == ActorSprite::PLAYER)
return hasPermission(being->getName(), flags) == flags;
return true;
}
@@ -230,9 +227,10 @@ bool PlayerRelationsManager::hasPermission(const std::string &name,
// execute `ignore' strategy, if possible
if (mIgnoreStrategy)
{
- Being *b = beingManager->findBeingByName(name, Being::PLAYER);
- if (b && b->getType() == Being::PLAYER)
- mIgnoreStrategy->ignore(static_cast<Player *>(b), rejections);
+ Being *b = actorSpriteManager->findBeingByName(name,
+ ActorSprite::PLAYER);
+ if (b && b->getType() == ActorSprite::PLAYER)
+ mIgnoreStrategy->ignore(b, rejections);
}
}
@@ -313,7 +311,7 @@ public:
mShortName = PLAYER_IGNORE_STRATEGY_NOP;
}
- virtual void ignore(Player *player, unsigned int flags)
+ virtual void ignore(Being *being, unsigned int flags)
{
}
};
@@ -327,9 +325,9 @@ public:
mShortName = "dotdotdot";
}
- virtual void ignore(Player *player, unsigned int flags)
+ virtual void ignore(Being *being, unsigned int flags)
{
- player->setSpeech("...", 500);
+ being->setSpeech("...", 500);
}
};
@@ -343,44 +341,17 @@ public:
mShortName = "blinkname";
}
- virtual void ignore(Player *player, unsigned int flags)
- {
- player->flashName(200);
- }
-};
-
-class PIS_emote : public PlayerIgnoreStrategy
-{
-public:
- PIS_emote(int emote_nr, const std::string &description, const std::string &shortname) :
- mEmotion(emote_nr)
+ virtual void ignore(Being *being, unsigned int flags)
{
- mDescription = description;
- mShortName = shortname;
+ being->flashName(200);
}
-
- virtual void ignore(Player *player, unsigned int flags)
- {
- player->setEmote(mEmotion, IGNORE_EMOTE_TIME);
- }
-private:
- int mEmotion;
};
-
-
std::vector<PlayerIgnoreStrategy *> *
PlayerRelationsManager::getPlayerIgnoreStrategies()
{
if (mIgnoreStrategies.size() == 0)
{
- // not initialised yet?
- mIgnoreStrategies.push_back(new PIS_emote(FIRST_IGNORE_EMOTE,
- _("Floating '...' bubble"),
- PLAYER_IGNORE_STRATEGY_EMOTE0));
- mIgnoreStrategies.push_back(new PIS_emote(FIRST_IGNORE_EMOTE + 1,
- _("Floating bubble"),
- "emote1"));
mIgnoreStrategies.push_back(new PIS_nothing());
mIgnoreStrategies.push_back(new PIS_dotdotdot());
mIgnoreStrategies.push_back(new PIS_blinkname());
diff --git a/src/playerrelations.h b/src/playerrelations.h
index 3ff1e5fd..d6ca31ad 100644
--- a/src/playerrelations.h
+++ b/src/playerrelations.h
@@ -28,7 +28,6 @@
#include <vector>
class Being;
-class Player;
struct PlayerRelation
{
@@ -73,7 +72,7 @@ public:
/**
* Handle the ignoring of the indicated action by the indicated player.
*/
- virtual void ignore(Player *player, unsigned int flags) = 0;
+ virtual void ignore(Being *being, unsigned int flags) = 0;
};
class PlayerRelationsListener
diff --git a/src/resources/beinginfo.cpp b/src/resources/beinginfo.cpp
new file mode 100644
index 00000000..e8824391
--- /dev/null
+++ b/src/resources/beinginfo.cpp
@@ -0,0 +1,107 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2004-2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "resources/beinginfo.h"
+
+#include "log.h"
+
+#include "utils/dtor.h"
+#include "utils/gettext.h"
+
+BeingInfo *BeingInfo::Unknown = new BeingInfo;
+
+BeingInfo::BeingInfo():
+ mName(_("unnamed")),
+ mTargetCursorSize(ActorSprite::TC_MEDIUM),
+ mWalkMask(Map::BLOCKMASK_WALL | Map::BLOCKMASK_CHARACTER
+ | Map::BLOCKMASK_MONSTER),
+ mBlockType(Map::BLOCKTYPE_CHARACTER)
+{
+ SpriteDisplay display;
+ display.sprites.push_back(SpriteReference::Empty);
+
+ setDisplay(display);
+}
+
+BeingInfo::~BeingInfo()
+{
+ delete_all(mSounds);
+ delete_all(mAttacks);
+ mSounds.clear();
+}
+
+void BeingInfo::setDisplay(SpriteDisplay display)
+{
+ mDisplay = display;
+}
+
+void BeingInfo::setTargetCursorSize(const std::string &size)
+{
+ if (size == "small")
+ setTargetCursorSize(ActorSprite::TC_SMALL);
+ else if (size == "medium")
+ setTargetCursorSize(ActorSprite::TC_MEDIUM);
+ else if (size == "large")
+ setTargetCursorSize(ActorSprite::TC_LARGE);
+ else
+ {
+ logger->log("Unknown target cursor type \"%s\" for %s - using medium "
+ "sized one", size.c_str(), getName().c_str());
+ setTargetCursorSize(ActorSprite::TC_MEDIUM);
+ }
+}
+
+void BeingInfo::addSound(SoundEvent event, const std::string &filename)
+{
+ if (mSounds.find(event) == mSounds.end())
+ {
+ mSounds[event] = new std::vector<std::string>;
+ }
+
+ mSounds[event]->push_back("sfx/" + filename);
+}
+
+const std::string &BeingInfo::getSound(SoundEvent event) const
+{
+ static std::string empty("");
+
+ SoundEvents::const_iterator i = mSounds.find(event);
+ return (i == mSounds.end()) ? empty :
+ i->second->at(rand() % i->second->size());
+}
+
+const Attack *BeingInfo::getAttack(int type) const
+{
+ static Attack *empty = new Attack(SpriteAction::ATTACK, "", "");
+
+ Attacks::const_iterator i = mAttacks.find(type);
+ return (i == mAttacks.end()) ? empty : (*i).second;
+}
+
+void BeingInfo::addAttack(int id, std::string action,
+ const std::string &particleEffect,
+ const std::string &missileParticle)
+{
+ if (mAttacks[id])
+ delete mAttacks[id];
+
+ mAttacks[id] = new Attack(action, particleEffect, missileParticle);
+}
diff --git a/src/resources/beinginfo.h b/src/resources/beinginfo.h
new file mode 100644
index 00000000..52390976
--- /dev/null
+++ b/src/resources/beinginfo.h
@@ -0,0 +1,132 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2004-2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 The Mana Developers
+ *
+ * This file is part of The Mana 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 BEINGINFO_H
+#define BEINGINFO_H
+
+#include "actorsprite.h"
+
+#include "resources/spritedef.h"
+
+#include <list>
+#include <map>
+#include <string>
+#include <vector>
+
+struct Attack {
+ std::string action;
+ std::string particleEffect;
+ std::string missileParticle;
+
+ Attack(std::string action, std::string particleEffect,
+ std::string missileParticle)
+ {
+ this->action = action;
+ this->particleEffect = particleEffect;
+ this->missileParticle = missileParticle;
+ }
+};
+
+typedef std::map<int, Attack*> Attacks;
+
+enum SoundEvent
+{
+ SOUND_EVENT_HIT,
+ SOUND_EVENT_MISS,
+ SOUND_EVENT_HURT,
+ SOUND_EVENT_DIE
+};
+
+typedef std::map<SoundEvent, std::vector<std::string>* > SoundEvents;
+
+/**
+ * Holds information about a certain type of monster. This includes the name
+ * of the monster, the sprite to display and the sounds the monster makes.
+ *
+ * @see MonsterDB
+ * @see NPCDB
+ */
+class BeingInfo
+{
+ public:
+ static BeingInfo *Unknown;
+
+ BeingInfo();
+
+ ~BeingInfo();
+
+ void setName(const std::string &name) { mName = name; }
+
+ const std::string &getName() const
+ { return mName; }
+
+ void setDisplay(SpriteDisplay display);
+
+ const SpriteDisplay &getDisplay() const
+ { return mDisplay; }
+
+ void setTargetCursorSize(const std::string &size);
+
+ void setTargetCursorSize(ActorSprite::TargetCursorSize targetSize)
+ { mTargetCursorSize = targetSize; }
+
+ ActorSprite::TargetCursorSize getTargetCursorSize() const
+ { return mTargetCursorSize; }
+
+ void addSound(SoundEvent event, const std::string &filename);
+
+ const std::string &getSound(SoundEvent event) const;
+
+ void addAttack(int id, std::string action,
+ const std::string &particleEffect,
+ const std::string &missileParticle);
+
+ const Attack *getAttack(int type) const;
+
+ void setWalkMask(unsigned char mask)
+ { mWalkMask = mask; }
+
+ /**
+ * Gets the way the being is blocked by other objects
+ */
+ unsigned char getWalkMask() const
+ { return mWalkMask; }
+
+ void setBlockType(Map::BlockType blockType)
+ { mBlockType = blockType; }
+
+ Map::BlockType getBlockType() const
+ { return mBlockType; }
+
+ private:
+ SpriteDisplay mDisplay;
+ std::string mName;
+ ActorSprite::TargetCursorSize mTargetCursorSize;
+ SoundEvents mSounds;
+ Attacks mAttacks;
+ unsigned char mWalkMask;
+ Map::BlockType mBlockType;
+};
+
+typedef std::map<int, BeingInfo*> BeingInfos;
+typedef BeingInfos::iterator BeingInfoIterator;
+
+#endif // BEINGINFO_H
diff --git a/src/resources/emotedb.cpp b/src/resources/emotedb.cpp
index c24e760b..c542f7d0 100644
--- a/src/resources/emotedb.cpp
+++ b/src/resources/emotedb.cpp
@@ -20,16 +20,20 @@
#include "resources/emotedb.h"
-#include "animatedsprite.h"
+#include "configuration.h"
#include "log.h"
+#include "imagesprite.h"
+
+#include "resources/resourcemanager.h"
+#include "resources/image.h"
+#include "resources/imageset.h"
#include "utils/xml.h"
-#include "configuration.h"
namespace
{
- EmoteInfos mEmoteInfos;
- EmoteInfo mUnknown;
+ Emotes mEmotes;
+ Emote mUnknown;
bool mLoaded = false;
int mLastEmote = 0;
}
@@ -39,13 +43,12 @@ void EmoteDB::load()
if (mLoaded)
unload();
- mLastEmote = 0;
+ mUnknown.name = "unknown";
+ mUnknown.effect = 0;
+ mUnknown.sprite = new ImageSprite(
+ ResourceManager::getInstance()->getImage("graphics/sprites/error.png"));
- EmoteSprite *unknownSprite = new EmoteSprite;
- unknownSprite->sprite = AnimatedSprite::load(
- paths.getValue("spriteErrorFile", "error.xml") );
- unknownSprite->name = "unknown";
- mUnknown.sprites.push_back(unknownSprite);
+ mLastEmote = 0;
logger->log("Initializing emote database...");
@@ -71,28 +74,46 @@ void EmoteDB::load()
continue;
}
- EmoteInfo *currentInfo = new EmoteInfo;
+ Emote *currentEmote = new Emote;
+
+ currentEmote->name = XML::getProperty(emoteNode, "name", "unknown");
+ currentEmote->effect = XML::getProperty(emoteNode, "effectid", -1);
+
+ if (currentEmote->effect == -1)
+ {
+ logger->log("Emote Database: Warning: Emote with no attached effect!");
+ delete currentEmote;
+ continue;
+ }
+
+ const std::string imageName = XML::getProperty(emoteNode, "image", "");
+ const int width = XML::getProperty(emoteNode, "width", 0);
+ const int height = XML::getProperty(emoteNode, "height", 0);
- for_each_xml_child_node(spriteNode, emoteNode)
+ if (imageName.empty() || !(width > 0) || !(height > 0))
{
- if (xmlStrEqual(spriteNode->name, BAD_CAST "sprite"))
- {
- EmoteSprite *currentSprite = new EmoteSprite;
- std::string file = paths.getValue("sprites",
- "graphics/sprites/")
- + (std::string) (const char*)
- spriteNode->xmlChildrenNode->content;
- currentSprite->sprite = AnimatedSprite::load(file,
- XML::getProperty(spriteNode, "variant", 0));
- currentInfo->sprites.push_back(currentSprite);
- }
- else if (xmlStrEqual(spriteNode->name, BAD_CAST "particlefx"))
- {
- std::string particlefx = (const char*) spriteNode->xmlChildrenNode->content;
- currentInfo->particles.push_back(particlefx);
- }
+ logger->log("Emote Database: Warning: Emote with bad imageset values");
+ delete currentEmote;
+ continue;
}
- mEmoteInfos[id] = currentInfo;
+
+ ImageSet *is = ResourceManager::getInstance()->getImageSet(imageName,
+ width,
+ height);
+ if (!is || !(is->size() > 0))
+ {
+ logger->log("Emote Database: Error loading imageset");
+ delete is;
+ delete currentEmote;
+ continue;
+ }
+ else
+ {
+ // For now we just use the first image in the animation
+ currentEmote->sprite = new ImageSprite(is->get(0));
+ }
+
+ mEmotes[id] = currentEmote;
if (id > mLastEmote)
mLastEmote = id;
}
@@ -102,36 +123,22 @@ void EmoteDB::load()
void EmoteDB::unload()
{
- for (EmoteInfos::const_iterator i = mEmoteInfos.begin();
- i != mEmoteInfos.end();
- i++)
+ Emotes::iterator i;
+ for (i = mEmotes.begin(); i != mEmotes.end(); i++)
{
- while (!i->second->sprites.empty())
- {
- delete i->second->sprites.front()->sprite;
- delete i->second->sprites.front();
- i->second->sprites.pop_front();
- }
delete i->second;
}
- mEmoteInfos.clear();
-
- while (!mUnknown.sprites.empty())
- {
- delete mUnknown.sprites.front()->sprite;
- delete mUnknown.sprites.front();
- mUnknown.sprites.pop_front();
- }
+ mEmotes.clear();
mLoaded = false;
}
-const EmoteInfo *EmoteDB::get(int id)
+const Emote *EmoteDB::get(int id)
{
- EmoteInfos::const_iterator i = mEmoteInfos.find(id);
+ Emotes::const_iterator i = mEmotes.find(id);
- if (i == mEmoteInfos.end())
+ if (i == mEmotes.end())
{
logger->log("EmoteDB: Warning, unknown emote ID %d requested", id);
return &mUnknown;
@@ -142,12 +149,6 @@ const EmoteInfo *EmoteDB::get(int id)
}
}
-const AnimatedSprite *EmoteDB::getAnimation(int id)
-{
- const EmoteInfo *info = get(id);
- return info->sprites.front()->sprite;
-}
-
const int &EmoteDB::getLast()
{
return mLastEmote;
diff --git a/src/resources/emotedb.h b/src/resources/emotedb.h
index 3d80ce8f..a2887a74 100644
--- a/src/resources/emotedb.h
+++ b/src/resources/emotedb.h
@@ -25,21 +25,16 @@
#include <map>
#include <string>
-class AnimatedSprite;
+class ImageSprite;
-struct EmoteSprite
+struct Emote
{
- const AnimatedSprite *sprite;
std::string name;
+ ImageSprite *sprite;
+ int effect;
};
-struct EmoteInfo
-{
- std::list<EmoteSprite*> sprites;
- std::list<std::string> particles;
-};
-
-typedef std::map<int, EmoteInfo*> EmoteInfos;
+typedef std::map<int, Emote*> Emotes;
/**
* Emote information database.
@@ -50,13 +45,11 @@ namespace EmoteDB
void unload();
- const EmoteInfo *get(int id);
-
- const AnimatedSprite *getAnimation(int id);
+ const Emote *get(int id);
const int &getLast();
- typedef EmoteInfos::iterator EmoteInfosIterator;
+ typedef Emotes::iterator EmotesIterator;
}
#endif
diff --git a/src/resources/image.h b/src/resources/image.h
index 1db52ca0..9fdc0997 100644
--- a/src/resources/image.h
+++ b/src/resources/image.h
@@ -22,8 +22,6 @@
#ifndef IMAGE_H
#define IMAGE_H
-#include "main.h"
-
#include "resources/resource.h"
#include <SDL.h>
diff --git a/src/resources/imageset.cpp b/src/resources/imageset.cpp
index bd28cd6e..d33fac32 100644
--- a/src/resources/imageset.cpp
+++ b/src/resources/imageset.cpp
@@ -27,11 +27,11 @@
#include "utils/dtor.h"
-ImageSet::ImageSet(Image *img, int width, int height)
+ImageSet::ImageSet(Image *img, int width, int height, int margin, int spacing)
{
- for (int y = 0; y + height <= img->getHeight(); y += height)
+ for (int y = margin; y + height <= img->getHeight() - margin; y += height + spacing)
{
- for (int x = 0; x + width <= img->getWidth(); x += width)
+ for (int x = margin; x + width <= img->getWidth() - margin; x += width + spacing)
{
mImages.push_back(img->getSubImage(x, y, width, height));
}
diff --git a/src/resources/imageset.h b/src/resources/imageset.h
index 763b9880..3289788f 100644
--- a/src/resources/imageset.h
+++ b/src/resources/imageset.h
@@ -37,7 +37,7 @@ class ImageSet : public Resource
/**
* Cuts the passed image in a grid of sub images.
*/
- ImageSet(Image *img, int w, int h);
+ ImageSet(Image *img, int w, int h, int margin = 0, int spacing = 0);
/**
* Destructor.
diff --git a/src/resources/itemdb.cpp b/src/resources/itemdb.cpp
index cb91e8d3..2271abef 100644
--- a/src/resources/itemdb.cpp
+++ b/src/resources/itemdb.cpp
@@ -23,6 +23,8 @@
#include "log.h"
+#include "net/net.h"
+
#include "resources/iteminfo.h"
#include "resources/resourcemanager.h"
@@ -36,29 +38,7 @@
#include <cassert>
-namespace
-{
- ItemDB::ItemInfos mItemInfos;
- ItemDB::NamedItemInfos mNamedItemInfos;
- ItemInfo *mUnknown;
- bool mLoaded = false;
-}
-
-// Forward declarations
-static void loadSpriteRef(ItemInfo *itemInfo, xmlNodePtr node);
-static void loadSoundRef(ItemInfo *itemInfo, xmlNodePtr node);
-
-static char const *const fields[][2] =
-{
- { "attack", N_("Attack %+d") },
- { "defense", N_("Defense %+d") },
- { "hp", N_("HP %+d") },
- { "mp", N_("MP %+d") }
-};
-
-static std::list<ItemDB::Stat> extraStats;
-
-void ItemDB::setStatsList(const std::list<ItemDB::Stat> &stats)
+void setStatsList(const std::list<ItemStat> &stats)
{
extraStats = stats;
}
@@ -84,119 +64,172 @@ static ItemType itemTypeFromString(const std::string &name, int id = 0)
else return ITEM_UNUSABLE;
}
-static WeaponType weaponTypeFromString(const std::string &name, int id = 0)
+/*
+ * Common itemDB functions
+ */
+
+bool ItemDB::exists(int id)
{
- if (name=="knife") return WPNTYPE_KNIFE;
- else if (name=="sword") return WPNTYPE_SWORD;
- else if (name=="polearm") return WPNTYPE_POLEARM;
- else if (name=="staff") return WPNTYPE_STAFF;
- else if (name=="whip") return WPNTYPE_WHIP;
- else if (name=="bow") return WPNTYPE_BOW;
- else if (name=="shooting") return WPNTYPE_SHOOTING;
- else if (name=="mace") return WPNTYPE_MACE;
- else if (name=="axe") return WPNTYPE_AXE;
- else if (name=="thrown") return WPNTYPE_THROWN;
-
- else return WPNTYPE_NONE;
+ assert(mLoaded);
+
+ ItemInfos::const_iterator i = mItemInfos.find(id);
+
+ return i != mItemInfos.end();
}
-static std::string normalized(const std::string &name)
+const ItemInfo &ItemDB::get(int id)
{
- std::string normalized = name;
- return toLower(trim(normalized));;
+ assert(mLoaded);
+
+ ItemInfos::const_iterator i = mItemInfos.find(id);
+
+ if (i == mItemInfos.end())
+ {
+ logger->log("ItemDB: Warning, unknown item ID# %d", id);
+ return *mUnknown;
+ }
+
+ return *(i->second);
}
-void ItemDB::load()
+const ItemInfo &ItemDB::get(const std::string &name)
{
- if (mLoaded)
- unload();
+ assert(mLoaded);
- logger->log("Initializing item database...");
+ NamedItemInfos::const_iterator i = mNamedItemInfos.find(normalize(name));
- mUnknown = new ItemInfo;
- mUnknown->setName(_("Unknown item"));
- mUnknown->setImageName("");
- std::string errFile = paths.getValue("spriteErrorFile", "error.xml");
- mUnknown->setSprite(errFile, GENDER_MALE);
- mUnknown->setSprite(errFile, GENDER_FEMALE);
+ if (i == mNamedItemInfos.end())
+ {
+ if (!name.empty())
+ {
+ logger->log("ItemDB: Warning, unknown item name \"%s\"",
+ name.c_str());
+ }
+ return *mUnknown;
+ }
- XML::Document doc("items.xml");
- xmlNodePtr rootNode = doc.rootNode();
+ return *(i->second);
+}
- if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "items"))
+void ItemDB::loadSpriteRef(ItemInfo *itemInfo, xmlNodePtr node)
+{
+ std::string gender = XML::getProperty(node, "gender", "unisex");
+ std::string filename = (const char*) node->xmlChildrenNode->content;
+
+ if (gender == "male" || gender == "unisex")
+ {
+ itemInfo->setSprite(filename, GENDER_MALE);
+ }
+ if (gender == "female" || gender == "unisex")
+ {
+ itemInfo->setSprite(filename, GENDER_FEMALE);
+ }
+}
+
+void ItemDB::loadSoundRef(ItemInfo *itemInfo, xmlNodePtr node)
+{
+ std::string event = XML::getProperty(node, "event", "");
+ std::string filename = (const char*) node->xmlChildrenNode->content;
+
+ if (event == "hit")
{
- logger->error("ItemDB: Error while loading items.xml!");
+ itemInfo->addSound(EQUIP_EVENT_HIT, filename);
}
+ else if (event == "strike")
+ {
+ itemInfo->addSound(EQUIP_EVENT_STRIKE, filename);
+ }
+ else
+ {
+ logger->log("ItemDB: Ignoring unknown sound event '%s'",
+ event.c_str());
+ }
+}
- for_each_xml_child_node(node, rootNode)
+void ItemDB::loadFloorSprite(SpriteDisplay *display, xmlNodePtr floorNode)
+{
+ for_each_xml_child_node(spriteNode, floorNode)
{
+ if (xmlStrEqual(spriteNode->name, BAD_CAST "sprite"))
+ {
+ SpriteReference *currentSprite = new SpriteReference;
+ currentSprite->sprite = (const char*)spriteNode->xmlChildrenNode->content;
+ currentSprite->variant = XML::getProperty(spriteNode, "variant", 0);
+ display->sprites.push_back(currentSprite);
+ }
+ else if (xmlStrEqual(spriteNode->name, BAD_CAST "particlefx"))
+ {
+ std::string particlefx = (const char*)spriteNode->xmlChildrenNode->content;
+ display->particles.push_back(particlefx);
+ }
+ }
+}
+
+void ItemDB::unload()
+{
+ logger->log("Unloading item database...");
+
+ delete mUnknown;
+ mUnknown = NULL;
+
+ delete_all(mItemInfos);
+ mItemInfos.clear();
+ mNamedItemInfos.clear();
+ mLoaded = false;
+}
+
+void ItemDB::loadCommonRef(ItemInfo *itemInfo, xmlNodePtr node)
+{
if (!xmlStrEqual(node->name, BAD_CAST "item"))
- continue;
+ return;
int id = XML::getProperty(node, "id", 0);
- if (id == 0)
+ if (!id)
{
- logger->log("ItemDB: Invalid or missing item ID in items.xml!");
- continue;
+ logger->log("ItemDB: Invalid or missing item Id in "
+ ITEMS_DB_FILE "!");
+ return;
}
else if (mItemInfos.find(id) != mItemInfos.end())
- {
- logger->log("ItemDB: Redefinition of item ID %d", id);
- }
+ logger->log("ItemDB: Redefinition of item Id %d", id);
- std::string typeStr = XML::getProperty(node, "type", "other");
- int weight = XML::getProperty(node, "weight", 0);
int view = XML::getProperty(node, "view", 0);
std::string name = XML::getProperty(node, "name", "");
std::string image = XML::getProperty(node, "image", "");
std::string description = XML::getProperty(node, "description", "");
- int weaponType = weaponTypeFromString(XML::getProperty(node, "weapon-type", ""));
+ std::string attackAction = XML::getProperty(node, "attack-action", "");
int attackRange = XML::getProperty(node, "attack-range", 0);
std::string missileParticle = XML::getProperty(node, "missile-particle", "");
- ItemInfo *itemInfo = new ItemInfo;
- itemInfo->setId(id);
- itemInfo->setImageName(image);
- itemInfo->setName(name.empty() ? _("unnamed") : name);
- itemInfo->setDescription(description);
- itemInfo->setType(itemTypeFromString(typeStr));
- itemInfo->setView(view);
- itemInfo->setWeight(weight);
- itemInfo->setWeaponType(weaponType);
- itemInfo->setAttackRange(attackRange);
- itemInfo->setMissileParticle(missileParticle);
+ // Load Ta Item Type
+ std::string typeStr = XML::getProperty(node, "type", "other");
+ itemInfo->mType = itemTypeFromString(typeStr);
- std::string effect;
- for (int i = 0; i < int(sizeof(fields) / sizeof(fields[0])); ++i)
- {
- int value = XML::getProperty(node, fields[i][0], 0);
- if (!value) continue;
- if (!effect.empty()) effect += " / ";
- effect += strprintf(gettext(fields[i][1]), value);
- }
- for (std::list<Stat>::iterator it = extraStats.begin();
- it != extraStats.end(); it++)
- {
- int value = XML::getProperty(node, it->tag.c_str(), 0);
- if (!value) continue;
- if (!effect.empty()) effect += " / ";
- effect += strprintf(it->format.c_str(), value);
- }
- std::string temp = XML::getProperty(node, "effect", "");
- if (!effect.empty() && !temp.empty())
- effect += " / ";
- effect += temp;
- itemInfo->setEffect(effect);
+ int weight = XML::getProperty(node, "weight", 0);
+ itemInfo->mWeight = weight > 0 ? weight : 0;
+
+ SpriteDisplay display;
+ display.image = image;
+
+ itemInfo->mId = id;
+ itemInfo->mName = name;
+ itemInfo->mDescription = description;
+ itemInfo->mView = view;
+ itemInfo->mWeight = weight;
+ itemInfo->setAttackAction(attackAction);
+ itemInfo->mAttackRange = attackRange;
+ itemInfo->setMissileParticle(missileParticle);
+ // Load <sprite>, <sound>, and <floor>
for_each_xml_child_node(itemChild, node)
{
if (xmlStrEqual(itemChild->name, BAD_CAST "sprite"))
{
std::string attackParticle = XML::getProperty(
itemChild, "particle-effect", "");
- itemInfo->setParticleEffect(attackParticle);
+ itemInfo->mParticle = attackParticle;
loadSpriteRef(itemInfo, itemChild);
}
@@ -204,136 +237,306 @@ void ItemDB::load()
{
loadSoundRef(itemInfo, itemChild);
}
- }
-
- mItemInfos[id] = itemInfo;
- if (!name.empty())
- {
- std::string temp = normalized(name);
-
- NamedItemInfos::const_iterator itr = mNamedItemInfos.find(temp);
- if (itr == mNamedItemInfos.end())
- {
- mNamedItemInfos[temp] = itemInfo;
- }
- else
+ else if (xmlStrEqual(itemChild->name, BAD_CAST "floor"))
{
- logger->log("ItemDB: Duplicate name of item found item %d", id);
+ loadFloorSprite(&display, itemChild);
}
+
}
- if (weaponType > 0)
- if (attackRange == 0)
- logger->log("ItemDB: Missing attack range from weapon %i!", id);
+ // If the item has got a floor image, we bind the good reference.
+ itemInfo->mDisplay = display;
+}
-#define CHECK_PARAM(param, error_value) \
- if (param == error_value) \
- logger->log("ItemDB: Missing " #param " attribute for item %i!",id)
+void ItemDB::addItem(ItemInfo *itemInfo)
+{
+ std::string itemName = itemInfo->mName;
+ itemInfo->mName = itemName.empty() ? _("unnamed") : itemName;
+ mItemInfos[itemInfo->mId] = itemInfo;
+ if (!itemName.empty())
+ {
+ std::string temp = normalize(itemName);
- if (id >= 0)
- {
- CHECK_PARAM(name, "");
- CHECK_PARAM(description, "");
- CHECK_PARAM(image, "");
- }
- // CHECK_PARAM(effect, "");
- // CHECK_PARAM(type, 0);
- // CHECK_PARAM(weight, 0);
- // CHECK_PARAM(slot, 0);
+ NamedItemInfos::const_iterator itr = mNamedItemInfos.find(temp);
+ if (itr == mNamedItemInfos.end())
+ mNamedItemInfos[temp] = itemInfo;
+ else
+ logger->log("ItemDB: Duplicate name (%s) for item id %d found.",
+ temp.c_str(), itemInfo->mId);
-#undef CHECK_PARAM
}
-
- mLoaded = true;
}
-void ItemDB::unload()
+template <class T>
+static void checkParameter(int id, const T param, const T errorValue)
{
- logger->log("Unloading item database...");
+ if (param == errorValue)
+ {
+ std::stringstream errMsg;
+ errMsg << "ItemDB: Missing " << param << " attribute for item id "
+ << id << "!";
+ logger->log(errMsg.str().c_str());
+ }
+}
- delete mUnknown;
- mUnknown = NULL;
+void ItemDB::checkItemInfo(ItemInfo* itemInfo)
+{
+ int id = itemInfo->mId;
+ if (!itemInfo->getAttackAction().empty())
+ if (itemInfo->mAttackRange == 0)
+ logger->log("ItemDB: Missing attack range from weapon %i!", id);
- delete_all(mItemInfos);
- mItemInfos.clear();
- mNamedItemInfos.clear();
- mLoaded = false;
+ if (id >= 0)
+ {
+ checkParameter(id, itemInfo->mName, std::string(""));
+ checkParameter(id, itemInfo->mDescription, std::string(""));
+ checkParameter(id, itemInfo->mDisplay.image, std::string(""));
+ checkParameter(id, itemInfo->mWeight, 0);
+ }
}
-bool ItemDB::exists(int id)
-{
- assert(mLoaded);
+namespace TmwAthena {
- ItemInfos::const_iterator i = mItemInfos.find(id);
+// Description fields used by TaItemDB *itemInfo->mEffect.
- return i != mItemInfos.end();
-}
+static char const *const fields[][2] =
+{
+ { "attack", N_("Attack %+d") },
+ { "defense", N_("Defense %+d") },
+ { "hp", N_("HP %+d") },
+ { "mp", N_("MP %+d") }
+};
-const ItemInfo &ItemDB::get(int id)
+void TaItemDB::load()
{
- assert(mLoaded);
+ if (mLoaded)
+ unload();
- ItemInfos::const_iterator i = mItemInfos.find(id);
+ logger->log("Initializing TmwAthena item database...");
- if (i == mItemInfos.end())
+ mUnknown = new TaItemInfo;
+ mUnknown->mName = _("Unknown item");
+ mUnknown->mDisplay = SpriteDisplay();
+ std::string errFile = paths.getStringValue("spriteErrorFile");
+ mUnknown->setSprite(errFile, GENDER_MALE);
+ mUnknown->setSprite(errFile, GENDER_FEMALE);
+
+ XML::Document doc(ITEMS_DB_FILE);
+ xmlNodePtr rootNode = doc.rootNode();
+
+ if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "items"))
{
- logger->log("ItemDB: Warning, unknown item ID# %d", id);
- return *mUnknown;
+ logger->error("ItemDB: Error while loading " ITEMS_DB_FILE "!");
+ return;
}
- return *(i->second);
-}
+ for_each_xml_child_node(node, rootNode)
+ {
+ TaItemInfo *itemInfo = new TaItemInfo;
-const ItemInfo &ItemDB::get(const std::string &name)
-{
- assert(mLoaded);
+ loadCommonRef(itemInfo, node);
- NamedItemInfos::const_iterator i = mNamedItemInfos.find(normalized(name));
+ // Everything not unusable or usable is equippable by the Ta type system.
+ itemInfo->mEquippable = itemInfo->mType != ITEM_UNUSABLE
+ && itemInfo->mType != ITEM_USABLE;
- if (i == mNamedItemInfos.end())
- {
- if (!name.empty())
+ // Load nano description
+ std::vector<std::string> effect;
+ for (int i = 0; i < int(sizeof(fields) / sizeof(fields[0])); ++i)
{
- logger->log("ItemDB: Warning, unknown item name \"%s\"",
- name.c_str());
+ int value = XML::getProperty(node, fields[i][0], 0);
+ if (!value)
+ continue;
+ effect.push_back(strprintf(gettext(fields[i][1]), value));
}
- return *mUnknown;
+ for (std::list<ItemStat>::iterator it = extraStats.begin();
+ it != extraStats.end(); it++)
+ {
+ int value = XML::getProperty(node, it->mTag.c_str(), 0);
+ if (!value)
+ continue;
+ effect.push_back(strprintf(it->mFormat.c_str(), value));
+ }
+ std::string temp = XML::getProperty(node, "effect", "");
+ if (!temp.empty())
+ effect.push_back(temp);
+
+ itemInfo->mEffect = effect;
+
+ checkItemInfo(itemInfo);
+
+ addItem(itemInfo);
}
- return *(i->second);
+ checkHairWeaponsRacesSpecialIds();
+
+ mLoaded = true;
}
-void loadSpriteRef(ItemInfo *itemInfo, xmlNodePtr node)
+void TaItemDB::checkItemInfo(ItemInfo* itemInfo)
{
- std::string gender = XML::getProperty(node, "gender", "unisex");
- std::string filename = (const char*) node->xmlChildrenNode->content;
+ ItemDB::checkItemInfo(itemInfo);
- if (gender == "male" || gender == "unisex")
- {
- itemInfo->setSprite(filename, GENDER_MALE);
- }
- if (gender == "female" || gender == "unisex")
+ // Check for unusable items?
+ //checkParameter(id, itemInfo->mType, 0);
+}
+
+}; // namespace TmwAthena
+
+namespace ManaServ {
+
+static std::map<std::string, const char* > triggerTable;
+
+static void initTriggerTable()
+{
+ if (triggerTable.empty())
{
- itemInfo->setSprite(filename, GENDER_FEMALE);
+ // FIXME: This should ideally be softcoded via XML or similar.
+ logger->log("Initializing ManaServ trigger table...");
+ triggerTable["existence"] = " when it is in the inventory";
+ triggerTable["activation"] = " upon activation";
+ triggerTable["equip"] = " upon successful equip";
+ triggerTable["leave-inventory"] = " when it leaves the inventory";
+ triggerTable["unequip"] = " when it is unequipped";
+ triggerTable["equip-change"] = " when it changes the way it is equipped";
}
}
-void loadSoundRef(ItemInfo *itemInfo, xmlNodePtr node)
+void ManaServItemDB::load()
{
- std::string event = XML::getProperty(node, "event", "");
- std::string filename = (const char*) node->xmlChildrenNode->content;
+ if (mLoaded)
+ unload();
- if (event == "hit")
- {
- itemInfo->addSound(EQUIP_EVENT_HIT, filename);
- }
- else if (event == "strike")
+ // Initialize the trigger table for effect descriptions
+ initTriggerTable();
+
+ logger->log("Initializing ManaServ item database...");
+
+ mUnknown = new ManaServItemInfo;
+ mUnknown->mName = _("Unknown item");
+ mUnknown->mDisplay = SpriteDisplay();
+ std::string errFile = paths.getStringValue("spriteErrorFile");
+ mUnknown->setSprite(errFile, GENDER_MALE);
+ mUnknown->setSprite(errFile, GENDER_FEMALE);
+
+ XML::Document doc(ITEMS_DB_FILE);
+ xmlNodePtr rootNode = doc.rootNode();
+
+ if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "items"))
{
- itemInfo->addSound(EQUIP_EVENT_STRIKE, filename);
+ logger->log("ItemDB: Error while loading " ITEMS_DB_FILE "!");
+ return;
}
- else
+
+ for_each_xml_child_node(node, rootNode)
{
- logger->log("ItemDB: Ignoring unknown sound event '%s'",
- event.c_str());
+ ManaServItemInfo *itemInfo = new ManaServItemInfo;
+
+ loadCommonRef(itemInfo, node);
+
+ // We default eqippable and activatable to false as their actual value will be set
+ // within the <equip> and <effect> sub-nodes..
+ itemInfo->mActivatable = false;
+ itemInfo->mEquippable = false;
+
+ // Load <equip>, and <effect> sub nodes.
+ std::vector<std::string> effect;
+ for_each_xml_child_node(itemChild, node)
+ {
+ if (xmlStrEqual(itemChild->name, BAD_CAST "equip"))
+ {
+ // The fact that there is a way to equip is enough.
+ // Discard any details, but mark the item as equippable.
+ itemInfo->mEquippable = true;
+ }
+ else if (xmlStrEqual(itemChild->name, BAD_CAST "effect"))
+ {
+ std::string trigger = XML::getProperty(
+ itemChild, "trigger", "");
+ if (trigger.empty())
+ {
+ logger->log("Found empty trigger effect label, skipping.");
+ continue;
+ }
+
+ if (trigger == "activation")
+ itemInfo->mActivatable = true;
+
+ std::map<std::string, const char* >::const_iterator triggerLabel =
+ triggerTable.find(trigger);
+ if (triggerLabel == triggerTable.end())
+ {
+ logger->log("Warning: unknown trigger %s in item %d!",
+ trigger.c_str(), itemInfo->mId);
+ continue;
+ }
+
+ for_each_xml_child_node(effectChild, itemChild)
+ {
+ if (xmlStrEqual(effectChild->name, BAD_CAST "modifier"))
+ {
+ std::string attribute = XML::getProperty(
+ effectChild, "attribute", "");
+ double value = XML::getFloatProperty(
+ effectChild, "value", 0.0);
+ int duration = XML::getProperty(
+ effectChild, "duration", 0);
+ if (attribute.empty() || !value)
+ {
+ logger->log("Warning: incomplete modifier definition, skipping.");
+ continue;
+ }
+ std::list<ItemStat>::const_iterator
+ it = extraStats.begin(),
+ it_end = extraStats.end();
+ while (it != it_end && !(*it == attribute))
+ ++it;
+ if (it == extraStats.end())
+ {
+ logger->log("Warning: unknown modifier tag %s, skipping.", attribute.c_str());
+ continue;
+ }
+ effect.push_back(
+ strprintf(strprintf(
+ duration ?
+ strprintf("%%s%%s. This effect lasts %d ticks.", duration).c_str()
+ : "%s%s.", it->mFormat.c_str(), triggerLabel->second).c_str(), value));
+ }
+ else if (xmlStrEqual(effectChild->name, BAD_CAST "modifier"))
+ effect.push_back(strprintf("Provides an autoattack%s.",
+ triggerLabel->second));
+ else if (xmlStrEqual(effectChild->name, BAD_CAST "consumes"))
+ effect.push_back(strprintf("This will be consumed%s.",
+ triggerLabel->second));
+ else if (xmlStrEqual(effectChild->name, BAD_CAST "label"))
+ effect.push_back(
+ (const char*)effectChild->xmlChildrenNode->content);
+ }
+ }
+ // Set Item Type based on subnodes info
+ // TODO: Improve it once the itemTypes are loaded through xml
+ itemInfo->mType = ITEM_UNUSABLE;
+ if (itemInfo->mActivatable)
+ itemInfo->mType = ITEM_USABLE;
+ else if (itemInfo->mEquippable)
+ itemInfo->mType = ITEM_EQUIPMENT_TORSO;
+ } // end for_each_xml_child_node(itemChild, node)
+
+ itemInfo->mEffect = effect;
+
+ checkItemInfo(itemInfo);
+
+ addItem(itemInfo);
}
+
+ mLoaded = true;
+}
+
+void ManaServItemDB::checkItemInfo(ItemInfo* itemInfo)
+{
+ ItemDB::checkItemInfo(itemInfo);
+
+ // Add specific Manaserv checks here
}
+
+}; // namespace ManaServ
diff --git a/src/resources/itemdb.h b/src/resources/itemdb.h
index be023073..e80f2cd0 100644
--- a/src/resources/itemdb.h
+++ b/src/resources/itemdb.h
@@ -26,45 +26,185 @@
#include <map>
#include <string>
+#include "utils/xml.h"
+
+#define ITEMS_DB_FILE "items.xml"
+
class ItemInfo;
+class SpriteDisplay;
+
+// Used to make the compiler uderstand the iteminfo friendship.
+namespace TmwAthena { class TaItemDB; };
+namespace ManaServ { class ManaServItemDB; };
/**
- * Item information database.
+ * Nano-description functions
*/
-namespace ItemDB
+class ItemStat
{
- /**
- * Loads the item data from <code>items.xml</code>.
- */
- void load();
+ friend class ItemDB;
+ friend class TmwAthena::TaItemDB;
+ friend class ManaServ::ManaServItemDB;
- /**
- * Frees item data.
- */
- void unload();
+ public:
+ ItemStat(const std::string &tag,
+ const std::string &format):
+ mTag(tag), mFormat(format) {}
- bool exists(int id);
+ bool operator ==(std::string &name) const
+ { return mTag == name; }
- const ItemInfo &get(int id);
- const ItemInfo &get(const std::string &name);
+ private:
+ std::string mTag;
+ std::string mFormat;
+};
- struct Stat
- {
- Stat(const std::string &tag,
- const std::string &format):
- tag(tag),
- format(format)
+// Used to set nano-description
+static std::list<ItemStat> extraStats;
+void setStatsList(const std::list<ItemStat> &stats);
+
+/**
+ * Item information database generic definition.
+ */
+class ItemDB
+{
+ public:
+ ItemDB() :
+ mUnknown(0),
+ mLoaded(false)
+ {}
+
+ ~ItemDB()
+ {}
+
+ /**
+ * Loads the item data from <code>items.xml</code>.
+ */
+ virtual void load() = 0;
+
+ /**
+ * Frees item data.
+ */
+ virtual void unload();
+
+ /**
+ * Tells whether the item database is loaded.
+ */
+ bool isLoaded() const
+ { return mLoaded; }
+
+ bool exists(int id);
+
+ const ItemInfo &get(int id);
+ const ItemInfo &get(const std::string &name);
+
+ protected:
+ /**
+ * Permits to load item definitions which are common
+ * for each protocols to avoid code duplication.
+ */
+ void loadCommonRef(ItemInfo *itemInfo, xmlNodePtr node);
+
+ /**
+ * Checks the items parameters consistency.
+ */
+ virtual void checkItemInfo(ItemInfo* itemInfo);
+
+ /**
+ * Register the item to mItemInfos and mNamedItemsInfos
+ */
+ void addItem(ItemInfo *itemInfo);
+
+ // Default unknown reference
+ ItemInfo *mUnknown;
+
+ bool mLoaded;
+
+ private:
+ /**
+ * Loads the sprite references contained in a <sprite> tag.
+ */
+ void loadSpriteRef(ItemInfo *itemInfo, xmlNodePtr node);
+
+ /**
+ * Loads the sound references contained in a <sound> tag.
+ */
+ void loadSoundRef(ItemInfo *itemInfo, xmlNodePtr node);
+
+ /**
+ * Loads the floor item references contained in a <floor> tag.
+ */
+ void loadFloorSprite(SpriteDisplay *display, xmlNodePtr node);
+
+ // Items database
+ typedef std::map<int, ItemInfo*> ItemInfos;
+ typedef std::map<std::string, ItemInfo*> NamedItemInfos;
+
+ ItemInfos mItemInfos;
+ NamedItemInfos mNamedItemInfos;
+};
+
+namespace TmwAthena {
+
+class TaItemInfo;
+
+/**
+ * Item information database TmwAthena specific class.
+ */
+class TaItemDB: public ItemDB
+{
+ public:
+ TaItemDB() : ItemDB()
+ { load(); }
+
+ ~TaItemDB()
+ { unload(); }
+
+ /**
+ * Loads the item data from <code>items.xml</code>.
+ */
+ void load();
+
+ private:
+ /**
+ * Check items id specific hard limits and log errors found.
+ * TODO: Do it.
+ */
+ void checkHairWeaponsRacesSpecialIds()
{}
- std::string tag;
- std::string format;
- };
+ void checkItemInfo(ItemInfo* itemInfo);
+};
+
+}; // namespace TmwAthena
+
+namespace ManaServ {
+
+class ManaServItemInfo;
+
+/**
+ * Item information database TmwAthena specific class.
+ */
+class ManaServItemDB: public ItemDB
+{
+ public:
+ ManaServItemDB() : ItemDB()
+ { load(); }
+
+ ~ManaServItemDB()
+ { unload(); }
+
+ /**
+ * Loads the item data from <code>items.xml</code>.
+ */
+ void load();
+
+ private:
+ void checkItemInfo(ItemInfo* itemInfo);
+};
- void setStatsList(const std::list<Stat> &stats);
+}; // namespace ManaServ
- // Items database
- typedef std::map<int, ItemInfo*> ItemInfos;
- typedef std::map<std::string, ItemInfo*> NamedItemInfos;
-}
+extern ItemDB *itemDb;
#endif
diff --git a/src/resources/iteminfo.cpp b/src/resources/iteminfo.cpp
index 4b1d82ea..32331e35 100644
--- a/src/resources/iteminfo.cpp
+++ b/src/resources/iteminfo.cpp
@@ -29,7 +29,7 @@ const std::string &ItemInfo::getSprite(Gender gender) const
if (mView)
{
// Forward the request to the item defining how to view this item
- return ItemDB::get(mView).getSprite(gender);
+ return itemDb->get(mView).getSprite(gender);
}
else
{
@@ -41,35 +41,17 @@ const std::string &ItemInfo::getSprite(Gender gender) const
}
}
-void ItemInfo::setWeaponType(int type)
+void ItemInfo::setAttackAction(std::string attackAction)
{
- // See server item.hpp file for type values.
- switch (type)
- {
- case WPNTYPE_NONE:
- mAttackType = ACTION_DEFAULT;
- break;
- case WPNTYPE_KNIFE:
- case WPNTYPE_SWORD:
- mAttackType = ACTION_ATTACK_STAB;
- break;
- case WPNTYPE_THROWN:
- mAttackType = ACTION_ATTACK_THROW;
- break;
- case WPNTYPE_BOW:
- mAttackType = ACTION_ATTACK_BOW;
- break;
- case WPNTYPE_POLEARM:
- mAttackType = ACTION_ATTACK_SWING;
- break;
- default:
- mAttackType = ACTION_ATTACK;
- }
+ if (attackAction.empty())
+ mAttackAction = SpriteAction::ATTACK; // (Equal to unarmed animation)
+ else
+ mAttackAction = attackAction;
}
void ItemInfo::addSound(EquipmentSoundEvent event, const std::string &filename)
{
- mSounds[event].push_back(paths.getValue("sfx", "sfx/") + filename);
+ mSounds[event].push_back(paths.getStringValue("sfx") + filename);
}
const std::string &ItemInfo::getSound(EquipmentSoundEvent event) const
diff --git a/src/resources/iteminfo.h b/src/resources/iteminfo.h
index a7c0ddca..50633f71 100644
--- a/src/resources/iteminfo.h
+++ b/src/resources/iteminfo.h
@@ -22,7 +22,7 @@
#ifndef ITEMINFO_H
#define ITEMINFO_H
-#include "player.h"
+#include "being.h"
#include "resources/spritedef.h"
@@ -36,38 +36,9 @@ enum EquipmentSoundEvent
EQUIP_EVENT_HIT
};
-enum EquipmentSlot
-{
- // Equipment rules:
- // 1 Brest equipment
- EQUIP_TORSO_SLOT = 0,
- // 1 arms equipment
- EQUIP_ARMS_SLOT = 1,
- // 1 head equipment
- EQUIP_HEAD_SLOT = 2,
- // 1 legs equipment
- EQUIP_LEGS_SLOT = 3,
- // 1 feet equipment
- EQUIP_FEET_SLOT = 4,
- // 2 rings
- EQUIP_RING1_SLOT = 5,
- EQUIP_RING2_SLOT = 6,
- // 1 necklace
- EQUIP_NECKLACE_SLOT = 7,
- // Fight:
- // 2 one-handed weapons
- // or 1 two-handed weapon
- // or 1 one-handed weapon + 1 shield.
- EQUIP_FIGHT1_SLOT = 8,
- EQUIP_FIGHT2_SLOT = 9,
- // Projectile:
- // this item does not amount to one, it only indicates the chosen projectile.
- EQUIP_PROJECTILE_SLOT = 10
-};
-
-
/**
* Enumeration of available Item types.
+ * TODO: Dynamise this using an xml.
*/
enum ItemType
{
@@ -89,30 +60,21 @@ enum ItemType
ITEM_SPRITE_HAIR // 15
};
-/**
- * Enumeration of available weapon's types.
- */
-enum WeaponType
-{
- WPNTYPE_NONE = 0,
- WPNTYPE_KNIFE,
- WPNTYPE_SWORD,
- WPNTYPE_POLEARM,
- WPNTYPE_STAFF,
- WPNTYPE_WHIP,
- WPNTYPE_BOW,
- WPNTYPE_SHOOTING,
- WPNTYPE_MACE,
- WPNTYPE_AXE,
- WPNTYPE_THROWN
-};
+// Used to make the compiler uderstand the iteminfo friendship.
+namespace TmwAthena { class TaItemDB; };
+namespace ManaServ { class ManaServItemDB; };
/**
- * Defines a class for storing item infos. This includes information used when
- * the item is equipped.
+ * Defines a class for storing generic item infos.
+ * Specialized version for one or another protocol are defined below.
*/
class ItemInfo
{
+ friend class ItemDB;
+ friend void loadSpriteRef(ItemInfo *itemInfo, xmlNodePtr node);
+ friend class TmwAthena::TaItemDB;
+ friend class ManaServ::ManaServItemDB;
+
public:
/**
* Constructor.
@@ -122,98 +84,86 @@ class ItemInfo
mWeight(0),
mView(0),
mId(0),
- mAttackType(ACTION_DEFAULT)
+ mAttackAction(SpriteAction::INVALID)
{
}
- void setId(int id)
- { mId = id; }
-
int getId() const
{ return mId; }
- void setName(const std::string &name)
- { mName = name; }
-
const std::string &getName() const
{ return mName; }
- void setParticleEffect(const std::string &particleEffect)
- { mParticle = particleEffect; }
-
- std::string getParticleEffect() const { return mParticle; }
+ std::string getParticleEffect() const
+ { return mParticle; }
- void setImageName(const std::string &imageName)
- { mImageName = imageName; }
-
- const std::string &getImageName() const
- { return mImageName; }
-
- void setDescription(const std::string &description)
- { mDescription = description; }
+ const SpriteDisplay &getDisplay() const
+ { return mDisplay; }
const std::string &getDescription() const
{ return mDescription; }
- void setEffect(const std::string &effect)
- { mEffect = effect; }
-
- const std::string &getEffect() const { return mEffect; }
-
- void setType(ItemType type)
- { mType = type; }
-
- ItemType getType() const
- { return mType; }
-
- void setWeight(int weight)
- { mWeight = weight; }
+ const std::vector<std::string> &getEffect() const
+ { return mEffect; }
int getWeight() const
{ return mWeight; }
- void setView(int view)
- { mView = view; }
-
- void setSprite(const std::string &animationFile, Gender gender)
- { mAnimationFiles[gender] = animationFile; }
-
const std::string &getSprite(Gender gender) const;
- void setWeaponType(int);
+ void setAttackAction(std::string attackAction);
// Handlers for seting and getting the string used for particles when attacking
- void setMissileParticle(std::string s) { mMissileParticle = s; }
+ void setMissileParticle(std::string s)
+ { mMissileParticle = s; }
- std::string getMissileParticle() const { return mMissileParticle; }
+ std::string getMissileParticle() const
+ { return mMissileParticle; }
- SpriteAction getAttackType() const
- { return mAttackType; }
+ std::string getAttackAction() const
+ { return mAttackAction; }
int getAttackRange() const
{ return mAttackRange; }
- void setAttackRange(int r)
- { mAttackRange = r; }
+ const std::string &getSound(EquipmentSoundEvent event) const;
- void addSound(EquipmentSoundEvent event, const std::string &filename);
+ bool getEquippable() const
+ { return mEquippable; }
- const std::string &getSound(EquipmentSoundEvent event) const;
+ bool getActivatable() const
+ { return mActivatable; }
+
+ ItemType getItemType() const
+ { return mType; }
+
+ private:
+
+ void setSprite(const std::string &animationFile, Gender gender)
+ { mAnimationFiles[gender] = animationFile; }
+
+ void addSound(EquipmentSoundEvent event, const std::string &filename);
- protected:
- std::string mImageName; /**< The filename of the icon image. */
+ SpriteDisplay mDisplay; /**< Display info (like icon) */
std::string mName;
- std::string mDescription; /**< Short description. */
- std::string mEffect; /**< Description of effects. */
- ItemType mType; /**< Item type. */
- std::string mParticle; /**< Particle effect used with this item */
- int mWeight; /**< Weight in grams. */
- int mView; /**< Item ID of how this item looks. */
- int mId; /**< Item ID */
-
- // Equipment related members
- SpriteAction mAttackType; /**< Attack type, in case of weapon. */
- int mAttackRange; /**< Attack range, will be zero if non weapon. */
+ std::string mDescription; /**< Short description. */
+ std::vector<std::string> mEffect; /**< Description of effects. */
+ ItemType mType; /**< Item type. */
+ std::string mParticle; /**< Particle effect used with this item */
+ int mWeight; /**< Weight in grams. */
+ int mView; /**< Item ID of how this item looks. */
+ int mId; /**< Item ID */
+
+ bool mEquippable; /**< Whether this item can be equipped. */
+ bool mActivatable; /**< Whether this item can be activated. */
+
+ // Equipment related members.
+ /** Attack type, in case of weapon.
+ * See SpriteAction in spritedef.h for more info.
+ * Attack action sub-types (bow, sword, ...) are defined in items.xml.
+ */
+ std::string mAttackAction;
+ int mAttackRange; /**< Attack range, will be zero if non weapon. */
// Particle to be shown when weapon attacks
std::string mMissileParticle;
@@ -225,4 +175,80 @@ class ItemInfo
std::map< EquipmentSoundEvent, std::vector<std::string> > mSounds;
};
+/*
+ * TmwAthena specialization of the itemInfo for TmwAthena
+ */
+namespace TmwAthena {
+
+enum EquipmentSlot
+{
+ // Equipment rules:
+ // 1 Brest equipment
+ EQUIP_TORSO_SLOT = 0,
+ // 1 arms equipment
+ EQUIP_ARMS_SLOT = 1,
+ // 1 head equipment
+ EQUIP_HEAD_SLOT = 2,
+ // 1 legs equipment
+ EQUIP_LEGS_SLOT = 3,
+ // 1 feet equipment
+ EQUIP_FEET_SLOT = 4,
+ // 2 rings
+ EQUIP_RING1_SLOT = 5,
+ EQUIP_RING2_SLOT = 6,
+ // 1 necklace
+ EQUIP_NECKLACE_SLOT = 7,
+ // Fight:
+ // 2 one-handed weapons
+ // or 1 two-handed weapon
+ // or 1 one-handed weapon + 1 shield.
+ EQUIP_FIGHT1_SLOT = 8,
+ EQUIP_FIGHT2_SLOT = 9,
+ // Projectile:
+ // this item does not amount to one, it only indicates the chosen projectile.
+ EQUIP_PROJECTILE_SLOT = 10,
+ EQUIP_VECTOR_END = 11
+};
+
+/**
+ * Defines a class for storing TmwAthena specific item infos.
+ * Specialized version for one or another protocol are defined below.
+ */
+class TaItemInfo: public ItemInfo
+{
+ friend class TaItemDB;
+
+ public:
+ /**
+ * Constructor.
+ */
+ TaItemInfo():ItemInfo()
+ {}
+
+ // Declare TmwAthena Specific item info here
+};
+
+}; // namespace TmwAthena
+
+namespace ManaServ {
+
+/**
+ * Defines a class for storing Manaserv Specific item infos.
+ * Specialized version for one or another protocol are defined below.
+ */
+class ManaServItemInfo: public ItemInfo
+{
+ public:
+ /**
+ * Constructor.
+ */
+ ManaServItemInfo():ItemInfo()
+ {}
+
+ // Declare Manaserv Specific item info here
+};
+
+
+}; // namespace ManaServ
+
#endif
diff --git a/src/resources/mapreader.cpp b/src/resources/mapreader.cpp
index b7c4fd72..28feaba8 100644
--- a/src/resources/mapreader.cpp
+++ b/src/resources/mapreader.cpp
@@ -185,11 +185,9 @@ Map *MapReader::readMap(xmlNodePtr node, const std::string &path)
if (config.getValue("showWarps", 1))
{
map->addParticleEffect(
- paths.getValue("particles",
- "graphics/particles/")
- + paths.getValue("portalEffectFile",
- "warparea.particle.xml"),
- objX, objY, objW, objH);
+ paths.getStringValue("particles")
+ + paths.getStringValue("portalEffectFile"),
+ objX, objY, objW, objH);
}
}
else
@@ -394,6 +392,8 @@ Tileset *MapReader::readTileset(xmlNodePtr node, const std::string &path,
Map *map)
{
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;
std::string pathDir(path);
@@ -428,7 +428,8 @@ Tileset *MapReader::readTileset(xmlNodePtr node, const std::string &path,
if (tilebmp)
{
- set = new Tileset(tilebmp, tw, th, firstGid);
+ set = new Tileset(tilebmp, tw, th, firstGid, margin,
+ spacing);
tilebmp->decRef();
}
else
diff --git a/src/resources/monsterdb.cpp b/src/resources/monsterdb.cpp
index b08d87f2..6bc64a89 100644
--- a/src/resources/monsterdb.cpp
+++ b/src/resources/monsterdb.cpp
@@ -23,21 +23,21 @@
#include "log.h"
-#include "resources/monsterinfo.h"
+#include "net/net.h"
+
+#include "resources/beinginfo.h"
#include "utils/dtor.h"
#include "utils/gettext.h"
#include "utils/xml.h"
-#include "net/net.h"
#include "configuration.h"
#define OLD_TMWATHENA_OFFSET 1002
namespace
{
- MonsterDB::MonsterInfos mMonsterInfos;
- MonsterInfo mUnknown;
+ BeingInfos mMonsterInfos;
bool mLoaded = false;
}
@@ -46,8 +46,6 @@ void MonsterDB::load()
if (mLoaded)
unload();
- mUnknown.addSprite(paths.getValue("spriteErrorFile", "error.xml"));
-
logger->log("Initializing monster database...");
XML::Document doc("monsters.xml");
@@ -69,39 +67,29 @@ void MonsterDB::load()
continue;
}
- MonsterInfo *currentInfo = new MonsterInfo;
+ BeingInfo *currentInfo = new BeingInfo;
+
+ currentInfo->setWalkMask(Map::BLOCKMASK_WALL
+ | Map::BLOCKMASK_CHARACTER
+ | Map::BLOCKMASK_MONSTER);
+ currentInfo->setBlockType(Map::BLOCKTYPE_MONSTER);
currentInfo->setName(XML::getProperty(monsterNode, "name", _("unnamed")));
- std::string targetCursor;
- targetCursor = XML::getProperty(monsterNode, "targetCursor", "medium");
- if (targetCursor == "small")
- {
- currentInfo->setTargetCursorSize(Being::TC_SMALL);
- }
- else if (targetCursor == "medium")
- {
- currentInfo->setTargetCursorSize(Being::TC_MEDIUM);
- }
- else if (targetCursor == "large")
- {
- currentInfo->setTargetCursorSize(Being::TC_LARGE);
- }
- else
- {
- logger->log("MonsterDB: Unknown target cursor type \"%s\" for %s -"
- "using medium sized one",
- targetCursor.c_str(), currentInfo->getName().c_str());
- currentInfo->setTargetCursorSize(Being::TC_MEDIUM);
- }
+ currentInfo->setTargetCursorSize(XML::getProperty(monsterNode,
+ "targetCursor", "medium"));
+
+ SpriteDisplay display;
//iterate <sprite>s and <sound>s
for_each_xml_child_node(spriteNode, monsterNode)
{
if (xmlStrEqual(spriteNode->name, BAD_CAST "sprite"))
{
- currentInfo->addSprite(
- (const char*) spriteNode->xmlChildrenNode->content);
+ SpriteReference *currentSprite = new SpriteReference;
+ currentSprite->sprite = (const char*)spriteNode->xmlChildrenNode->content;
+ currentSprite->variant = XML::getProperty(spriteNode, "variant", 0);
+ display.sprites.push_back(currentSprite);
}
else if (xmlStrEqual(spriteNode->name, BAD_CAST "sound"))
{
@@ -111,19 +99,19 @@ void MonsterDB::load()
if (event == "hit")
{
- currentInfo->addSound(MONSTER_EVENT_HIT, filename);
+ currentInfo->addSound(SOUND_EVENT_HIT, filename);
}
else if (event == "miss")
{
- currentInfo->addSound(MONSTER_EVENT_MISS, filename);
+ currentInfo->addSound(SOUND_EVENT_MISS, filename);
}
else if (event == "hurt")
{
- currentInfo->addSound(MONSTER_EVENT_HURT, filename);
+ currentInfo->addSound(SOUND_EVENT_HURT, filename);
}
else if (event == "die")
{
- currentInfo->addSound(MONSTER_EVENT_DIE, filename);
+ currentInfo->addSound(SOUND_EVENT_DIE, filename);
}
else
{
@@ -138,18 +126,22 @@ void MonsterDB::load()
const int id = XML::getProperty(spriteNode, "id", 0);
const std::string particleEffect = XML::getProperty(
spriteNode, "particle-effect", "");
- SpriteAction spriteAction = SpriteDef::makeSpriteAction(
- XML::getProperty(spriteNode, "action", "attack"));
+ const std::string spriteAction = XML::getProperty(spriteNode,
+ "action",
+ "attack");
const std::string missileParticle = XML::getProperty(
spriteNode, "missile-particle", "");
- currentInfo->addMonsterAttack(id, particleEffect, spriteAction, missileParticle);
+ currentInfo->addAttack(id, spriteAction,
+ particleEffect, missileParticle);
}
else if (xmlStrEqual(spriteNode->name, BAD_CAST "particlefx"))
{
- currentInfo->addParticleEffect(
+ display.particles.push_back(
(const char*) spriteNode->xmlChildrenNode->content);
}
}
+ currentInfo->setDisplay(display);
+
mMonsterInfos[XML::getProperty(monsterNode, "id", 0) + offset] = currentInfo;
}
@@ -165,17 +157,17 @@ void MonsterDB::unload()
}
-const MonsterInfo &MonsterDB::get(int id)
+BeingInfo *MonsterDB::get(int id)
{
- MonsterInfoIterator i = mMonsterInfos.find(id);
+ BeingInfoIterator i = mMonsterInfos.find(id);
if (i == mMonsterInfos.end())
{
logger->log("MonsterDB: Warning, unknown monster ID %d requested", id);
- return mUnknown;
+ return BeingInfo::Unknown;
}
else
{
- return *(i->second);
+ return i->second;
}
}
diff --git a/src/resources/monsterdb.h b/src/resources/monsterdb.h
index 0fc8d2cf..50f70438 100644
--- a/src/resources/monsterdb.h
+++ b/src/resources/monsterdb.h
@@ -22,9 +22,7 @@
#ifndef MONSTER_DB_H
#define MONSTER_DB_H
-#include <map>
-
-class MonsterInfo;
+class BeingInfo;
/**
* Monster information database.
@@ -35,10 +33,7 @@ namespace MonsterDB
void unload();
- const MonsterInfo &get(int id);
-
- typedef std::map<int, MonsterInfo*> MonsterInfos;
- typedef MonsterInfos::iterator MonsterInfoIterator;
+ BeingInfo *get(int id);
}
#endif
diff --git a/src/resources/monsterinfo.cpp b/src/resources/monsterinfo.cpp
deleted file mode 100644
index 12cdbe3e..00000000
--- a/src/resources/monsterinfo.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana 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/>.
- */
-
-#include "resources/monsterinfo.h"
-
-#include "utils/dtor.h"
-#include "utils/gettext.h"
-#include "configuration.h"
-
-MonsterInfo::MonsterInfo():
- mName(_("unnamed")),
- mTargetCursorSize(Being::TC_MEDIUM)
-{
-}
-
-MonsterInfo::~MonsterInfo()
-{
- // kill vectors in mSoundEffects
- delete_all(mSounds);
- delete_all(mMonsterAttacks);
- mSounds.clear();
-}
-
-void MonsterInfo::addSound(MonsterSoundEvent event, const std::string &filename)
-{
- if (mSounds.find(event) == mSounds.end())
- {
- mSounds[event] = new std::vector<std::string>;
- }
-
- mSounds[event]->push_back(paths.getValue("sfx", "sfx/")
- + filename);
-}
-
-const std::string &MonsterInfo::getSound(MonsterSoundEvent event) const
-{
- static std::string empty("");
- std::map<MonsterSoundEvent, std::vector<std::string>* >::const_iterator i =
- mSounds.find(event);
- return (i == mSounds.end()) ? empty :
- i->second->at(rand() % i->second->size());
-}
-
-const std::string &MonsterInfo::getAttackParticleEffect(int attackType) const
-{
- static std::string empty("");
- std::map<int, MonsterAttack*>::const_iterator i =
- mMonsterAttacks.find(attackType);
- return (i == mMonsterAttacks.end()) ? empty : (*i).second->particleEffect;
-}
-
-const std::string &MonsterInfo::getAttackMissileParticle(int attackType) const
-{
- static std::string empty("");
- std::map<int, MonsterAttack*>::const_iterator i =
- mMonsterAttacks.find(attackType);
- return (i == mMonsterAttacks.end()) ? empty : (*i).second->missileParticle;
-}
-
-SpriteAction MonsterInfo::getAttackAction(int attackType) const
-{
- std::map<int, MonsterAttack*>::const_iterator i =
- mMonsterAttacks.find(attackType);
- return (i == mMonsterAttacks.end()) ? ACTION_ATTACK : (*i).second->action;
-}
-
-void MonsterInfo::addMonsterAttack(int id,
- const std::string &particleEffect,
- SpriteAction action,
- const std::string &missileParticle)
-{
- MonsterAttack *a = new MonsterAttack;
- a->particleEffect = particleEffect;
- a->missileParticle = missileParticle;
- a->action = action;
- mMonsterAttacks[id] = a;
-}
-
-void MonsterInfo::addParticleEffect(const std::string &filename)
-{
- mParticleEffects.push_back(filename);
-}
diff --git a/src/resources/monsterinfo.h b/src/resources/monsterinfo.h
deleted file mode 100644
index f074254a..00000000
--- a/src/resources/monsterinfo.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- *
- * This file is part of The Mana 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 MONSTERINFO_H
-#define MONSTERINFO_H
-
-#include "being.h"
-
-#include <list>
-#include <map>
-#include <string>
-#include <vector>
-
-enum MonsterSoundEvent
-{
- MONSTER_EVENT_HIT,
- MONSTER_EVENT_MISS,
- MONSTER_EVENT_HURT,
- MONSTER_EVENT_DIE
-};
-
-struct MonsterAttack
-{
- std::string missileParticle;
- std::string particleEffect;
- SpriteAction action;
-};
-
-/**
- * Holds information about a certain type of monster. This includes the name
- * of the monster, the sprite to display and the sounds the monster makes.
- *
- * @see MonsterDB
- */
-class MonsterInfo
-{
- public:
- MonsterInfo();
-
- ~MonsterInfo();
-
- void setName(const std::string &name) { mName = name; }
-
- void addSprite(const std::string &filename)
- { mSprites.push_back(filename); }
-
- void setTargetCursorSize(Being::TargetCursorSize targetCursorSize)
- { mTargetCursorSize = targetCursorSize; }
-
- void addSound(MonsterSoundEvent event, const std::string &filename);
-
- void addParticleEffect(const std::string &filename);
-
- const std::string &getName() const
- { return mName; }
-
- const std::list<std::string>& getSprites() const
- { return mSprites; }
-
- Being::TargetCursorSize getTargetCursorSize() const
- { return mTargetCursorSize; }
-
- const std::string &getSound(MonsterSoundEvent event) const;
-
- void addMonsterAttack(int id,
- const std::string &particleEffect,
- SpriteAction action,
- const std::string &missileParticle);
-
- const std::string &getAttackParticleEffect(int attackType) const;
-
- const std::string &getAttackMissileParticle(int attackType) const;
-
- SpriteAction getAttackAction(int attackType) const;
-
- const std::list<std::string>& getParticleEffects() const
- { return mParticleEffects; }
-
- private:
- std::string mName;
- std::list<std::string> mSprites;
- Being::TargetCursorSize mTargetCursorSize;
- std::map<MonsterSoundEvent, std::vector<std::string>* > mSounds;
- std::map<int, MonsterAttack*> mMonsterAttacks;
- std::list<std::string> mParticleEffects;
-};
-
-#endif // MONSTERINFO_H
diff --git a/src/resources/npcdb.cpp b/src/resources/npcdb.cpp
index 21a2e9a1..ec22c225 100644
--- a/src/resources/npcdb.cpp
+++ b/src/resources/npcdb.cpp
@@ -23,13 +23,15 @@
#include "log.h"
+#include "resources/beinginfo.h"
+
+#include "utils/dtor.h"
#include "utils/xml.h"
#include "configuration.h"
namespace
{
- NPCInfos mNPCInfos;
- NPCInfo mUnknown;
+ BeingInfos mNPCInfos;
bool mLoaded = false;
}
@@ -38,12 +40,6 @@ void NPCDB::load()
if (mLoaded)
unload();
- NPCsprite *unknownSprite = new NPCsprite;
- unknownSprite->sprite = paths.getValue("spriteErrorFile",
- "error.xml");
- unknownSprite->variant = 0;
- mUnknown.sprites.push_back(unknownSprite);
-
logger->log("Initializing NPC database...");
XML::Document doc("npcs.xml");
@@ -67,23 +63,30 @@ void NPCDB::load()
continue;
}
- NPCInfo *currentInfo = new NPCInfo;
+ BeingInfo *currentInfo = new BeingInfo;
+ currentInfo->setTargetCursorSize(XML::getProperty(npcNode,
+ "targetCursor", "medium"));
+
+ SpriteDisplay display;
for_each_xml_child_node(spriteNode, npcNode)
{
if (xmlStrEqual(spriteNode->name, BAD_CAST "sprite"))
{
- NPCsprite *currentSprite = new NPCsprite;
+ SpriteReference *currentSprite = new SpriteReference;
currentSprite->sprite = (const char*)spriteNode->xmlChildrenNode->content;
currentSprite->variant = XML::getProperty(spriteNode, "variant", 0);
- currentInfo->sprites.push_back(currentSprite);
+ display.sprites.push_back(currentSprite);
}
else if (xmlStrEqual(spriteNode->name, BAD_CAST "particlefx"))
{
std::string particlefx = (const char*)spriteNode->xmlChildrenNode->content;
- currentInfo->particles.push_back(particlefx);
+ display.particles.push_back(particlefx);
}
}
+
+ currentInfo->setDisplay(display);
+
mNPCInfos[id] = currentInfo;
}
@@ -92,40 +95,23 @@ void NPCDB::load()
void NPCDB::unload()
{
- for ( NPCInfosIterator i = mNPCInfos.begin();
- i != mNPCInfos.end();
- i++)
- {
- while (!i->second->sprites.empty())
- {
- delete i->second->sprites.front();
- i->second->sprites.pop_front();
- }
- delete i->second;
- }
-
+ delete_all(mNPCInfos);
mNPCInfos.clear();
- while (!mUnknown.sprites.empty())
- {
- delete mUnknown.sprites.front();
- mUnknown.sprites.pop_front();
- }
-
mLoaded = false;
}
-const NPCInfo& NPCDB::get(int id)
+BeingInfo *NPCDB::get(int id)
{
- NPCInfosIterator i = mNPCInfos.find(id);
+ BeingInfoIterator i = mNPCInfos.find(id);
if (i == mNPCInfos.end())
{
logger->log("NPCDB: Warning, unknown NPC ID %d requested", id);
- return mUnknown;
+ return BeingInfo::Unknown;
}
else
{
- return *(i->second);
+ return i->second;
}
}
diff --git a/src/resources/npcdb.h b/src/resources/npcdb.h
index 9da873e4..b0c89c80 100644
--- a/src/resources/npcdb.h
+++ b/src/resources/npcdb.h
@@ -22,23 +22,7 @@
#ifndef NPC_DB_H
#define NPC_DB_H
-#include <list>
-#include <map>
-#include <string>
-
-struct NPCsprite
-{
- std::string sprite;
- int variant;
-};
-
-struct NPCInfo
-{
- std::list<NPCsprite*> sprites;
- std::list<std::string> particles;
-};
-
-typedef std::map<int, NPCInfo*> NPCInfos;
+class BeingInfo;
/**
* NPC information database.
@@ -49,9 +33,7 @@ namespace NPCDB
void unload();
- const NPCInfo& get(int id);
-
- typedef NPCInfos::iterator NPCInfosIterator;
+ BeingInfo *get(int id);
}
#endif
diff --git a/src/resources/specialdb.cpp b/src/resources/specialdb.cpp
new file mode 100644
index 00000000..ac591c4f
--- /dev/null
+++ b/src/resources/specialdb.cpp
@@ -0,0 +1,132 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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/>.
+ */
+
+#include "resources/specialdb.h"
+
+#include "log.h"
+
+#include "utils/dtor.h"
+#include "utils/xml.h"
+
+
+namespace
+{
+ SpecialInfos mSpecialInfos;
+ bool mLoaded = false;
+}
+
+SpecialInfo::TargetMode SpecialDB::targetModeFromString(const std::string& str)
+{
+ if (str=="self") return SpecialInfo::TARGET_SELF;
+ else if (str=="friend") return SpecialInfo::TARGET_FRIEND;
+ else if (str=="enemy") return SpecialInfo::TARGET_ENEMY;
+ else if (str=="being") return SpecialInfo::TARGET_BEING;
+ else if (str=="point") return SpecialInfo::TARGET_POINT;
+
+ logger->log("SpecialDB: Warning, unknown target mode \"%s\"", str.c_str() );
+ return SpecialInfo::TARGET_SELF;
+}
+
+void SpecialDB::load()
+{
+ if (mLoaded)
+ unload();
+
+ logger->log("Initializing special database...");
+
+ XML::Document doc("specials.xml");
+ xmlNodePtr root = doc.rootNode();
+
+ if (!root || !xmlStrEqual(root->name, BAD_CAST "specials"))
+ {
+ logger->log("Error loading specials file specials.xml");
+ return;
+ }
+
+ std::string setName;
+
+ for_each_xml_child_node(set, root)
+ {
+ if (xmlStrEqual(set->name, BAD_CAST "set"))
+ {
+ setName = XML::getProperty(set, "name", "Actions");
+
+
+ for_each_xml_child_node(special, set)
+ {
+ if (xmlStrEqual(special->name, BAD_CAST "special"))
+ {
+ SpecialInfo *info = new SpecialInfo();
+ int id = XML::getProperty(special, "id", 0);
+ info->id = id;
+ info->set = setName;
+ info->name = XML::getProperty(special, "name", "");
+ info->icon = XML::getProperty(special, "icon", "");
+
+ info->isActive = XML::getBoolProperty(special, "active", false);
+ info->targetMode = targetModeFromString(XML::getProperty(special, "target", "self"));
+
+ info->level = XML::getProperty(special, "level", -1);
+ info->hasLevel = info->level > -1;
+
+ info->hasRechargeBar = XML::getBoolProperty(special, "recharge", false);
+ info->rechargeNeeded = 0;
+ info->rechargeCurrent = 0;
+
+ if (mSpecialInfos.find(id) != mSpecialInfos.end())
+ {
+ logger->log("SpecialDB: Duplicate special ID %d (ignoring)", id);
+ } else {
+ mSpecialInfos[id] = info;
+ }
+ }
+ }
+ }
+ }
+
+ mLoaded = true;
+}
+
+void SpecialDB::unload()
+{
+
+ delete_all(mSpecialInfos);
+ mSpecialInfos.clear();
+
+ mLoaded = false;
+}
+
+
+SpecialInfo *SpecialDB::get(int id)
+{
+
+ SpecialInfos::iterator i = mSpecialInfos.find(id);
+
+ if (i == mSpecialInfos.end())
+ {
+ return NULL;
+ }
+ else
+ {
+ return i->second;
+ }
+ return NULL;
+}
+
diff --git a/src/resources/specialdb.h b/src/resources/specialdb.h
new file mode 100644
index 00000000..38612c2a
--- /dev/null
+++ b/src/resources/specialdb.h
@@ -0,0 +1,72 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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 SPECIAL_DB_H
+#define SPECIAL_DB_H
+
+#include <string>
+#include <map>
+
+struct SpecialInfo
+{
+ enum TargetMode
+ {
+ TARGET_SELF, // no target selection
+ TARGET_FRIEND, // target friendly being
+ TARGET_ENEMY, // target hostile being
+ TARGET_BEING, // target any being
+ TARGET_POINT // target map location
+ };
+ int id;
+ std::string set; // tab on which the special is shown
+ std::string name; // displayed name of special
+ std::string icon; // filename of graphical icon
+
+ bool isActive; // true when the special can be used
+ TargetMode targetMode; // target mode
+
+ bool hasLevel; // true when the special has levels
+ int level; // level of special when applicable
+
+ bool hasRechargeBar; // true when the special has a recharge bar
+ int rechargeNeeded; // maximum recharge when applicable
+ int rechargeCurrent; // current recharge when applicable
+};
+
+/**
+ * Special information database.
+ */
+namespace SpecialDB
+{
+ void load();
+
+ void unload();
+
+ /** gets the special info for ID. Will return 0 when it is
+ * a server-specific special.
+ */
+ SpecialInfo *get(int id);
+
+ SpecialInfo::TargetMode targetModeFromString(const std::string& str);
+}
+
+typedef std::map<int, SpecialInfo *> SpecialInfos;
+
+#endif
diff --git a/src/resources/spritedef.cpp b/src/resources/spritedef.cpp
index c524c43c..311c9d1a 100644
--- a/src/resources/spritedef.cpp
+++ b/src/resources/spritedef.cpp
@@ -36,13 +36,16 @@
#include <set>
-Action *SpriteDef::getAction(SpriteAction action) const
+SpriteReference *SpriteReference::Empty = new SpriteReference(
+ paths.getStringValue("spriteErrorFile"), 0);
+
+Action *SpriteDef::getAction(const std::string &action) const
{
Actions::const_iterator i = mActions.find(action);
if (i == mActions.end())
{
- logger->log("Warning: no action \"%u\" defined!", action);
+ logger->log("Warning: no action \"%s\" defined!", action.c_str());
return NULL;
}
@@ -63,9 +66,8 @@ SpriteDef *SpriteDef::load(const std::string &animationFile, int variant)
{
logger->log("Error, failed to parse %s", animationFile.c_str());
- std::string errorFile = paths.getValue("sprites", "graphics/sprites")
- + paths.getValue("spriteErrorFile",
- "error.xml");
+ std::string errorFile = paths.getStringValue("sprites")
+ + paths.getStringValue("spriteErrorFile");
if (animationFile != errorFile)
{
return load(errorFile, 0);
@@ -82,22 +84,29 @@ SpriteDef *SpriteDef::load(const std::string &animationFile, int variant)
return def;
}
+void SpriteDef::substituteAction(std::string complete, std::string with)
+{
+ if (mActions.find(complete) == mActions.end())
+ {
+ Actions::iterator i = mActions.find(with);
+ if (i != mActions.end())
+ {
+ mActions[complete] = i->second;
+ }
+ }
+}
+
void SpriteDef::substituteActions()
{
- substituteAction(ACTION_STAND, ACTION_DEFAULT);
- substituteAction(ACTION_WALK, ACTION_STAND);
- substituteAction(ACTION_WALK, ACTION_RUN);
- substituteAction(ACTION_ATTACK, ACTION_STAND);
- substituteAction(ACTION_ATTACK_SWING, ACTION_ATTACK);
- substituteAction(ACTION_ATTACK_STAB, ACTION_ATTACK_SWING);
- substituteAction(ACTION_ATTACK_BOW, ACTION_ATTACK_STAB);
- substituteAction(ACTION_ATTACK_THROW, ACTION_ATTACK_SWING);
- substituteAction(ACTION_CAST_MAGIC, ACTION_ATTACK_SWING);
- substituteAction(ACTION_USE_ITEM, ACTION_CAST_MAGIC);
- substituteAction(ACTION_SIT, ACTION_STAND);
- substituteAction(ACTION_SLEEP, ACTION_SIT);
- substituteAction(ACTION_HURT, ACTION_STAND);
- substituteAction(ACTION_DEAD, ACTION_HURT);
+ substituteAction(SpriteAction::STAND, SpriteAction::DEFAULT);
+ substituteAction(SpriteAction::MOVE, SpriteAction::STAND);
+ substituteAction(SpriteAction::ATTACK, SpriteAction::STAND);
+ substituteAction(SpriteAction::CAST_MAGIC, SpriteAction::ATTACK);
+ substituteAction(SpriteAction::USE_ITEM, SpriteAction::CAST_MAGIC);
+ substituteAction(SpriteAction::SIT, SpriteAction::STAND);
+ substituteAction(SpriteAction::SLEEP, SpriteAction::SIT);
+ substituteAction(SpriteAction::HURT, SpriteAction::STAND);
+ substituteAction(SpriteAction::DEAD, SpriteAction::HURT);
}
void SpriteDef::loadSprite(xmlNodePtr spriteNode, int variant,
@@ -169,20 +178,19 @@ void SpriteDef::loadAction(xmlNodePtr node, int variant_offset)
}
ImageSet *imageSet = si->second;
- SpriteAction actionType = makeSpriteAction(actionName);
- if (actionType == ACTION_INVALID)
+ if (actionName == SpriteAction::INVALID)
{
logger->log("Warning: Unknown action \"%s\" defined in %s",
actionName.c_str(), getIdPath().c_str());
return;
}
Action *action = new Action;
- mActions[actionType] = action;
+ mActions[actionName] = action;
// When first action set it as default direction
- if (mActions.empty())
+ if (mActions.size() == 1)
{
- mActions[ACTION_DEFAULT] = action;
+ mActions[SpriteAction::DEFAULT] = action;
}
// Load animations
@@ -283,8 +291,7 @@ void SpriteDef::includeSprite(xmlNodePtr includeNode)
if (filename.empty())
return;
- XML::Document doc(paths.getValue("sprites", "graphics/sprites/")
- + filename);
+ XML::Document doc(paths.getStringValue("sprites") + filename);
xmlNodePtr rootNode = doc.rootNode();
if (!rootNode || !xmlStrEqual(rootNode->name, BAD_CAST "sprite"))
@@ -296,18 +303,6 @@ void SpriteDef::includeSprite(xmlNodePtr includeNode)
loadSprite(rootNode, 0);
}
-void SpriteDef::substituteAction(SpriteAction complete, SpriteAction with)
-{
- if (mActions.find(complete) == mActions.end())
- {
- Actions::iterator i = mActions.find(with);
- if (i != mActions.end())
- {
- mActions[complete] = i->second;
- }
- }
-}
-
SpriteDef::~SpriteDef()
{
// Actions are shared, so ensure they are deleted only once.
@@ -331,63 +326,6 @@ SpriteDef::~SpriteDef()
}
}
-SpriteAction SpriteDef::makeSpriteAction(const std::string &action)
-{
- if (action.empty() || action == "default")
- return ACTION_DEFAULT;
-
- if (action == "stand")
- return ACTION_STAND;
- else if (action == "walk")
- return ACTION_WALK;
- else if (action == "run")
- return ACTION_RUN;
- else if (action == "attack")
- return ACTION_ATTACK;
- else if (action == "attack_swing")
- return ACTION_ATTACK_SWING;
- else if (action == "attack_stab")
- return ACTION_ATTACK_STAB;
- else if (action == "attack_bow")
- return ACTION_ATTACK_BOW;
- else if (action == "attack_throw")
- return ACTION_ATTACK_THROW;
- else if (action == "special0")
- return ACTION_SPECIAL_0;
- else if (action == "special1")
- return ACTION_SPECIAL_1;
- else if (action == "special2")
- return ACTION_SPECIAL_2;
- else if (action == "special3")
- return ACTION_SPECIAL_3;
- else if (action == "special4")
- return ACTION_SPECIAL_4;
- else if (action == "special5")
- return ACTION_SPECIAL_5;
- else if (action == "special6")
- return ACTION_SPECIAL_6;
- else if (action == "special7")
- return ACTION_SPECIAL_7;
- else if (action == "special8")
- return ACTION_SPECIAL_8;
- else if (action == "special9")
- return ACTION_SPECIAL_9;
- else if (action == "cast_magic")
- return ACTION_CAST_MAGIC;
- else if (action == "use_item")
- return ACTION_USE_ITEM;
- else if (action == "sit")
- return ACTION_SIT;
- else if (action == "sleep")
- return ACTION_SLEEP;
- else if (action == "hurt")
- return ACTION_HURT;
- else if (action == "dead")
- return ACTION_DEAD;
- else
- return ACTION_INVALID;
-}
-
SpriteDirection SpriteDef::makeSpriteDirection(const std::string &direction)
{
if (direction.empty() || direction == "default")
diff --git a/src/resources/spritedef.h b/src/resources/spritedef.h
index 5bb6078e..18a70c9b 100644
--- a/src/resources/spritedef.h
+++ b/src/resources/spritedef.h
@@ -26,42 +26,60 @@
#include <libxml/tree.h>
+#include <list>
#include <map>
#include <string>
class Action;
class ImageSet;
-enum SpriteAction
+struct SpriteReference
{
- ACTION_DEFAULT = 0,
- ACTION_STAND,
- ACTION_WALK,
- ACTION_RUN,
- ACTION_ATTACK,
- ACTION_ATTACK_SWING,
- ACTION_ATTACK_STAB,
- ACTION_ATTACK_BOW,
- ACTION_ATTACK_THROW,
- ACTION_SPECIAL_0,
- ACTION_SPECIAL_1,
- ACTION_SPECIAL_2,
- ACTION_SPECIAL_3,
- ACTION_SPECIAL_4,
- ACTION_SPECIAL_5,
- ACTION_SPECIAL_6,
- ACTION_SPECIAL_7,
- ACTION_SPECIAL_8,
- ACTION_SPECIAL_9,
- ACTION_CAST_MAGIC,
- ACTION_USE_ITEM,
- ACTION_SIT,
- ACTION_SLEEP,
- ACTION_HURT,
- ACTION_DEAD,
- ACTION_INVALID
+ static SpriteReference *Empty;
+
+ SpriteReference() {}
+
+ SpriteReference(std::string sprite, int variant)
+ { this->sprite = sprite; this->variant = variant; }
+
+ std::string sprite;
+ int variant;
};
+struct SpriteDisplay
+{
+ std::string image;
+ std::list<SpriteReference*> sprites;
+ std::list<std::string> particles;
+};
+
+typedef std::list<SpriteReference*>::const_iterator SpriteRefs;
+
+/*
+ * Remember those are the main action.
+ * Action subtypes, e.g.: "attack_bow" are to be passed by items.xml after
+ * an ACTION_ATTACK call.
+ * Which special to be use to to be passed with the USE_SPECIAL call.
+ * Running, walking, ... is a sub-type of moving.
+ * ...
+ * Please don't add hard-coded subtypes here!
+ */
+namespace SpriteAction
+{
+ static const std::string DEFAULT = "stand";
+ static const std::string STAND = "stand";
+ static const std::string SIT = "sit";
+ static const std::string SLEEP = "sleep";
+ static const std::string DEAD = "dead";
+ static const std::string MOVE = "walk";
+ static const std::string ATTACK = "attack";
+ static const std::string HURT = "hurt";
+ static const std::string USE_SPECIAL = "special";
+ static const std::string CAST_MAGIC = "magic";
+ static const std::string USE_ITEM = "item";
+ static const std::string INVALID = "";
+}
+
enum SpriteDirection
{
DIRECTION_DEFAULT = 0,
@@ -86,12 +104,7 @@ class SpriteDef : public Resource
/**
* Returns the specified action.
*/
- Action *getAction(SpriteAction action) const;
-
- /**
- * Converts a string into a SpriteAction enum.
- */
- static SpriteAction makeSpriteAction(const std::string &action);
+ Action *getAction(const std::string &action) const;
/**
* Converts a string into a SpriteDirection enum.
@@ -147,12 +160,12 @@ class SpriteDef : public Resource
* When there are no animations defined for the action "complete", its
* animations become a copy of those of the action "with".
*/
- void substituteAction(SpriteAction complete, SpriteAction with);
+ void substituteAction(std::string complete, std::string with);
typedef std::map<std::string, ImageSet*> ImageSets;
typedef ImageSets::iterator ImageSetIterator;
- typedef std::map<SpriteAction, Action*> Actions;
+ typedef std::map<std::string, Action*> Actions;
ImageSets mImageSets;
Actions mActions;
diff --git a/src/gui/theme.cpp b/src/resources/theme.cpp
index 3d0bd5d3..8de275ae 100644
--- a/src/gui/theme.cpp
+++ b/src/resources/theme.cpp
@@ -21,7 +21,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "gui/theme.h"
+#include "resources/theme.h"
#include "client.h"
#include "configuration.h"
@@ -48,7 +48,7 @@ Theme *Theme::mInstance = 0;
static void initDefaultThemePath()
{
ResourceManager *resman = ResourceManager::getInstance();
- defaultThemePath = branding.getValue("guiThemePath", "");
+ defaultThemePath = branding.getStringValue("guiThemePath");
if (!defaultThemePath.empty() && resman->isDirectory(defaultThemePath))
return;
@@ -81,8 +81,8 @@ Skin::~Skin()
void Skin::updateAlpha(float minimumOpacityAllowed)
{
- const float alpha = std::max((double)minimumOpacityAllowed,
- config.getValue("guialpha", 0.8f));
+ const float alpha = std::max(minimumOpacityAllowed,
+ config.getFloatValue("guialpha"));
for_each(mBorder.grid, mBorder.grid + 9,
std::bind2nd(std::mem_fun(&Image::setAlpha), alpha));
@@ -111,7 +111,7 @@ Theme::Theme():
{
initDefaultThemePath();
- config.addListener("guialpha", this);
+ listen(CHANNEL_CONFIG);
loadColors();
mColors[HIGHLIGHT].ch = 'H';
@@ -130,7 +130,6 @@ Theme::Theme():
Theme::~Theme()
{
delete_all(mSkins);
- config.removeListener("guialpha", this);
delete_all(mProgressColors);
}
@@ -209,9 +208,14 @@ void Theme::updateAlpha()
iter->second->updateAlpha(mMinimumOpacity);
}
-void Theme::optionChanged(const std::string &)
+void Theme::event(Channels channel, const Mana::Event &event)
{
- updateAlpha();
+ if (channel == CHANNEL_CONFIG &&
+ event.getName() == EVENT_CONFIGOPTIONCHANGED &&
+ event.getString("option") == "guialpha")
+ {
+ updateAlpha();
+ }
}
Skin *Theme::readSkin(const std::string &filename)
@@ -343,9 +347,9 @@ void Theme::prepareThemePath()
instance();
// Try theme from settings
- if (!tryThemePath(config.getValue("theme", "")))
+ if (!tryThemePath(config.getStringValue("theme")))
// Try theme from branding
- if (!tryThemePath(branding.getValue("theme", "")))
+ if (!tryThemePath(branding.getStringValue("theme")))
// Use default
mThemePath = defaultThemePath;
diff --git a/src/gui/theme.h b/src/resources/theme.h
index 3a5aa41a..f830c94f 100644
--- a/src/gui/theme.h
+++ b/src/resources/theme.h
@@ -24,8 +24,8 @@
#ifndef SKIN_H
#define SKIN_H
-#include "configlistener.h"
#include "graphics.h"
+#include "listener.h"
#include "gui/palette.h"
@@ -100,7 +100,7 @@ class Skin
Image *mStickyImageDown; /**< Sticky Button Image */
};
-class Theme : public Palette, public ConfigListener
+class Theme : public Palette, public Mana::Listener
{
public:
static Theme *instance();
@@ -218,7 +218,7 @@ class Theme : public Palette, public ConfigListener
*/
void setMinimumOpacity(float minimumOpacity);
- void optionChanged(const std::string &);
+ void event(Channels channel, const Mana::Event &event);
private:
Theme();
diff --git a/src/gui/userpalette.cpp b/src/resources/userpalette.cpp
index 9e202fe9..a6b5bc03 100644
--- a/src/gui/userpalette.cpp
+++ b/src/resources/userpalette.cpp
@@ -20,7 +20,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "userpalette.h"
+#include "resources/userpalette.h"
#include "configuration.h"
#include "client.h"
diff --git a/src/gui/userpalette.h b/src/resources/userpalette.h
index be02db10..be02db10 100644
--- a/src/gui/userpalette.h
+++ b/src/resources/userpalette.h
diff --git a/src/resources/wallpaper.cpp b/src/resources/wallpaper.cpp
index c8857745..0fd1c291 100644
--- a/src/resources/wallpaper.cpp
+++ b/src/resources/wallpaper.cpp
@@ -53,21 +53,21 @@ static void initDefaultWallpaperPaths()
ResourceManager *resman = ResourceManager::getInstance();
// Init the path
- wallpaperPath = branding.getValue("wallpapersPath", "");
+ wallpaperPath = branding.getStringValue("wallpapersPath");
if (wallpaperPath.empty() || !resman->isDirectory(wallpaperPath))
- wallpaperPath = paths.getValue("wallpapers", "");
+ wallpaperPath = paths.getStringValue("wallpapers");
if (wallpaperPath.empty() || !resman->isDirectory(wallpaperPath))
wallpaperPath = "graphics/images/";
// Init the default file
- wallpaperFile = branding.getValue("wallpaperFile", "");
+ wallpaperFile = branding.getStringValue("wallpaperFile");
if (!wallpaperFile.empty() && !resman->isDirectory(wallpaperFile))
return;
else
- wallpaperFile = paths.getValue("wallpaperFile", "");
+ wallpaperFile = paths.getStringValue("wallpaperFile");
if (wallpaperFile.empty() || resman->isDirectory(wallpaperFile))
wallpaperFile = "login_wallpaper.png";
@@ -80,7 +80,7 @@ bool wallpaperCompare(WallpaperData a, WallpaperData b)
return (aa > ab || (aa == ab && a.width > b.width));
}
-
+#include <iostream>
void Wallpaper::loadWallpapers()
{
wallpaperData.clear();
diff --git a/src/simpleanimation.cpp b/src/simpleanimation.cpp
index a8d33a43..7ef433ea 100644
--- a/src/simpleanimation.cpp
+++ b/src/simpleanimation.cpp
@@ -33,14 +33,16 @@ SimpleAnimation::SimpleAnimation(Animation *animation):
mAnimation(animation),
mAnimationTime(0),
mAnimationPhase(0),
- mCurrentFrame(mAnimation->getFrame(0))
+ mCurrentFrame(mAnimation->getFrame(0)),
+ mInitialized(true)
{
}
SimpleAnimation::SimpleAnimation(xmlNodePtr animationNode):
mAnimation(new Animation),
mAnimationTime(0),
- mAnimationPhase(0)
+ mAnimationPhase(0),
+ mInitialized(false)
{
initializeAnimation(animationNode);
mCurrentFrame = mAnimation->getFrame(0);
@@ -48,7 +50,8 @@ SimpleAnimation::SimpleAnimation(xmlNodePtr animationNode):
SimpleAnimation::~SimpleAnimation()
{
- delete mAnimation;
+ if (mAnimation)
+ delete mAnimation;
}
bool SimpleAnimation::draw(Graphics *graphics, int posX, int posY) const
@@ -79,38 +82,55 @@ void SimpleAnimation::setFrame(int frame)
void SimpleAnimation::update(int timePassed)
{
- mAnimationTime += timePassed;
-
- while (mAnimationTime > mCurrentFrame->delay && mCurrentFrame->delay > 0)
+ if (mInitialized)
{
- mAnimationTime -= mCurrentFrame->delay;
- mAnimationPhase++;
+ mAnimationTime += timePassed;
- if (mAnimationPhase >= mAnimation->getLength())
- mAnimationPhase = 0;
+ while (mAnimationTime > mCurrentFrame->delay && mCurrentFrame->delay > 0)
+ {
+ mAnimationTime -= mCurrentFrame->delay;
+ mAnimationPhase++;
- mCurrentFrame = mAnimation->getFrame(mAnimationPhase);
+ if (mAnimationPhase >= mAnimation->getLength())
+ mAnimationPhase = 0;
+
+ mCurrentFrame = mAnimation->getFrame(mAnimationPhase);
+ }
}
}
int SimpleAnimation::getLength() const
{
- return mAnimation->getLength();
+ if (mAnimation)
+ return mAnimation->getLength();
+ else
+ return 0;
}
Image *SimpleAnimation::getCurrentImage() const
{
- return mCurrentFrame->image;
+ if (mCurrentFrame)
+ return mCurrentFrame->image;
+ else
+ return NULL;
}
void SimpleAnimation::initializeAnimation(xmlNodePtr animationNode)
{
+ mInitialized = false;
+
+ if (!animationNode)
+ return;
+
ImageSet *imageset = ResourceManager::getInstance()->getImageSet(
XML::getProperty(animationNode, "imageset", ""),
XML::getProperty(animationNode, "width", 0),
XML::getProperty(animationNode, "height", 0)
);
+ if (!imageset)
+ return;
+
// Get animation frames
for ( xmlNodePtr frameNode = animationNode->xmlChildrenNode;
frameNode;
@@ -172,4 +192,6 @@ void SimpleAnimation::initializeAnimation(xmlNodePtr animationNode)
mAnimation->addTerminator();
}
}
+
+ mInitialized = true;
}
diff --git a/src/simpleanimation.h b/src/simpleanimation.h
index a8a43b33..e679442e 100644
--- a/src/simpleanimation.h
+++ b/src/simpleanimation.h
@@ -78,6 +78,9 @@ class SimpleAnimation
/** Current animation phase. */
Frame *mCurrentFrame;
+
+ /** Tell whether the animation is ready */
+ bool mInitialized;
};
#endif
diff --git a/src/sound.cpp b/src/sound.cpp
index fa39e49b..c64e10d8 100644
--- a/src/sound.cpp
+++ b/src/sound.cpp
@@ -21,14 +21,14 @@
#include <SDL.h>
+#include "configuration.h"
+#include "localplayer.h"
#include "log.h"
#include "sound.h"
#include "resources/resourcemanager.h"
#include "resources/soundeffect.h"
-#include "configuration.h"
-
Sound::Sound():
mInstalled(false),
mSfxVolume(100),
@@ -142,7 +142,7 @@ void Sound::setSfxVolume(int volume)
static Mix_Music *loadMusic(const std::string &filename)
{
ResourceManager *resman = ResourceManager::getInstance();
- std::string path = resman->getPath("music/" + filename);
+ std::string path = resman->getPath(paths.getStringValue("music") + filename);
if (path.find(".zip/") != std::string::npos ||
path.find(".zip\\") != std::string::npos)
@@ -152,7 +152,7 @@ static Mix_Music *loadMusic(const std::string &filename)
logger->log("Loading music \"%s\" from temporary file tempMusic.ogg",
path.c_str());
bool success = resman->copyFile(
- paths.getValue("music", "music/")
+ paths.getStringValue("music")
+ filename, "tempMusic.ogg");
if (success)
path = resman->getPath("tempMusic.ogg");
@@ -228,17 +228,38 @@ void Sound::fadeOutMusic(int ms)
}
}
-void Sound::playSfx(const std::string &path)
+void Sound::playSfx(const std::string &path, int x, int y)
{
if (!mInstalled || path.empty())
return;
+ std::string tmpPath;
+ if (!path.find("sfx/"))
+ tmpPath = path;
+ else
+ tmpPath = paths.getValue("sfx", "sfx/") + path;
ResourceManager *resman = ResourceManager::getInstance();
- SoundEffect *sample = resman->getSoundEffect(path);
+ SoundEffect *sample = resman->getSoundEffect(tmpPath);
if (sample)
{
logger->log("Sound::playSfx() Playing: %s", path.c_str());
- sample->play(0, 120);
+ int vol = 120;
+ if (player_node && x > 0 && y > 0)
+ {
+ int dx = player_node->getTileX() - x;
+ int dy = player_node->getTileY() - y;
+ if (dx < 0)
+ dx = -dx;
+ if (dy < 0)
+ dy = -dy;
+ int dist = dx > dy ? dx : dy;
+
+ // Check for negative values
+ if (dist * 8 > vol)
+ return;
+ vol -= dist * 8;
+ }
+ sample->play(0, vol);
}
}
diff --git a/src/sound.h b/src/sound.h
index bf5dc3f6..bfb3837b 100644
--- a/src/sound.h
+++ b/src/sound.h
@@ -86,8 +86,10 @@ class Sound
* Plays an item.
*
* @param path The resource path to the sound file.
+ * @param x The vertical distance of the sound in tiles.
+ * @param y The horizontal distance of the sound in tiles.
*/
- void playSfx(const std::string &path);
+ void playSfx(const std::string &path, int x = 0, int y = 0);
private:
/** Logs various info about sound device. */
diff --git a/src/sprite.h b/src/sprite.h
index 847c01a6..38db8b41 100644
--- a/src/sprite.h
+++ b/src/sprite.h
@@ -1,7 +1,6 @@
/*
* The Mana Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
+ * Copyright (C) 2010 The Mana Developers
*
* This file is part of The Mana Client.
*
@@ -22,64 +21,90 @@
#ifndef SPRITE_H
#define SPRITE_H
+#include "resources/spritedef.h"
+
class Graphics;
+class Image;
-/**
- * A sprite is some visible object on a map. This abstract class defines the
- * interface used by the map to sort and display the sprite.
- */
class Sprite
{
public:
+ virtual ~Sprite() {}
+
+ /**
+ * Resets the sprite.
+ *
+ * @returns true if the sprite changed, false otherwise
+ */
+ virtual bool reset() = 0;
+
/**
- * Destructor.
+ * Plays an action using the current direction.
+ *
+ * @returns true if the sprite changed, false otherwise
*/
- virtual
- ~Sprite() {}
+ virtual bool play(std::string action) = 0;
/**
- * Draws the sprite to the given graphics context.
+ * Inform the animation of the passed time so that it can output the
+ * correct animation frame.
*
- * Note: this function could be simplified if the graphics context
- * would support setting a translation offset. It already does this
- * partly with the clipping rectangle support.
+ * @returns true if the sprite changed, false otherwise
*/
- virtual void draw(Graphics *graphics, int offsetX, int offsetY) const = 0;
+ virtual bool update(int time) = 0;
/**
- * Returns the horizontal size of the sprites graphical representation
- * in pixels or 0 when it is undefined.
+ * Draw the current animation frame at the coordinates given in screen
+ * pixels.
*/
- virtual int getWidth() const
- { return 0; }
+ virtual bool draw(Graphics* graphics, int posX, int posY) const = 0;
/**
- * Returns the vertical size of the sprites graphical representation
- * in pixels or 0 when it is undefined.
+ * Gets the width in pixels of the image of the current frame
*/
- virtual int getHeight() const
- { return 0; }
+ virtual int getWidth() const = 0;
/**
- * Returns the pixel Y coordinate of the sprite.
+ * Gets the height in pixels of the image of the current frame
*/
- virtual int getPixelY() const = 0;
+ virtual int getHeight() const = 0;
/**
- * Returns the number of Image layers used to draw the sprite.
+ * Returns a reference to the current image being drawn.
*/
- virtual int getNumberOfLayers() const
- { return 0; }
+ virtual const Image* getImage() const = 0;
/**
- * Returns the current alpha value used to draw the sprite.
+ * Sets the direction.
+ *
+ * @returns true if the sprite changed, false otherwise
*/
- virtual float getAlpha() const = 0;
+ virtual bool setDirection(SpriteDirection direction) = 0;
/**
- * Sets the alpha value used to draw the sprite.
+ * Sets the alpha value of the animated sprite
*/
- virtual void setAlpha(float alpha) = 0;
+ virtual void setAlpha(float alpha)
+ { mAlpha = alpha; }
+
+ /**
+ * Returns the current alpha opacity of the animated sprite.
+ */
+ virtual float getAlpha() const
+ { return mAlpha; }
+
+ /**
+ * Returns the current frame number for the sprite.
+ */
+ virtual size_t getCurrentFrame() const = 0;
+
+ /**
+ * Returns the frame count for the sprite.
+ */
+ virtual size_t getFrameCount() const = 0;
+
+ protected:
+ float mAlpha; /**< The alpha opacity used to draw */
};
-#endif
+#endif // SPRITE_H
diff --git a/src/statuseffect.cpp b/src/statuseffect.cpp
index 1f913f4a..d7c3f17a 100644
--- a/src/statuseffect.cpp
+++ b/src/statuseffect.cpp
@@ -21,11 +21,10 @@
#include "statuseffect.h"
+#include "event.h"
#include "log.h"
#include "sound.h"
-#include "gui/widgets/chattab.h"
-
#include "utils/xml.h"
#include "configuration.h"
@@ -52,7 +51,7 @@ void StatusEffect::playSFX()
void StatusEffect::deliverMessage()
{
if (!mMessage.empty())
- localChatTab->chatLog(mMessage, BY_SERVER);
+ SERVER_NOTICE(mMessage)
}
Particle *StatusEffect::getParticle()
@@ -70,22 +69,22 @@ AnimatedSprite *StatusEffect::getIcon()
else
{
AnimatedSprite *sprite = AnimatedSprite::load(
- paths.getValue("sprites", "graphics/sprites/") + mIcon);
+ paths.getStringValue("sprites") + mIcon);
if (false && sprite)
{
- sprite->play(ACTION_DEFAULT);
+ sprite->play(SpriteAction::DEFAULT);
sprite->reset();
}
return sprite;
}
}
-SpriteAction StatusEffect::getAction()
+std::string StatusEffect::getAction()
{
if (mAction.empty())
- return ACTION_INVALID;
+ return SpriteAction::INVALID;
else
- return SpriteDef::makeSpriteAction(mAction);
+ return mAction;
}
diff --git a/src/statuseffect.h b/src/statuseffect.h
index fc0e7336..3f715a16 100644
--- a/src/statuseffect.h
+++ b/src/statuseffect.h
@@ -56,9 +56,9 @@ public:
AnimatedSprite *getIcon();
/**
- * Retrieves an action to perform, or ACTION_INVALID
+ * Retrieves an action to perform, or SpriteAction::INVALID
*/
- SpriteAction getAction();
+ std::string getAction();
/**
* Determines whether the particle effect should be restarted when the
diff --git a/src/text.cpp b/src/text.cpp
index f6c71dba..53b21e79 100644
--- a/src/text.cpp
+++ b/src/text.cpp
@@ -27,11 +27,9 @@
#include "textrenderer.h"
#include "gui/gui.h"
-#include "gui/palette.h"
-#include "gui/theme.h"
-#include "resources/resourcemanager.h"
#include "resources/image.h"
+#include "resources/theme.h"
#include <guichan/font.hpp>
@@ -41,17 +39,22 @@ Image *Text::mBubbleArrow;
Text::Text(const std::string &text, int x, int y,
gcn::Graphics::Alignment alignment,
- const gcn::Color* color, bool isSpeech) :
+ const gcn::Color* color, bool isSpeech,
+ gcn::Font *font) :
mText(text),
mColor(color),
- mFont(gui->getFont()),
mIsSpeech(isSpeech)
{
+ if (!font)
+ mFont = gui->getFont();
+ else
+ mFont = font;
+
if (textManager == 0)
{
textManager = new TextManager;
Image *sbImage = Theme::getImageFromTheme("bubble.png|W:#"
- + config.getValue("speechBubblecolor", "000000"));
+ + config.getStringValue("speechBubblecolor"));
mBubble.grid[0] = sbImage->getSubImage(0, 0, 5, 5);
mBubble.grid[1] = sbImage->getSubImage(5, 0, 5, 5);
mBubble.grid[2] = sbImage->getSubImage(10, 0, 5, 5);
@@ -62,7 +65,7 @@ Text::Text(const std::string &text, int x, int y,
mBubble.grid[7] = sbImage->getSubImage(5, 10, 5, 5);
mBubble.grid[8] = sbImage->getSubImage(10, 10, 5, 5);
mBubbleArrow = sbImage->getSubImage(0, 15, 15, 10);
- const float bubbleAlpha = config.getValue("speechBubbleAlpha", 1.0);
+ const float bubbleAlpha = config.getFloatValue("speechBubbleAlpha");
for (int i = 0; i < 9; i++)
{
mBubble.grid[i]->setAlpha(bubbleAlpha);
@@ -145,8 +148,8 @@ void Text::draw(gcn::Graphics *graphics, int xOff, int yOff)
FlashText::FlashText(const std::string &text, int x, int y,
gcn::Graphics::Alignment alignment,
- const gcn::Color *color) :
- Text(text, x, y, alignment, color),
+ const gcn::Color *color, gcn::Font *font) :
+ Text(text, x, y, alignment, color, false, font),
mTime(0)
{
}
diff --git a/src/text.h b/src/text.h
index fcfaf6ed..70dd4a89 100644
--- a/src/text.h
+++ b/src/text.h
@@ -24,7 +24,6 @@
#define TEXT_H
#include "graphics.h"
-#include "guichanfwd.h"
#include <guichan/color.hpp>
@@ -40,7 +39,8 @@ class Text
*/
Text(const std::string &text, int x, int y,
gcn::Graphics::Alignment alignment,
- const gcn::Color *color, bool isSpeech = false);
+ const gcn::Color *color, bool isSpeech = false,
+ gcn::Font *font = 0);
/**
* Destructor. The text is removed from the screen.
@@ -84,7 +84,8 @@ class FlashText : public Text
public:
FlashText(const std::string &text, int x, int y,
gcn::Graphics::Alignment alignment,
- const gcn::Color* color);
+ const gcn::Color* color,
+ gcn::Font *font = 0);
/**
* Remove the text from the screen
diff --git a/src/textparticle.cpp b/src/textparticle.cpp
index c9b5fc18..0753cc38 100644
--- a/src/textparticle.cpp
+++ b/src/textparticle.cpp
@@ -36,10 +36,10 @@ TextParticle::TextParticle(Map *map, const std::string &text,
{
}
-void TextParticle::draw(Graphics *graphics, int offsetX, int offsetY) const
+bool TextParticle::draw(Graphics *graphics, int offsetX, int offsetY) const
{
- if (!mAlive)
- return;
+ if (!isAlive())
+ return false;
int screenX = (int) mPos.x + offsetX;
int screenY = (int) mPos.y - (int) mPos.z + offsetY;
@@ -50,4 +50,6 @@ void TextParticle::draw(Graphics *graphics, int offsetX, int offsetY) const
TextRenderer::renderText(graphics, mText,
screenX, screenY, gcn::Graphics::CENTER,
color, mTextFont, mOutline, false);
+
+ return true;
}
diff --git a/src/textparticle.h b/src/textparticle.h
index a61bf8d9..79af7406 100644
--- a/src/textparticle.h
+++ b/src/textparticle.h
@@ -22,7 +22,6 @@
#ifndef TEXTPARTICLE_H
#define TEXTPARTICLE_H
-#include "guichanfwd.h"
#include "particle.h"
class TextParticle : public Particle
@@ -38,7 +37,7 @@ class TextParticle : public Particle
/**
* Draws the particle image.
*/
- virtual void draw(Graphics *graphics, int offsetX, int offsetY) const;
+ virtual bool draw(Graphics *graphics, int offsetX, int offsetY) const;
// hack to improve text visibility
virtual int getPixelY() const
diff --git a/src/textrenderer.h b/src/textrenderer.h
index 4da868f1..fccdd3c7 100644
--- a/src/textrenderer.h
+++ b/src/textrenderer.h
@@ -24,7 +24,7 @@
#include "graphics.h"
-#include "gui/theme.h"
+#include "resources/theme.h"
/**
* Class for text rendering. Used by the TextParticle, the Text and FlashText
diff --git a/src/tileset.h b/src/tileset.h
index 56bc4547..6c2ee394 100644
--- a/src/tileset.h
+++ b/src/tileset.h
@@ -33,8 +33,8 @@ class Tileset : public ImageSet
/**
* Constructor.
*/
- Tileset(Image *img, int w, int h, int firstGid):
- ImageSet(img, w, h),
+ Tileset(Image *img, int w, int h, int firstGid, int margin, int spacing):
+ ImageSet(img, w, h, margin, spacing),
mFirstGid(firstGid)
{
}
diff --git a/src/utils/copynpaste.cpp b/src/utils/copynpaste.cpp
index 31aa7bf9..3d2e3b80 100644
--- a/src/utils/copynpaste.cpp
+++ b/src/utils/copynpaste.cpp
@@ -269,7 +269,6 @@ static char* getSelection(Display *dpy, Window us, Atom selection)
return (char*)data;
}
}
- printf("Timeout\n");
return NULL;
}
diff --git a/src/utils/stringutils.cpp b/src/utils/stringutils.cpp
index 445427fe..96b67370 100644
--- a/src/utils/stringutils.cpp
+++ b/src/utils/stringutils.cpp
@@ -26,7 +26,7 @@
#include <cstdarg>
#include <cstdio>
-const int UTF8_MAX_SIZE = 10;
+static int UTF8_MAX_SIZE = 10;
std::string &trim(std::string &str)
{
@@ -155,7 +155,8 @@ bool isWordSeparator(char chr)
return (chr == ' ' || chr == ',' || chr == '.' || chr == '"');
}
-const std::string findSameSubstring(const std::string &str1, const std::string &str2)
+const std::string findSameSubstring(const std::string &str1,
+ const std::string &str2)
{
int minLength = str1.length() > str2.length() ? str2.length() : str1.length();
for (int f = 0; f < minLength; f ++)
@@ -176,6 +177,18 @@ const char* getSafeUtf8String(std::string text)
return buf;
}
+bool getBoolFromString(const std::string &text, bool def)
+{
+ std::string a = text;
+ toLower(trim(a));
+ if (a == "true" || a == "1" || a == "on" || a == "yes" || a == "y")
+ return true;
+ if (a == "false" || a == "0" || a == "off" || a == "no" || a == "n")
+ return false;
+ else
+ return def;
+}
+
std::string autocomplete(std::vector<std::string> &candidates,
std::string base)
{
@@ -210,3 +223,9 @@ std::string autocomplete(std::vector<std::string> &candidates,
return newName;
}
+
+std::string normalize(const std::string &name)
+{
+ std::string normalized = name;
+ return toLower(trim(normalized));;
+}
diff --git a/src/utils/stringutils.h b/src/utils/stringutils.h
index 5f1f05f0..2c6fad78 100644
--- a/src/utils/stringutils.h
+++ b/src/utils/stringutils.h
@@ -120,13 +120,33 @@ std::string removeColors(std::string msg);
*/
int compareStrI(const std::string &a, const std::string &b);
+/**
+ * Tells wether the character is a word separator.
+ */
bool isWordSeparator(char chr);
-const std::string findSameSubstring(const std::string &str1, const std::string &str2);
+const std::string findSameSubstring(const std::string &str1,
+ const std::string &str2);
const char* getSafeUtf8String(std::string text);
+/**
+ * Returns a bool value depending on the given string value.
+ *
+ * @param text the string used to get the bool value
+ * @return a boolean value..
+ */
+bool getBoolFromString(const std::string &text, bool def = false);
+
+/**
+ * Returns the most approaching string of base from candidates.
+ */
std::string autocomplete(std::vector<std::string> &candidates,
std::string base);
+/**
+ * Normalize a string, which means lowercase and trim it.
+ */
+std::string normalize(const std::string &name);
+
#endif // UTILS_STRINGUTILS_H
diff --git a/src/utils/xml.cpp b/src/utils/xml.cpp
index 9835f88c..65eb1370 100644
--- a/src/utils/xml.cpp
+++ b/src/utils/xml.cpp
@@ -21,15 +21,20 @@
#include "utils/xml.h"
+#include <iostream>
+#include <fstream>
+#include <cstring>
+
+#include <libxml/parser.h>
+#include <libxml/xmlerror.h>
+
#include "log.h"
#include "resources/resourcemanager.h"
+#include "utils/stringutils.h"
#include "utils/zlib.h"
-#include <libxml/parser.h>
-#include <libxml/xmlerror.h>
-
namespace XML
{
static void xmlLogger(void *ctx, xmlErrorPtr error);
@@ -129,6 +134,18 @@ namespace XML
return def;
}
+ bool getBoolProperty(xmlNodePtr node, const char* name, bool def)
+ {
+ bool ret = def;
+ xmlChar *prop = xmlGetProp(node, BAD_CAST name);
+ if (prop)
+ {
+ ret = getBoolFromString((char*) prop, def);
+ xmlFree(prop);
+ }
+ return ret;
+ }
+
xmlNodePtr findFirstChildByName(xmlNodePtr parent, const char *name)
{
for_each_xml_child_node(child, parent)
@@ -149,7 +166,7 @@ namespace XML
logger->log("Error in unknown xml file on line %d",
error->line);
- logger->log(error->message);
+ logger->log("%s", error->message);
// No need to keep errors around
xmlCtxtResetLastError(error->ctxt);
diff --git a/src/utils/xml.h b/src/utils/xml.h
index 8ffecb76..48e66787 100644
--- a/src/utils/xml.h
+++ b/src/utils/xml.h
@@ -60,14 +60,14 @@ namespace XML
};
/**
- * Gets an integer property from an xmlNodePtr.
+ * Gets an floating point property from an xmlNodePtr.
*/
- int getProperty(xmlNodePtr node, const char *name, int def);
+ double getFloatProperty(xmlNodePtr node, const char *name, double def);
/**
- * Gets an floating point property from an xmlNodePtr.
+ * Gets an integer property from an xmlNodePtr.
*/
- double getFloatProperty(xmlNodePtr node, const char *name, double def);
+ int getProperty(xmlNodePtr node, const char *name, int def);
/**
* Gets a string property from an xmlNodePtr.
@@ -76,6 +76,11 @@ namespace XML
const std::string &def);
/**
+ * Gets a boolean property from an xmlNodePtr.
+ */
+ bool getBoolProperty(xmlNodePtr node, const char *name, bool def);
+
+ /**
* Finds the first child node with the given name
*/
xmlNodePtr findFirstChildByName(xmlNodePtr parent, const char *name);
diff --git a/src/variabledata.h b/src/variabledata.h
new file mode 100644
index 00000000..19e09795
--- /dev/null
+++ b/src/variabledata.h
@@ -0,0 +1,131 @@
+/*
+ * The Mana Client
+ * Copyright (C) 2010 The Mana Developers
+ *
+ * This file is part of The Mana 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 VARIABLEDATA_H
+#define VARIABLEDATA_H
+
+#include <string>
+
+class ActorSprite;
+class Item;
+
+namespace Mana
+{
+
+class VariableData
+{
+ public:
+ enum DataType
+ {
+ DATA_NONE,
+ DATA_INT,
+ DATA_STRING,
+ DATA_FLOAT,
+ DATA_BOOL,
+ DATA_ITEM,
+ DATA_ACTOR
+ };
+
+ virtual ~VariableData() {};
+
+ virtual int getType() const = 0;
+};
+
+class IntData : public VariableData
+{
+public:
+ IntData(int value) { mData = value; }
+
+ int getData() const { return mData; }
+
+ int getType() const { return DATA_INT; }
+
+private:
+ int mData;
+};
+
+class StringData : public VariableData
+{
+public:
+ StringData(const std::string &value) { mData = value; }
+
+ const std::string &getData() const { return mData; }
+
+ int getType() const { return DATA_STRING; }
+
+private:
+ std::string mData;
+};
+
+class FloatData : public VariableData
+{
+public:
+ FloatData(double value) { mData = value; }
+
+ double getData() const { return mData; }
+
+ int getType() const { return DATA_FLOAT; }
+
+private:
+ double mData;
+};
+
+class BoolData : public VariableData
+{
+public:
+ BoolData(bool value) { mData = value; }
+
+ bool getData() const { return mData; }
+
+ int getType() const { return DATA_BOOL; }
+
+private:
+ bool mData;
+};
+
+class ItemData : public VariableData
+{
+public:
+ ItemData(Item *value) { mData = value; }
+
+ Item *getData() const { return mData; }
+
+ int getType() const { return DATA_ITEM; }
+
+private:
+ Item *mData;
+};
+
+class ActorData : public VariableData
+{
+public:
+ ActorData(ActorSprite *value) { mData = value; }
+
+ ActorSprite *getData() const { return mData; }
+
+ int getType() const { return DATA_ACTOR; }
+
+private:
+ ActorSprite *mData;
+};
+
+} // namespace Mana
+
+#endif
diff --git a/src/winver.h b/src/winver.h
index ea8d8e9c..773693bb 100644
--- a/src/winver.h
+++ b/src/winver.h
@@ -1,6 +1,6 @@
/* VERSION DEFINITIONS */
-#define VER_MAJOR 0
-#define VER_MINOR 5
+#define VER_MAJOR 1
+#define VER_MINOR 0
#define VER_RELEASE 0
#define VER_BUILD 0
-#define PACKAGE_VERSION "0.5.0.0"
+#define PACKAGE_VERSION "1.0.0.0"
diff --git a/tools/dyecmd/src/dye.cpp b/tools/dyecmd/src/dye.cpp
index 77da2ebb..77da2ebb 100755..100644
--- a/tools/dyecmd/src/dye.cpp
+++ b/tools/dyecmd/src/dye.cpp
diff --git a/tools/dyecmd/src/dye.h b/tools/dyecmd/src/dye.h
index 922f3370..922f3370 100755..100644
--- a/tools/dyecmd/src/dye.h
+++ b/tools/dyecmd/src/dye.h
diff --git a/tools/dyecmd/src/dyecmd.cpp b/tools/dyecmd/src/dyecmd.cpp
index 5e06e500..5e06e500 100755..100644
--- a/tools/dyecmd/src/dyecmd.cpp
+++ b/tools/dyecmd/src/dyecmd.cpp
diff --git a/tools/dyecmd/src/imagewriter.cpp b/tools/dyecmd/src/imagewriter.cpp
index d237abbf..d237abbf 100755..100644
--- a/tools/dyecmd/src/imagewriter.cpp
+++ b/tools/dyecmd/src/imagewriter.cpp
diff --git a/tools/dyecmd/src/imagewriter.h b/tools/dyecmd/src/imagewriter.h
index a8bcdf57..a8bcdf57 100755..100644
--- a/tools/dyecmd/src/imagewriter.h
+++ b/tools/dyecmd/src/imagewriter.h