summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-08-27 13:17:56 -0300
committerJesusaves <cpntb1@ymail.com>2019-08-27 13:17:56 -0300
commit0a268cb5bb72fd514b3dd4a3611395072f621475 (patch)
tree01c0ab1f22b3fe528a593ee95e95abf662d3a42b
parent1452dfab309ef11687c5991817399e56845ba143 (diff)
parent62a8b04b925628c01a059ec3ec8e363e181fdda6 (diff)
downloadart-0a268cb5bb72fd514b3dd4a3611395072f621475.tar.gz
art-0a268cb5bb72fd514b3dd4a3611395072f621475.tar.bz2
art-0a268cb5bb72fd514b3dd4a3611395072f621475.tar.xz
art-0a268cb5bb72fd514b3dd4a3611395072f621475.zip
Merge branch 'master' of gitlab.com:TMW2/Art
-rw-r--r--ART_LICENSE171
-rw-r--r--Drafts/hats.xlsxbin0 -> 59800 bytes
-rw-r--r--Drafts/kn_craft.xlsxbin0 -> 12339 bytes
-rw-r--r--Drafts/manaplus_improvments.md94
-rw-r--r--Drafts/sprite_tmw2.txt53
-rw-r--r--Icon/LoF/Aurora Glasses.pngbin1379 -> 0 bytes
-rw-r--r--Icon/LoF/Chrome miners hat.pngbin1755 -> 0 bytes
-rw-r--r--Icon/LoF/Hello/Party Hat/Red(hair sprites).pngbin17516 -> 0 bytes
-rw-r--r--Icon/LoF/Hello/witch-doctor-mask.pngbin5443 -> 0 bytes
-rw-r--r--Icon/LoF/deep Minors Helm comp.pngbin2066 -> 0 bytes
-rw-r--r--Icon/LoF/glitter man.pngbin3333 -> 0 bytes
-rw-r--r--Icon/LoF/goldscorpion2.pngbin11232 -> 0 bytes
-rw-r--r--Icon/LoF/justice set.pngbin1527 -> 0 bytes
-rw-r--r--Icon/LoF/poka dot afro2.pngbin2816 -> 0 bytes
-rw-r--r--Icon/LoF/sage enhanced final rendition.pngbin4256 -> 0 bytes
-rw-r--r--Icon/LoF/the iron mask.pngbin2401 -> 0 bytes
-rw-r--r--Icon/badges/flag/ready/volapuk.png (renamed from Lang/volapuk.png)bin1069 -> 1069 bytes
-rw-r--r--Icon/badges/flag/xcf/en.xcf (renamed from Lang/en.xcf)bin4251 -> 4251 bytes
-rw-r--r--Icon/emotes/.gitkeep (renamed from Icon/hands/ready/.gitkeep)0
-rw-r--r--Icon/generic/analysis/armor-feet-bota-natalina-vermelha.pngbin469 -> 0 bytes
-rw-r--r--Icon/generic/analysis/armor-hands-luva-natalina-vermelha.pngbin1479 -> 0 bytes
-rw-r--r--Icon/generic/analysis/boxofchocolates.pngbin1716 -> 0 bytes
-rw-r--r--Icon/generic/analysis/br/generic-globo-bneve.pngbin2954 -> 0 bytes
-rw-r--r--Icon/generic/analysis/br/generic-globo-noel.pngbin3022 -> 0 bytes
-rw-r--r--Icon/generic/analysis/br/generic-herb.pngbin1427 -> 0 bytes
-rw-r--r--Icon/generic/analysis/christmasbulb.pngbin570 -> 0 bytes
-rw-r--r--Icon/generic/analysis/easterbasket.pngbin915 -> 0 bytes
-rwxr-xr-xIcon/generic/analysis/emerald.pngbin1156 -> 0 bytes
-rw-r--r--Icon/generic/analysis/generic-cachecol.pngbin1106 -> 0 bytes
-rw-r--r--Icon/generic/analysis/generic-globo-bneve.pngbin2954 -> 0 bytes
-rw-r--r--Icon/generic/analysis/generic-globo-noel.pngbin3022 -> 0 bytes
-rw-r--r--Icon/generic/analysis/generic-greenpresentbox.pngbin855 -> 0 bytes
-rw-r--r--Icon/generic/analysis/generic-herb.pngbin1427 -> 0 bytes
-rw-r--r--Icon/generic/analysis/generic-naftalina.pngbin1385 -> 0 bytes
-rw-r--r--Icon/generic/analysis/org/reinboo-stick.pngbin510 -> 0 bytes
-rw-r--r--Icon/generic/analysis/santacookie.pngbin390 -> 0 bytes
-rw-r--r--Icon/generic/generic-cesta-macas.pngbin0 -> 1960 bytes
-rw-r--r--Icon/generic/generic-crystal.pngbin0 -> 553 bytes
-rw-r--r--Icon/usable/book/.gitkeep (renamed from Interface/.gitkeep)0
-rw-r--r--Icon/usable/book/generic-pagina-branca.png (renamed from Icon/generic/analysis/generic-pagina-branca.png)bin1631 -> 1631 bytes
-rw-r--r--Icon/usable/book/generic-pagina-dourada.pngbin0 -> 1554 bytes
-rw-r--r--Icon/usable/book/generic-pagina-negra.pngbin0 -> 1795 bytes
-rw-r--r--Icon/usable/book/generic-pagina-vermelha.pngbin0 -> 1317 bytes
-rw-r--r--Icon/usable/food/lawncandy.pngbin0 -> 2249 bytes
-rw-r--r--Icon/usable/generic-bussola-ventos.pngbin0 -> 836 bytes
-rw-r--r--Icon/usable/generic-bussola.pngbin0 -> 1303 bytes
-rw-r--r--Icon/weapons/goldensword.xcf (renamed from Icon/weapons/Golden Sword.xcf)bin2152 -> 2152 bytes
-rw-r--r--Icon/weapons/goldensword2.png (renamed from Icon/weapons/Golden Sword2.png)bin1367 -> 1367 bytes
-rw-r--r--Icon/weapons/knightssword.gif (renamed from Icon/weapons/Knight's Sword.gif)bin216 -> 216 bytes
-rw-r--r--Icon/weapons/tool/pick.png (renamed from Icon/weapons/tool/Pick.png)bin323 -> 323 bytes
-rw-r--r--Interface/Evol website/Button_layers.xcfbin236550 -> 0 bytes
-rw-r--r--Interface/Evol website/Buttons.xcfbin104247 -> 0 bytes
-rw-r--r--Interface/Evol website/Download_button.xcfbin343236 -> 0 bytes
-rw-r--r--Interface/Evol website/Site_cpt.psd1
-rw-r--r--Items/.gitkeep0
-rw-r--r--Items/MTG_card2.pngbin0 -> 2627 bytes
-rw-r--r--Items/MTG_deckbox.pngbin0 -> 443 bytes
-rw-r--r--Items/pinkiepelt6.pngbin0 -> 737 bytes
-rw-r--r--Npc/008-1/_import.txt8
-rw-r--r--Npc/008-1/_mobs.txt15
-rw-r--r--Npc/008-1/_warps.txt13
-rw-r--r--Npc/008-1/confused-tree.txt957
-rw-r--r--Npc/008-1/doors.txt6
-rw-r--r--Npc/008-1/mapflags.txt1
-rw-r--r--Npc/008-1/wateranimation.txt9
-rw-r--r--Npc/008-2-0/_import.txt5
-rw-r--r--Npc/008-2-0/_savepoints.txt11
-rw-r--r--Npc/008-2-0/_warps.txt4
-rw-r--r--Npc/008-2-0/mapflags.txt1
-rw-r--r--Npc/008-2-1/_import.txt5
-rw-r--r--Npc/008-2-1/_savepoints.txt11
-rw-r--r--Npc/008-2-1/_warps.txt4
-rw-r--r--Npc/008-2-1/mapflags.txt1
-rw-r--r--Npc/008-2-10/_import.txt4
-rw-r--r--Npc/008-2-10/_warps.txt4
-rw-r--r--Npc/008-2-10/mapflags.txt1
-rw-r--r--Npc/008-2-11/_import.txt5
-rw-r--r--Npc/008-2-11/_savepoints.txt20
-rw-r--r--Npc/008-2-11/_warps.txt3
-rw-r--r--Npc/008-2-11/mapflags.txt1
-rw-r--r--Npc/008-2-12/_import.txt4
-rw-r--r--Npc/008-2-12/_warps.txt4
-rw-r--r--Npc/008-2-12/mapflags.txt1
-rw-r--r--Npc/008-2-13/_import.txt5
-rw-r--r--Npc/008-2-13/_savepoints.txt38
-rw-r--r--Npc/008-2-13/_warps.txt4
-rw-r--r--Npc/008-2-13/mapflags.txt1
-rw-r--r--Npc/008-2-14/_import.txt5
-rw-r--r--Npc/008-2-14/_savepoints.txt11
-rw-r--r--Npc/008-2-14/_warps.txt3
-rw-r--r--Npc/008-2-14/mapflags.txt1
-rw-r--r--Npc/008-2-2/_import.txt4
-rw-r--r--Npc/008-2-2/_warps.txt6
-rw-r--r--Npc/008-2-2/mapflags.txt1
-rw-r--r--Npc/008-2-3/_import.txt4
-rw-r--r--Npc/008-2-3/_warps.txt3
-rw-r--r--Npc/008-2-3/mapflags.txt1
-rw-r--r--Npc/008-2-4/_import.txt5
-rw-r--r--Npc/008-2-4/_savepoints.txt11
-rw-r--r--Npc/008-2-4/_warps.txt3
-rw-r--r--Npc/008-2-4/mapflags.txt1
-rw-r--r--Npc/008-2-5/_import.txt4
-rw-r--r--Npc/008-2-5/_warps.txt3
-rw-r--r--Npc/008-2-5/mapflags.txt1
-rw-r--r--Npc/008-2-6/_import.txt4
-rw-r--r--Npc/008-2-6/_warps.txt3
-rw-r--r--Npc/008-2-6/mapflags.txt1
-rw-r--r--Npc/008-2-7/_import.txt5
-rw-r--r--Npc/008-2-7/_savepoints.txt11
-rw-r--r--Npc/008-2-7/_warps.txt3
-rw-r--r--Npc/008-2-7/mapflags.txt1
-rw-r--r--Npc/008-2-8/_import.txt4
-rw-r--r--Npc/008-2-8/_warps.txt3
-rw-r--r--Npc/008-2-8/mapflags.txt1
-rw-r--r--Npc/008-2-9/_import.txt5
-rw-r--r--Npc/008-2-9/_savepoints.txt11
-rw-r--r--Npc/008-2-9/_warps.txt3
-rw-r--r--Npc/008-2-9/mapflags.txt1
-rw-r--r--Rules/rules.txt4
-rw-r--r--Sprites/Equipment/accessories/angel-wings.xml102
-rw-r--r--Sprites/Equipment/chests/chest-snakeplate-female.pngbin37786 -> 0 bytes
-rw-r--r--Sprites/Equipment/chests/chest-snakeplate-female.xml103
-rw-r--r--Sprites/Equipment/chests/chest-snakeplate-male.pngbin27589 -> 0 bytes
-rw-r--r--Sprites/Equipment/chests/chest-snakeplate-male.xml103
-rw-r--r--Sprites/Equipment/chests/ready/Sprites_Equipment_chests_chest-snakeplate-female.pngbin0 -> 20415 bytes
-rw-r--r--Sprites/Equipment/chests/ready/Sprites_Equipment_chests_chest-snakeplate-male.pngbin0 -> 25217 bytes
-rw-r--r--Sprites/Equipment/chests/xcf/Sprites_Equipment_chests_chest-snakeplate-female.xcfbin0 -> 275089 bytes
-rw-r--r--Sprites/Equipment/chests/xcf/Sprites_Equipment_chests_chest-snakeplate-male.xcfbin0 -> 276942 bytes
-rw-r--r--Sprites/Equipment/head/Glitter_Fro.png (renamed from Icon/LoF/Glitter Fro.png)bin20001 -> 20001 bytes
-rw-r--r--Sprites/Equipment/head/bandana_black.pngbin0 -> 1773 bytes
-rw-r--r--Sprites/Equipment/head/bandana_blue.pngbin0 -> 1730 bytes
-rw-r--r--Sprites/Equipment/head/bandana_gold.pngbin0 -> 1818 bytes
-rw-r--r--Sprites/Equipment/head/bandana_green.pngbin0 -> 1817 bytes
-rw-r--r--Sprites/Equipment/head/glitter_fro.pngbin20001 -> 0 bytes
-rw-r--r--Sprites/Equipment/head/head-mask-aguia.pngbin0 -> 4614 bytes
-rw-r--r--Sprites/Equipment/head/hitomb-lord.pngbin0 -> 16615 bytes
-rw-r--r--Sprites/Equipment/head/pirate_Lords_Hat_2017_new_2.pngbin0 -> 3194 bytes
-rw-r--r--Sprites/Equipment/head/ready/Icon_LoF_Chrome__miners_hat.pngbin0 -> 2800 bytes
-rw-r--r--Sprites/Equipment/head/ready/Icon_LoF_deep_Minors_Helm_comp.pngbin0 -> 6109 bytes
-rw-r--r--Sprites/Equipment/head/ready/Icon_LoF_sage_enhanced_final_rendition.pngbin0 -> 9438 bytes
-rw-r--r--Sprites/Equipment/head/ready/Icon_LoF_the_iron_mask.pngbin0 -> 4804 bytes
-rw-r--r--Sprites/Equipment/head/ready/antlerhat.pngbin799 -> 0 bytes
-rw-r--r--Sprites/Equipment/head/ready/head-wreath.pngbin830 -> 0 bytes
-rw-r--r--Sprites/Equipment/head/ready/pumpkinhelmet.pngbin2136 -> 0 bytes
-rw-r--r--Sprites/Equipment/head/ready/silkheadband.pngbin2631 -> 0 bytes
-rw-r--r--Sprites/Equipment/head/ready/underworldmask.pngbin2493 -> 0 bytes
-rw-r--r--Sprites/Equipment/head/ready/witchhat.pngbin1135 -> 0 bytes
-rw-r--r--Sprites/Equipment/head/ready/wizardhat.pngbin1470 -> 0 bytes
-rw-r--r--Sprites/Equipment/head/superpaperhat.pngbin2285 -> 0 bytes
-rw-r--r--Sprites/Equipment/head/xcf/Icon_LoF_Chrome__miners_hat.xcfbin0 -> 21942 bytes
-rw-r--r--Sprites/Equipment/head/xcf/Icon_LoF_deep_Minors_Helm_comp.xcfbin0 -> 17126 bytes
-rw-r--r--Sprites/Equipment/head/xcf/Icon_LoF_sage_enhanced_final_rendition.xcfbin0 -> 17116 bytes
-rw-r--r--Sprites/Equipment/head/xcf/Icon_LoF_the_iron_mask.xcfbin0 -> 16655 bytes
-rw-r--r--Sprites/Equipment/head/xcf/moonshroomhat.xcfbin0 -> 88150 bytes
-rw-r--r--Sprites/Hairstyles/for pookie/readme.md2
-rw-r--r--Sprites/Monsters/dark_frostiana.xcfbin0 -> 22153 bytes
-rw-r--r--Sprites/Monsters/efeito-onda.pngbin0 -> 4522 bytes
-rw-r--r--Sprites/Monsters/espectro-sombrio.pngbin0 -> 49656 bytes
-rw-r--r--Sprites/Monsters/espectro-sombrio.xml152
-rw-r--r--Sprites/Monsters/monstro-aranha-rainha.pngbin0 -> 164777 bytes
-rw-r--r--Sprites/Monsters/monstro-aranha-rainha.xml74
-rw-r--r--Sprites/Monsters/monstro-aranha-rainha2.pngbin0 -> 108868 bytes
-rw-r--r--Sprites/Monsters/monstro-aranha-rainha2.xml74
-rw-r--r--Sprites/Monsters/monstro-aranha.pngbin0 -> 12783 bytes
-rw-r--r--Sprites/Monsters/monstro-aranha.xml74
-rw-r--r--Sprites/Monsters/swamp_maggot.xcfbin0 -> 91801 bytes
-rw-r--r--Sprites/Monsters/tartaruga-espinhosa.pngbin0 -> 16039 bytes
-rw-r--r--Sprites/Monsters/tartaruga-espinhosa.xml98
-rw-r--r--Sprites/Npcs/3431mon_banana.pngbin0 -> 3996 bytes
-rw-r--r--Sprites/Npcs/3481.pngbin2606 -> 0 bytes
-rw-r--r--Sprites/Npcs/4001.jpgbin10998 -> 0 bytes
-rw-r--r--Sprites/Npcs/banhista.pngbin0 -> 3270 bytes
-rw-r--r--Sprites/Npcs/bruxa-levitando.xml31
-rw-r--r--Sprites/Npcs/bruxa-livro.pngbin0 -> 6790 bytes
-rw-r--r--Sprites/Npcs/bruxa-livro.xml30
-rw-r--r--Sprites/Npcs/bruxa-vassoura.pngbin0 -> 16039 bytes
-rw-r--r--Sprites/Npcs/bruxa-vassoura.xml97
-rw-r--r--Sprites/Npcs/bruxa.pngbin0 -> 10797 bytes
-rw-r--r--Sprites/Npcs/bruxa.xml31
-rw-r--r--Sprites/Npcs/lanterna-jack.pngbin0 -> 16384 bytes
-rw-r--r--Sprites/Npcs/lanterna-jack.xml92
-rw-r--r--Sprites/Npcs/npcs-br.pngbin0 -> 60660 bytes
-rw-r--r--Sprites/Npcs/npcs-br2.pngbin0 -> 137260 bytes
-rw-r--r--Sprites/Npcs/perching_piou_spritesheet.pngbin0 -> 2419 bytes
-rw-r--r--Sprites/Npcs/scarecrow.pngbin2940 -> 0 bytes
-rw-r--r--Sprites/Npcs/singing_piou_spritesheet.pngbin0 -> 1918 bytes
-rw-r--r--Sprites/Npcs/sleeping_piou_spritesheet.pngbin0 -> 1777 bytes
-rw-r--r--Sprites/Npcs/xcf/perching_piou.xcfbin0 -> 41830 bytes
-rw-r--r--Sprites/Npcs/xcf/piou_singing.xcfbin0 -> 31075 bytes
-rw-r--r--Sprites/Npcs/xcf/sleeping_piou.xcfbin0 -> 35365 bytes
-rw-r--r--Sprites/model/usable/largeheadmodel-male.pngbin0 -> 4126 bytes
-rw-r--r--Tilesets/swamp_tree_x2x3.pngbin0 -> 69148 bytes
-rw-r--r--Wallpaper/halloweenloginwallpaper_1024x768.pngbin296968 -> 0 bytes
-rw-r--r--Wallpaper/login_wallpaper.xcfbin5932118 -> 6231695 bytes
-rw-r--r--monsters.xml652
195 files changed, 1609 insertions, 1698 deletions
diff --git a/ART_LICENSE b/ART_LICENSE
index 1fdcea93..3e4fe71c 100644
--- a/ART_LICENSE
+++ b/ART_LICENSE
@@ -69,6 +69,10 @@ https://gitlab.com/TMW2/Docs/wikis/Contributors
##2018
### 05
+# Items
+ Items/pinkiepelt6.png (seeds) (CC BY-SA 3.0) (-)
+ Items/MTG_card2.png (by seeds) (CC BY-SA 3.0) (-)
+ Items/MTG_deckbox (by seeds) (CC BY-SA 3.0) (-)
# Icon
## Arrows
@@ -243,43 +247,127 @@ https://gitlab.com/TMW2/Docs/wikis/Contributors
Icon/weapons/bow/curvedbow.png (David E. Gervais) (CC BY-SA 3.0) (-)
Icon/weapons/bow/hunterbow.png (David E. Gervais) (CC BY-SA 3.0) (-)
### onehanded
+ Icon/weapons/onehanded/apprenticesword.png
+ Icon/weapons/onehanded/archangelsword.png
+ Icon/weapons/onehanded/assassinblade.png
+ Icon/weapons/onehanded/axe-hatchet.png
+ Icon/weapons/onehanded/barbarianaxe.png
+ Icon/weapons/onehanded/brassknuckles.png
+ Icon/weapons/onehanded/convictstone.png
+ Icon/weapons/onehanded/goldSword.png
+ Icon/weapons/onehanded/kitana3.png
+ Icon/weapons/onehanded/kitana_4.png
+ Icon/weapons/onehanded/raidersickle.png
+ Icon/weapons/onehanded/raidersword.png
+ Icon/weapons/onehanded/sheeth_on_side.png
+ Icon/weapons/onehanded/weapon-dagger-bronzesword-4.png
+ Icon/weapons/onehanded/with_sheeth.png
### tool
+ Icon/weapons/tool/doublehammer.png (David E. Gervais) (CC BY-SA 3.0) (-)
+ Icon/weapons/tool/fathammer.png (David E. Gervais) (CC BY-SA 3.0) (-)
+ Icon/weapons/tool/gianthammer.png (David E. Gervais) (CC BY-SA 3.0) (-)
+ Icon/weapons/tool/goldentrianglehammer.png (David E. Gervais) (CC BY-SA 3.0) (-)
+ Icon/weapons/tool/pick.png (David E. Gervais) (CC BY-SA 3.0) (-)
+ Icon/weapons/tool/steelpick.png (David E. Gervais) (CC BY-SA 3.0) (-)
+ Icon/weapons/tool/trianglehammer.png (David E. Gervais) (CC BY-SA 3.0) (-)
### twohanded
+ Icon/weapons/twohanded/basicspear.png (TMW BR) NEED FIX
+ Icon/weapons/twohanded/butterflynet.png (TMW BR) NEED FIX
+ Icon/weapons/twohanded/guntmwicon.png (skipy) (GPL v2) (-)
+ Icon/weapons/twohanded/heavypike.png (TMW BR) NEED FIX
+ Icon/weapons/twohanded/weapon-polearm-bardiche.png (TMW BR) NEED FIX
+ Icon/weapons/twohanded/weapon-polearm-dualspear.png (TMW BR) NEED FIX
+ Icon/weapons/twohanded/weapon-polearm-halberd.png (TMW BR) NEED FIX
### xcf
+ Icon/weapons/xcfknife.xcf (Saulc) (CC BY-SA 3.0) (-)
Icon/weapons/xcf/minerknife.xcf (Saulc) (CC BY-SA 3.0) (-)
-# Lang
-
# Maps
## GumiHurns
+ Maps/GumiHurns/008-1.png (gumi) (CC BY-SA 3.0) (-)
+ Maps/GumiHurns/008-1.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-0.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-1.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-10.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-11.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-12.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-13.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-14.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-2.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-3.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-4.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-5.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-6.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-7.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-8.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+ Maps/GumiHurns/008-2-9.tmx (gumi) (CC BY-SA 3.0) (TMW Legacy)
+## Nivalis
+ Maps/Nivalis/ice passage - Monster King Hideout.tmx (LOF FIX)
+ Maps/Nivalis/ice passage - north area.tmx (LOF FIX)
+ Maps/Nivalis/ice passage.tmx (LOF FIX)
+ Maps/Nivalis/nivalis.tmx (Jesusalva) (GPL v2) (TMW)
+## Tonori Canyon
+ Maps/Tonori Canyon/desert_labyrynth_private.rar (Saulc) (CC BY-SA 3.0) (-)
# Minimaps
# Music
-# NPC
-## 008-1
-## 008-2-0
-## 008-2-1
-## 008-2-10
-## 008-2-11
-## 008-2-12
-## 008-2-13
-## 008-2-14
-## 008-2-2
-## 008-2-3
-## 008-2-4
-## 008-2-5
-## 008-2-6
-## 008-2-7
-## 008-2-8
-## 008-2-9
-
# Rules
-## Cave_indoor
+ Rules/rule_cave.tmx
+## castle_indoor
+ Rules/castle_indoor/rule_castle_001.tmx
+ Rules/castle_indoor/rule_castle_002.tmx
+ Rules/castle_indoor/rule_castle_003.tmx
+ Rules/castle_indoor/rule_castle_009.tmx
+ Rules/castle_indoor/rule_castle_010.tmx
## cave
+ Rules/cave/rule_cave_001.tmx
+ Rules/cave/rule_cave_002.tmx
+ Rules/cave/rule_cave_003.tmx
+ Rules/cave/rule_cave_004.tmx
+ Rules/cave/rule_cave_005.tmx
+ Rules/cave/rule_cave_006.tmx
+ Rules/cave/rule_cave_007.tmx
+ Rules/cave/rule_cave_008.tmx
+ Rules/cave/rule_cave_009.tmx
+ Rules/cave/rule_cave_010.tmx
+ Rules/cave/rule_cave_050.tmx
+ Rules/cave/rule_cave_100.tmx
+## desertcliffs
+ Rules/desertcliffs/rule_cave_001.tmx
+ Rules/desertcliffs/rule_cave_002.tmx
+ Rules/desertcliffs/rule_cave_003.tmx
+ Rules/desertcliffs/rule_cave_004.tmx
+ Rules/desertcliffs/rule_cave_005.tmx
+ Rules/desertcliffs/rule_cave_006.tmx
+ Rules/desertcliffs/rule_cave_007.tmx
+ Rules/desertcliffs/rule_cave_008.tmx
+ Rules/desertcliffs/rule_cave_03.tmx
+ Rules/desertcliffs/rule_cave_50.tmx
+ Rules/desertcliffs/rule_cave_100.tmx
## icecave
-##tilesets
+ Rules/icecave/rule_icecave_001.tmx
+ Rules/icecave/rule_icecave_002.tmx
+ Rules/icecave/rule_icecave_003.tmx
+ Rules/icecave/rule_icecave_004.tmx
+ Rules/icecave/rule_icecave_005.tmx
+ Rules/icecave/rule_icecave_006.tmx
+ Rules/icecave/rule_icecave_007.tmx
+ Rules/icecave/rule_icecave_008.tmx
+ Rules/icecave/rule_icecave_009.tmx
+ Rules/icecave/rule_icecave_010.tmx
+ Rules/icecave/rule_icecave_020.tmx
+ Rules/icecave/rule_icecave_100.tmx
+##tilesets
+ Rules/tilesets/set_castle_indoor.png
+ Rules/tilesets/set_cave.png
+ Rules/tilesets/set_desertcliff.png
+ Rules/tilesets/set_hlw.png
+ Rules/tilesets/set_icecave.png
+ Rules/tilesets/set_icemountain.png
+ Rules/tilesets/set_rules.png
+ Rules/tilesets/set_woodland.png
#SFX
SFX/big_punch.wav (Socapex) (CC BY-SA 3.0) (https://opengameart.org/content/punches-hits-swords-and-squishes)
@@ -395,6 +483,9 @@ https://gitlab.com/TMW2/Docs/wikis/Contributors
Sprites/Monsters/xcf/pumpkandy.xcf (Saulc) (CC BY-SA 3.0) (TMW.org)
Sprites/Monsters/xcf/terranite.xcf (Kr0n05931) (GPLv2) (mishana, Saulc)
Sprites/monsters/xcf/yetifly.xcf (Saulc) (GPLv2) (Bcs86, Hkurn, Skipy)
+ Sprites/monsters/xcf/swamp_maggot.xcf (seeds) (CC BY-SA 3.0) (-)
+ Sprites/monsters/xcf/dark_frostiana.xcf (seeds) (CC BY-SA 3.0) (-)
+
## NPCs
sprite/npcs/00bnr.png (Lien) (GPLv2) (-)
sprite/npcs/00hinnack.png (Lien) (GPLv2) (-)
@@ -413,6 +504,9 @@ https://gitlab.com/TMW2/Docs/wikis/Contributors
sprite/npcs/scary_pirate.png (Lien) (GPLv2) (-)
sprite/npcs/skullkidhatmieu.png (Lien) (GPLv2) (-)
sprite/npcs/muestra.png (kalaez)
+ sprite/npcs/perching_piou_spritesheet.png (seeds) (CC BY-SA 3.0) (-)
+ sprite/npcs/sleeping_piou_spritesheet.png (seeds) (CC BY-SA 3.0) (-)
+ sprite/npcs/singing_piou_spritesheet.png (seeds) (CC BY-SA 3.0) (-)
### 64x64
Sprites/Npcs/64x64/Bucket_of_Milk.png (Nami) (CC BY-SA 3.0) (Pookie)
@@ -465,6 +559,9 @@ https://gitlab.com/TMW2/Docs/wikis/Contributors
Sprites/Npcs/xcf/switch.xcf
Sprites/Npcs/xcf/tamer.xcf
Sprites/Npcs/xcf/woodywife-carla.xcf (Saulc) (CC BY-SA 3.0) (-)
+ Sprites/Npcs/xcf/perching_piou.xcf (seeds) (CC BY-SA 3.0) (-)
+ Sprites/Npcs/xcf/sleeping_piou.xcf (seeds) (CC BY-SA 3.0) (-)
+ Sprites/Npcs/xcf/piou_singing.xcf (seeds) (CC BY-SA 3.0) (-)
## model
### usable
@@ -508,20 +605,46 @@ https://gitlab.com/TMW2/Docs/wikis/Contributors
Tilesets/xcf/dyeable_arena.xcf (?) (GPLv2) (Saulc)
Tilesets/xcf/signs_x2.xcf (?) (CC BY-SA 3.0) (Saulc)
Tilesets/xcf/woodland_sand.xcf (?) (GPLv2) (TMW.org, Saulc)
+ Tilesets/xcf/swamp_trees_x2x3 (seeds) (CC BY-SA 3.0) (-)
# WIP
-## CCO Magerage
+## CC0 - magerage - Miloslav Číž
+ WIP/CC0 - magerage - Miloslav Číž/object_button_1.png
+ WIP/CC0 - magerage - Miloslav Číž/object_button_2.png
+ WIP/CC0 - magerage - Miloslav Číž/object_lever_1.png
+ WIP/CC0 - magerage - Miloslav Číž/object_lever_2.png
+ WIP/CC0 - magerage - Miloslav Číž/object_lever_3.png
+ WIP/CC0 - magerage - Miloslav Číž/object_lever_4.png
+ WIP/CC0 - magerage - Miloslav Číž/object_lever_5.png
+ WIP/CC0 - magerage - Miloslav Číž/object_statue.png
+ WIP/CC0 - magerage - Miloslav Číž/object_teleport_input.png
+ WIP/CC0 - magerage - Miloslav Číž/object_teleport_output.png
+ WIP/CC0 - magerage - Miloslav Číž/switch.png
+
## equipment
### chest
+ WIP/equipment/chest/atmwgc.png (tmw forum)
+ WIP/equipment/chest/awesomeBD.png (tmw forum)
+ WIP/equipment/chest/labcoat_20130603.png (bcs86)
+ WIP/equipment/chest/labcoat_female.png (Nard) (GPLv2) (-)
### feet
+ WIP/equipment/feet/progress.png
### head
+ WIP/equipment/head/RastHat.png (MAF-Ours) (CC BY-SA 3.0) (Saulc)
+ WIP/equipment/head/Samurai_helmet.png (MAF-Ours) (CC BY-SA 3.0) (Saulc)
+ WIP/equipment/head/indianset.png (MAF-Ours) (CC BY-SA 3.0) (-)
### weapon
-
+ WIP/equipment/equipment/Brown Sword.png (Psychodelic) (GPLv2) (-)
+ WIP/equipment/equipment/Dark Red Sword.png (Psychodelic) (GPLv2) (-)
+ WIP/equipment/equipment/Red Speed Sword.png (Psychodelic) (GPLv2) (-)
+ WIP/equipment/equipment/hammer.png (meway) (GPLv2) (-)
# Wallpaper
Wallpaper/halloweenloginwallpaper_1024x768.png
Wallpaper/login_wallpaper.xcf
Wallpaper/login_wallpaper_niver.png
Wallpaper/login_wallpaper_xmas.png
+
# graphics
+ graphics/darkness.xcf
Every Francesco Miglietta under CC-BY-SA 3.0 mean HAL9000
--------------------------------------------------------------------------
diff --git a/Drafts/hats.xlsx b/Drafts/hats.xlsx
new file mode 100644
index 00000000..f8bce154
--- /dev/null
+++ b/Drafts/hats.xlsx
Binary files differ
diff --git a/Drafts/kn_craft.xlsx b/Drafts/kn_craft.xlsx
new file mode 100644
index 00000000..af5dfd9e
--- /dev/null
+++ b/Drafts/kn_craft.xlsx
Binary files differ
diff --git a/Drafts/manaplus_improvments.md b/Drafts/manaplus_improvments.md
deleted file mode 100644
index 753485c5..00000000
--- a/Drafts/manaplus_improvments.md
+++ /dev/null
@@ -1,94 +0,0 @@
-# ManaPlus Improvments [DRAFT]
-
-> This is a Draft, which means that the document is not done yet and as such shouldn't be took for granted. But that doesn't mean that the points are less important.
-
-### Cronical Failure Message
-
-Everytime you use a skill, a success and an error message shows up. If you try to
-collect loot and press the collect key ('Z') multiple times, manaplus will also
-spam you with error messages.
-
-### Disregarded Movement Block
-
-Sometimes the server may block player movement (via setpcblock) or you may have
-the ability to move impaired by some status condition (stun/sleep/freeze/etc.)
-Whenever the issue is BLOCK MOVEMENT, ManaPlus cannot handle it well.
-
-### npcdialog.xml is not flexible
-
-I would like to be able to create fully customized interfaces - the most needed
-improvement here would be the ability to server hide buttons/images/etc. based on
-the select options.
-
-### Theme Flexibility
-
-Would be interesting if there was another theme which looked like Source of Tales.
-
-### Default Resolution is not good for servers
-
-By default, manaplus will use whatever highest resolution is available.
-However, most servers were designed for screens no bigger than 1280×1280.
-
-## Problems
-
-### Syncing Problems
-
-- General mob and player position desync (The bug that we try to fight with the
-"Resync" command). It is because the way M+ and Server handles player movement is
-different - while manaplus does small movements in each direction, with its own
-pathfinder, the server expects big moves request, which cannot be cancelled (?),
-made by mouse. This difference causes desync, even more noticeable when there's
-network lag (the strongest the network lag, the hardest the desync will be).
-Patches on server-side are appreciated, too.
-- Mob corpses (mobs that a dead but to m+ they still live)
-
-### Mob render distance
-Mobs aren't allways rendered at the screen edges (big window)
-
-### Controls on mobile are horrible
-We have the touch buttons, but that doesn't changes the fact that the desktop-version interface doesn't work on mobile - especialy the menu and interface is not fun on a phone.
-See the reviews on googleplaystore:
-https://play.google.com/store/apps/details?id=org.evolonline.beta.manaplus&showAllReviews=true
-
-> **LawnCables opinion**: We don't need as much options and customisation options on mobile (I want to say we should find good defaults and hide the settings that make not much sense on mobile, such as keyboard bindings)
-
-### Controller support could use some upgrades
-
-- Better out of the box experience (with xbox360 controller)
-
-- Display talk button symbol over the npc that will get triggered so that the user knows when he can press it
-
-%TODO add improvment wishes here%
-
-### Misc Bugs:
-
-- sitting with s doesn't allways work instantanious (network lag?)
-- Item info of bank items isn't shown (tmw2 death acorns - name of person that droped it)
-- Support for full unicode text rendering (as example emojis with emoji fonts are displayed as tofu, not only important for emojis also important for signs that only recently were added to unicode)
-
-## (kinda Mandatory) New features
-
-### Renderer -> Real Lighting System
-Light and light sources
-Probably also shadows?
-
-## Documentation (that lacks or LawnCable didn't found):
-- Modding/Plugins (with examples)
-
-
-## Utopical ideas (Ideas that lack the link to reality)
-
-### Level Streaming
-No different maps and warping anymore -> one big map (maybe saved in chunks, that not the whole map has to be loaded in memory, though that might not be that big of a deal)
-
-- would need some things that mobs from outside can't enter cities
-- we need another system for exp-save-zones (villages)
-- we would still need 'instanciateable' levels for some quests (namely singleplayerquests) (example: hassan-> kill scorpion)
-
-## Minor Improvement Suggestions
-
-- Option to suppress the intrusive overweight message (make it chat message).
-- overweight message says you are over half weight but this might not be true, in
-servers where overweight is 75% for example.
-
-
diff --git a/Drafts/sprite_tmw2.txt b/Drafts/sprite_tmw2.txt
new file mode 100644
index 00000000..abd5ab4a
--- /dev/null
+++ b/Drafts/sprite_tmw2.txt
@@ -0,0 +1,53 @@
+deathhood.png
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/deathhood.png
+coool2.png
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/coool2.png
+Spot Shroom Hat1.png 869 Bytes
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/Spot%20Shroom%20Hat1.png
+Savior Helm.png
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/Savior%20Helm.png
+Sage Rulers Helm template final.png
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/Sage%20Rulers%20Helm%20template%20final.png
+Pirate Lords Hat.png
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/Pirate%20Lords%20Hat.png
+Pinkie Knights Helm View.png
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/Pinkie%20Knights%20Helm%20View.png
+Lucky clover Hat.png 5.13 KB
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/Lucky%20clover%20Hat.png
+Copolver sparten helm.png
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/Copolver%20sparten%20helm.png
+Broken Copolver Helm.png
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/Broken%20Copolver%20Helm.png
+Bounty Hunter Helm.png 2.
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/Bounty%20Hunter%20Helm.png
+monster-haunted.png
+https://gitlab.com/TMW2/Art/blob/master/Icon/LoF/Hello/monster-haunted.png
+angel-wings.png
+https://gitlab.com/TMW2/Art/blob/master/Sprites/Equipment/accessories/angel-wings.png
+longboots.png
+https://gitlab.com/TMW2/Art/blob/master/Sprites/Equipment/feet/longboots.png
+warlordboots.png
+https://gitlab.com/TMW2/Art/blob/master/Sprites/Equipment/feet/warlordboots.png
+warlockboots.png
+https://gitlab.com/TMW2/Art/blob/master/Sprites/Equipment/feet/warlockboots.png
+bigBowlerHat.png 1.22 KB
+https://gitlab.com/TMW2/Art/blob/master/Sprites/Equipment/head/bigBowlerHat.png
+1Grieves_working__1_.png
+https://gitlab.com/TMW2/Art/blob/master/Sprites/Equipment/legs/1Grieves_working__1_.png
+SaviorGrieves.png
+https://gitlab.com/TMW2/Art/blob/master/Sprites/Equipment/legs/SaviorGrieves.png
+WarlordGrieves.png
+https://gitlab.com/TMW2/Art/blob/master/Sprites/Equipment/legs/WarlordGrieves.png
+calca-baloeiro-male.png 31.9 KB
+https://gitlab.com/TMW2/Art/blob/master/Sprites/Equipment/legs/calca-baloeiro-male.png
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Icon/LoF/Aurora Glasses.png b/Icon/LoF/Aurora Glasses.png
deleted file mode 100644
index baabda2a..00000000
--- a/Icon/LoF/Aurora Glasses.png
+++ /dev/null
Binary files differ
diff --git a/Icon/LoF/Chrome miners hat.png b/Icon/LoF/Chrome miners hat.png
deleted file mode 100644
index 8781fad6..00000000
--- a/Icon/LoF/Chrome miners hat.png
+++ /dev/null
Binary files differ
diff --git a/Icon/LoF/Hello/Party Hat/Red(hair sprites).png b/Icon/LoF/Hello/Party Hat/Red(hair sprites).png
deleted file mode 100644
index 86577777..00000000
--- a/Icon/LoF/Hello/Party Hat/Red(hair sprites).png
+++ /dev/null
Binary files differ
diff --git a/Icon/LoF/Hello/witch-doctor-mask.png b/Icon/LoF/Hello/witch-doctor-mask.png
deleted file mode 100644
index e1d2857d..00000000
--- a/Icon/LoF/Hello/witch-doctor-mask.png
+++ /dev/null
Binary files differ
diff --git a/Icon/LoF/deep Minors Helm comp.png b/Icon/LoF/deep Minors Helm comp.png
deleted file mode 100644
index 6d487597..00000000
--- a/Icon/LoF/deep Minors Helm comp.png
+++ /dev/null
Binary files differ
diff --git a/Icon/LoF/glitter man.png b/Icon/LoF/glitter man.png
deleted file mode 100644
index 9dd65699..00000000
--- a/Icon/LoF/glitter man.png
+++ /dev/null
Binary files differ
diff --git a/Icon/LoF/goldscorpion2.png b/Icon/LoF/goldscorpion2.png
deleted file mode 100644
index 60ed7de8..00000000
--- a/Icon/LoF/goldscorpion2.png
+++ /dev/null
Binary files differ
diff --git a/Icon/LoF/justice set.png b/Icon/LoF/justice set.png
deleted file mode 100644
index 4cb34b49..00000000
--- a/Icon/LoF/justice set.png
+++ /dev/null
Binary files differ
diff --git a/Icon/LoF/poka dot afro2.png b/Icon/LoF/poka dot afro2.png
deleted file mode 100644
index 5084a364..00000000
--- a/Icon/LoF/poka dot afro2.png
+++ /dev/null
Binary files differ
diff --git a/Icon/LoF/sage enhanced final rendition.png b/Icon/LoF/sage enhanced final rendition.png
deleted file mode 100644
index 73043c96..00000000
--- a/Icon/LoF/sage enhanced final rendition.png
+++ /dev/null
Binary files differ
diff --git a/Icon/LoF/the iron mask.png b/Icon/LoF/the iron mask.png
deleted file mode 100644
index 769227f0..00000000
--- a/Icon/LoF/the iron mask.png
+++ /dev/null
Binary files differ
diff --git a/Lang/volapuk.png b/Icon/badges/flag/ready/volapuk.png
index 64b412d3..64b412d3 100644
--- a/Lang/volapuk.png
+++ b/Icon/badges/flag/ready/volapuk.png
Binary files differ
diff --git a/Lang/en.xcf b/Icon/badges/flag/xcf/en.xcf
index ee842be0..ee842be0 100644
--- a/Lang/en.xcf
+++ b/Icon/badges/flag/xcf/en.xcf
Binary files differ
diff --git a/Icon/hands/ready/.gitkeep b/Icon/emotes/.gitkeep
index e69de29b..e69de29b 100644
--- a/Icon/hands/ready/.gitkeep
+++ b/Icon/emotes/.gitkeep
diff --git a/Icon/generic/analysis/armor-feet-bota-natalina-vermelha.png b/Icon/generic/analysis/armor-feet-bota-natalina-vermelha.png
deleted file mode 100644
index 8e89b1b7..00000000
--- a/Icon/generic/analysis/armor-feet-bota-natalina-vermelha.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/armor-hands-luva-natalina-vermelha.png b/Icon/generic/analysis/armor-hands-luva-natalina-vermelha.png
deleted file mode 100644
index 2a50d6cb..00000000
--- a/Icon/generic/analysis/armor-hands-luva-natalina-vermelha.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/boxofchocolates.png b/Icon/generic/analysis/boxofchocolates.png
deleted file mode 100644
index 60cec5eb..00000000
--- a/Icon/generic/analysis/boxofchocolates.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/br/generic-globo-bneve.png b/Icon/generic/analysis/br/generic-globo-bneve.png
deleted file mode 100644
index 6ec60923..00000000
--- a/Icon/generic/analysis/br/generic-globo-bneve.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/br/generic-globo-noel.png b/Icon/generic/analysis/br/generic-globo-noel.png
deleted file mode 100644
index d9294978..00000000
--- a/Icon/generic/analysis/br/generic-globo-noel.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/br/generic-herb.png b/Icon/generic/analysis/br/generic-herb.png
deleted file mode 100644
index 0a832180..00000000
--- a/Icon/generic/analysis/br/generic-herb.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/christmasbulb.png b/Icon/generic/analysis/christmasbulb.png
deleted file mode 100644
index ce50e567..00000000
--- a/Icon/generic/analysis/christmasbulb.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/easterbasket.png b/Icon/generic/analysis/easterbasket.png
deleted file mode 100644
index 2863189c..00000000
--- a/Icon/generic/analysis/easterbasket.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/emerald.png b/Icon/generic/analysis/emerald.png
deleted file mode 100755
index 0520005b..00000000
--- a/Icon/generic/analysis/emerald.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/generic-cachecol.png b/Icon/generic/analysis/generic-cachecol.png
deleted file mode 100644
index e1daf735..00000000
--- a/Icon/generic/analysis/generic-cachecol.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/generic-globo-bneve.png b/Icon/generic/analysis/generic-globo-bneve.png
deleted file mode 100644
index 6ec60923..00000000
--- a/Icon/generic/analysis/generic-globo-bneve.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/generic-globo-noel.png b/Icon/generic/analysis/generic-globo-noel.png
deleted file mode 100644
index d9294978..00000000
--- a/Icon/generic/analysis/generic-globo-noel.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/generic-greenpresentbox.png b/Icon/generic/analysis/generic-greenpresentbox.png
deleted file mode 100644
index fe2a81c4..00000000
--- a/Icon/generic/analysis/generic-greenpresentbox.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/generic-herb.png b/Icon/generic/analysis/generic-herb.png
deleted file mode 100644
index 0a832180..00000000
--- a/Icon/generic/analysis/generic-herb.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/generic-naftalina.png b/Icon/generic/analysis/generic-naftalina.png
deleted file mode 100644
index 0c3de3d4..00000000
--- a/Icon/generic/analysis/generic-naftalina.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/org/reinboo-stick.png b/Icon/generic/analysis/org/reinboo-stick.png
deleted file mode 100644
index 3650581b..00000000
--- a/Icon/generic/analysis/org/reinboo-stick.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/analysis/santacookie.png b/Icon/generic/analysis/santacookie.png
deleted file mode 100644
index 1f1e0eef..00000000
--- a/Icon/generic/analysis/santacookie.png
+++ /dev/null
Binary files differ
diff --git a/Icon/generic/generic-cesta-macas.png b/Icon/generic/generic-cesta-macas.png
new file mode 100644
index 00000000..50141544
--- /dev/null
+++ b/Icon/generic/generic-cesta-macas.png
Binary files differ
diff --git a/Icon/generic/generic-crystal.png b/Icon/generic/generic-crystal.png
new file mode 100644
index 00000000..83918b83
--- /dev/null
+++ b/Icon/generic/generic-crystal.png
Binary files differ
diff --git a/Interface/.gitkeep b/Icon/usable/book/.gitkeep
index e69de29b..e69de29b 100644
--- a/Interface/.gitkeep
+++ b/Icon/usable/book/.gitkeep
diff --git a/Icon/generic/analysis/generic-pagina-branca.png b/Icon/usable/book/generic-pagina-branca.png
index 22cfde43..22cfde43 100644
--- a/Icon/generic/analysis/generic-pagina-branca.png
+++ b/Icon/usable/book/generic-pagina-branca.png
Binary files differ
diff --git a/Icon/usable/book/generic-pagina-dourada.png b/Icon/usable/book/generic-pagina-dourada.png
new file mode 100644
index 00000000..04c818d7
--- /dev/null
+++ b/Icon/usable/book/generic-pagina-dourada.png
Binary files differ
diff --git a/Icon/usable/book/generic-pagina-negra.png b/Icon/usable/book/generic-pagina-negra.png
new file mode 100644
index 00000000..718460a1
--- /dev/null
+++ b/Icon/usable/book/generic-pagina-negra.png
Binary files differ
diff --git a/Icon/usable/book/generic-pagina-vermelha.png b/Icon/usable/book/generic-pagina-vermelha.png
new file mode 100644
index 00000000..481c11e7
--- /dev/null
+++ b/Icon/usable/book/generic-pagina-vermelha.png
Binary files differ
diff --git a/Icon/usable/food/lawncandy.png b/Icon/usable/food/lawncandy.png
new file mode 100644
index 00000000..afd9ed07
--- /dev/null
+++ b/Icon/usable/food/lawncandy.png
Binary files differ
diff --git a/Icon/usable/generic-bussola-ventos.png b/Icon/usable/generic-bussola-ventos.png
new file mode 100644
index 00000000..ab02895a
--- /dev/null
+++ b/Icon/usable/generic-bussola-ventos.png
Binary files differ
diff --git a/Icon/usable/generic-bussola.png b/Icon/usable/generic-bussola.png
new file mode 100644
index 00000000..3a7aa3ca
--- /dev/null
+++ b/Icon/usable/generic-bussola.png
Binary files differ
diff --git a/Icon/weapons/Golden Sword.xcf b/Icon/weapons/goldensword.xcf
index 1b95d662..1b95d662 100644
--- a/Icon/weapons/Golden Sword.xcf
+++ b/Icon/weapons/goldensword.xcf
Binary files differ
diff --git a/Icon/weapons/Golden Sword2.png b/Icon/weapons/goldensword2.png
index a81da9ec..a81da9ec 100644
--- a/Icon/weapons/Golden Sword2.png
+++ b/Icon/weapons/goldensword2.png
Binary files differ
diff --git a/Icon/weapons/Knight's Sword.gif b/Icon/weapons/knightssword.gif
index 4beab79b..4beab79b 100644
--- a/Icon/weapons/Knight's Sword.gif
+++ b/Icon/weapons/knightssword.gif
Binary files differ
diff --git a/Icon/weapons/tool/Pick.png b/Icon/weapons/tool/pick.png
index f3ecf605..f3ecf605 100644
--- a/Icon/weapons/tool/Pick.png
+++ b/Icon/weapons/tool/pick.png
Binary files differ
diff --git a/Interface/Evol website/Button_layers.xcf b/Interface/Evol website/Button_layers.xcf
deleted file mode 100644
index ca2a3983..00000000
--- a/Interface/Evol website/Button_layers.xcf
+++ /dev/null
Binary files differ
diff --git a/Interface/Evol website/Buttons.xcf b/Interface/Evol website/Buttons.xcf
deleted file mode 100644
index c3489e59..00000000
--- a/Interface/Evol website/Buttons.xcf
+++ /dev/null
Binary files differ
diff --git a/Interface/Evol website/Download_button.xcf b/Interface/Evol website/Download_button.xcf
deleted file mode 100644
index 1b72d8d5..00000000
--- a/Interface/Evol website/Download_button.xcf
+++ /dev/null
Binary files differ
diff --git a/Interface/Evol website/Site_cpt.psd b/Interface/Evol website/Site_cpt.psd
deleted file mode 100644
index a0b56826..00000000
--- a/Interface/Evol website/Site_cpt.psd
+++ /dev/null
@@ -1 +0,0 @@
-https://gitlab.com/evol/evol-media/blob/master/Web/Site_cpt.psd \ No newline at end of file
diff --git a/Items/.gitkeep b/Items/.gitkeep
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/Items/.gitkeep
diff --git a/Items/MTG_card2.png b/Items/MTG_card2.png
new file mode 100644
index 00000000..a18cc54e
--- /dev/null
+++ b/Items/MTG_card2.png
Binary files differ
diff --git a/Items/MTG_deckbox.png b/Items/MTG_deckbox.png
new file mode 100644
index 00000000..99a040da
--- /dev/null
+++ b/Items/MTG_deckbox.png
Binary files differ
diff --git a/Items/pinkiepelt6.png b/Items/pinkiepelt6.png
new file mode 100644
index 00000000..202e6b6e
--- /dev/null
+++ b/Items/pinkiepelt6.png
Binary files differ
diff --git a/Npc/008-1/_import.txt b/Npc/008-1/_import.txt
deleted file mode 100644
index b7797bf0..00000000
--- a/Npc/008-1/_import.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-// Map 008-1: Hurnscald
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-1/_mobs.txt",
-"npc/008-1/_warps.txt",
-"npc/008-1/confused-tree.txt",
-"npc/008-1/doors.txt",
-"npc/008-1/mapflags.txt",
-"npc/008-1/wateranimation.txt",
diff --git a/Npc/008-1/_mobs.txt b/Npc/008-1/_mobs.txt
deleted file mode 100644
index e8835c09..00000000
--- a/Npc/008-1/_mobs.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-1: Hurnscald mobs
-008-1,99,39,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,100,42,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,102,40,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,105,41,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,101,44,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,104,43,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,109,40,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,108,42,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,106,44,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,109,44,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,111,42,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,112,44,0,0 monster Manana Tree 1017,1,420000,240000
-008-1,112,39,0,0 monster Manana Tree 1017,1,420000,240000
diff --git a/Npc/008-1/_warps.txt b/Npc/008-1/_warps.txt
deleted file mode 100644
index 44b0db66..00000000
--- a/Npc/008-1/_warps.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-1: Hurnscald warps
-008-1,105,76,0 warp #008-1_105_76 0,0,008-2-0,26,23
-008-1,102,79,0 warp #008-1_102_79 0,0,008-2-0,23,34
-008-1,88,71,0 warp #008-1_88_71 0,0,008-2-1,33,42
-008-1,90,66,0 warp #008-1_90_66 0,0,008-2-1,38,27
-008-1,65,55,0 warp #008-1_65_55 0,0,008-2-2,28,33
-008-1,89,58,0 warp #008-1_89_58 0,0,008-2-6,27,32
-008-1,101,55,0 warp #008-1_101_55 0,0,008-2-7,36,28
-008-1,121,71,0 warp #008-1_121_71 1,0,008-2-8,36,38
-008-1,72,68,0 warp #008-1_72_68 0,0,008-2-9,30,34
-008-1,102,69,0 warp #008-1_102_69 0,0,008-2-10,37,33
-008-1,110,56,0 warp #008-1_110_56 0,0,008-2-12,30,31
diff --git a/Npc/008-1/confused-tree.txt b/Npc/008-1/confused-tree.txt
deleted file mode 100644
index 22d415e4..00000000
--- a/Npc/008-1/confused-tree.txt
+++ /dev/null
@@ -1,957 +0,0 @@
-// Evol scripts.
-// Author:
-// gumi
-// Based on CrazyTree, originally made by:
-// gumi
-// pclouds
-// veryape
-// wushin
-// Description:
-// emulated confused tree prototype
-
-// ~t lowercase hot word regex
-
-008-1,84,63,0 script Confused Tree NPC_CONFUSED_TREE,14,14,{
-
- function tree_panel {
- if (!is_staff() && #Tree_Trusted == false)
- {
- narrator(l("You see a tree."));
- if (getq(HurnscaldQuests_Inspector) == 2)
- {
- select(
- l("Have you seen anything strange lately?"),
- l("Do you know anything about the recent robberies?"));
-
- narrator(S_FIRST_BLANK_LINE,
- l("..."),
- l("It doesn't reply."));
- }
- close;
- }
-
- function clear_db {
- clear();
- mes(l("##BWARNING:##b you are about to permanently empty the quote database."));
- next();
- mes(l("Do you want to continue?"));
-
- select(
- l("Abort!"),
- l("Empty the quote DB"));
-
- if (@menu == 2)
- {
- .@sentence$ = "I am an idiot";
- mes(l("Please write the following sentence:"));
- mes("");
- mesf(" ##B%s.", .@sentence$);
- input(.@confirm$);
-
- if (!startswith(strtoupper(.@confirm$), strtoupper(.@sentence$))) {
- mes(l("Invalid!"));
- close;
- }
-
- query_sql("TRUNCATE TABLE tree_quotes;");
- mes(l("Database erased."));
- next();
- }
-
- return;
- }
-
- function list_commands {
- clear();
- mes(l("To grab a quote:"));
- mes(col(" ~grab ##Bplayer name##b", 7));
- next();
- mes(l("To get a quote:"));
- mes(col(" ~quote anyone", 7));
- mes(col(" ~quote ##Bplayer name##b", 7));
- mes(col(" ~quote ##B#number##b", 7));
- next();
- mes(l("To remove a quote:"));
- mes(col(" ~remove quote ##B#number##b", 7));
- mes(col(" ~remove last quote", 7));
- next();
- mes(l("Last seen:"));
- mes(col(" ~seen ##Bplayer name##b", 7));
- next();
- mes(l("To ignore a player:"));
- mes(col(" ~ignore ##Bplayer name##b", 7));
- next();
- mes(l("To unignore a player:"));
- mes(col(" ~unignore ##Bplayer name##b", 7));
- next();
-
- if (is_admin())
- {
- mes(l("To trust a player:"));
- mes(col(" ~trust ##Bplayer name##b", 7));
- next();
- mes(l("To de-trust a player:"));
- mes(col(" ~untrust ##Bplayer name##b", 7));
- next();
- }
- return;
- }
-
- do
- {
- clear();
- setnpcdialogtitle(l("Tree Control Panel"));
- mes(l("Oh noes! You found my secret backdoor!"));
- next();
- mes(l("Please select an option:"));
-
- select(
- l("List the commands"),
- rif(is_admin(), l("Empty the quote DB")),
- l("Dance for me"));
-
- switch (@menu)
- {
- case 1: list_commands(); break;
- case 2: clear_db(); break;
- default: speech(l("Too lazy.")); close;
- }
-
- } while (true);
-
- end;
- }
-
- // utility functions below
-
- function check_is_ignored {
- .@val = htget(.ignore_ht, strcharinfo(PC_NAME), 0);
-
- if (.@val > gettimetick(2))
- {
- ++.ignored_times;
- end;
- }
-
- else if (.@val > 0)
- {
- htput(.ignore_ht, strcharinfo(PC_NAME), 0); // remove expired entries
- }
-
- return;
- }
-
- function special_name {
- .@name$ = strcharinfo(PC_NAME);
- .@low$ = strtolower(.@name$);
-
- if (rand(.sname_rate) == 0)
- {
- for (.@i = 0; .@i < .alias; .@i += 2)
- {
- if (.@low$ ~= .alias$[.@i])
- {
- explode(.@aliases$, .alias$[.@i+1], "`");
- .@name$ = .@aliases$[rand(getarraysize(.@aliases$))];
- break;
- }
- }
- }
-
- return .@name$;
- }
-
- function face {
- if (gettimetick(2) - .last_emote < .emote_rate)
- {
- ++.ignored_times;
- return;
- }
-
- .last_emote = gettimetick(2);
- return emotion(getarg(0, E_SURPRISE));
- }
-
- function rp {
- // used for queries
- return replacestr(getarg(0,""), "~t", strtolower("(?:" + .name$ + "|" + .hotwords$ + ")"));
- }
-
- function format_reply {
- // used for replies
- .@str$ = getarg(0, "");
-
- // search for {{mustaches}}
- while (.@str$ ~= "{{([^}]+)}}")
- {
- .@sub$ = replacestr($@regexmatch$[1], " ", ""); // remove whitespaces
- .@sub$ = strtolower(.@sub$); // always lowercase the var name
- .@capitalize = .@titlecase = .@allcaps = false;
-
- if (charat(.@sub$, 0) == "^")
- {
- .@capitalize = true;
- .@sub$ = substr(.@sub$, 1, getstrlen(.@sub$) - 1); // strip first char
- }
-
- else if (charat(.@sub$, 0) == "+")
- {
- .@titlecase = true;
- .@sub$ = substr(.@sub$, 1, getstrlen(.@sub$) - 1); // strip first char
- }
-
- else if (charat(.@sub$, 0) == "!")
- {
- .@allcaps = true;
- .@sub$ = substr(.@sub$, 1, getstrlen(.@sub$) - 1); // strip first char
- }
-
- explode(.@sub2$, .@sub$, ",");
- .@sub$ = .@sub2$[rand(getarraysize(.@sub2$))]; // allow to have multiple variables
-
- .@rep$ = getd(sprintf(".D_%s$[%i]", .@sub$, rand(getd(".D_" + .@sub$)))); // get he value
-
- if (.@capitalize) .@rep$ = capitalize(.@rep$);
- else if (.@titlecase) .@rep$ = titlecase(.@rep$);
- else if (.@allcaps) .@rep$ = strtoupper(.@rep$);
-
- .@str$ = replacestr(.@str$, $@regexmatch$[0], .@rep$); // remove the mustache, replace by value
- }
-
- // search for emotes
- if (.@str$ ~= "%%([^ ])")
- {
- // only handling a few of them
- switch (ord($@regexmatch$[1]))
- {
- case 73: face(any(E_WINK, E_ANGEL)); break;
- case 83: face(any(E_SAD, E_CRYING)); break;
- case 85: face(E_SURPRISE); break;
- case 93: face(any(E_HEARTEYE, E_HEART)); break;
- case 94: face(E_DISGUST); break;
- case 99: face(E_DEAD); break;
- case 105: face(E_CRYING); break;
- case 106:
- case 91: face(any(E_SPEECH, E_BLAH)); break;
- case 107: face(E_INSULTBUBBLE); break;
- default: .@unhandled = true;
- }
-
- if (.@unhandled != true)
- {
- if (.@str$ == $@regexmatch$[0]) end; // don't send handled, emote-only messages
- .@str$ = replacestr(.@str$, " "+ $@regexmatch$[0], ""); // otherwise strip the emote
- }
- }
-
- // built-in variables
- .@str$ = replacestr(.@str$, "~n", .name$); // npc name
- .@str$ = replacestr(.@str$, "~p", special_name()); // player name or special name
- .@str$ = replacestr(.@str$, "~P", strcharinfo(PC_NAME)); // unaltered player name
-
- return rp(.@str$);
- }
-
- function strip_colors {
- .@str$ = replacestr(getarg(0, ""), "##0", "");
- .@str$ = replacestr(.@str$, "##1", "");
- .@str$ = replacestr(.@str$, "##2", "");
- .@str$ = replacestr(.@str$, "##3", "");
- .@str$ = replacestr(.@str$, "##4", "");
- .@str$ = replacestr(.@str$, "##5", "");
- .@str$ = replacestr(.@str$, "##6", "");
- .@str$ = replacestr(.@str$, "##7", "");
- .@str$ = replacestr(.@str$, "##8", "");
- .@str$ = replacestr(.@str$, "##9", "");
- return replacestr(.@str$, "##a", "");
- }
-
- function strip_formatting {
- .@str$ = strip_colors(getarg(0, ""));
- .@str$ = replacestr(.@str$, "##B", "");
- return replacestr(.@str$, "##b", "");
- }
-
- function delayed_reply {
- ++.answered_times;
- @tree_reply$ = getarg(0, "");
- addtimer(.delay_reply, .name$ + "::OnDoReply");
- return;
- }
-
- function reply {
- .@reply$ = format_reply(getarg(0, ""));
- getmapxy(.@pc_map$, .@pc_x, .@pc_y, UNITTYPE_PC); // get char location
-
- if (((.@reply$ == .last_reply$ && gettimetick(2) - .last_reply < .repeat_rate)
- || gettimetick(2) - .last_reply < .talk_rate
- || (gettimetick(2) - .blocked < .block_time && is_staff() == false)
- || .@pc_map$ != .map$
- || distance(.x, .y, .@pc_x, .@pc_y) > .distance
- || .@reply$ == "")
- && is_gm() == false)
- {
- ++.ignored_times;
- return;
- }
-
- .last_reply = gettimetick(2);
- .last_reply$= .@reply$;
-
- delayed_reply(.@reply$);
- return;
- }
-
- function seen_me {
- if (playerattached() > 0 && htexists(.seen_ht))
- {
- htput(.seen_ht, strcharinfo(PC_NAME), gettimetick(2));
- }
- return;
- }
-
- function have_you_seen {
- .@player$ = getarg(0, "");
- .@player = getcharid(CHAR_ID_ACCOUNT, .@player$);
-
- if (.@player > 0)
- {
- // nested if, because they don't short-circuit
- if (checkoption(Option_Invisible, .@player) == false) {
- delayed_reply(sprintf("Player `%s` is currently online.", .@player$));
- end;
- }
- }
-
- .@time = htget(.seen_ht, .@player$, 0);
-
- if (.@time < 1)
- delayed_reply(sprintf("I haven't seen player `%s` today.", .@player$));
-
- else
- delayed_reply(sprintf("Player `%s` was last seen %s.", .@player$, FuzzyTime(.@time)));
-
- end;
- }
-
- function special_drops {
- .@drop$ = .drops$[rand(.drops)];
- .@name$ = strcharinfo(PC_NAME);
- .@low$ = strtolower(.@name$);
-
- if (rand(.sdrop_rate) == 0)
- {
- for (.@i = 0; .@i < .sdrops; .@i += 2)
- {
- if (.@low$ ~= .sdrops$[.@i])
- {
- explode(.@d$, .sdrops$[.@i+1], "`");
- .@drop$ = .@d$[rand(getarraysize(.@d$))];
- break;
- }
- }
- }
-
- return .@drop$;
- }
-
- function roll_dice {
- .@dices = max(min(getarg(0, 1), 8), 1); // 1..8
- .@sides = max((getarg(1, 6) < 1 ? 6 : getarg(1, 6)), 1); // 1..MAX_INT
-
- .@result$ = sprintf("*rolls the dice%s: %d",
- rif(.@dices > 1, "s"), rand(1, .@sides)); // first dice
-
- for (.@d = 1; .@d < .@dices; ++.@d)
- {
- .@result$ += ", " + rand(1, .@sides);
- }
-
- return .@result$ + ".*";
- }
-
- function flip_coin {
- .@coins = getarg(0, 1);
-
- .@result$ = sprintf("*flips the coin%s: %s",
- rif(.@coins > 1, "s"), (rand(2) == 1 ? "heads" : "tails")); // first coin
-
- for (.@c = 1; .@c < .@coins; ++.@c)
- {
- .@result$ += ", " + (rand(2) == 1 ? "heads" : "tails");
- }
-
- return .@result$ + ".*";
- }
-
- function roulette {
- if (.roulette == 1)
- {
- npctalk("*pulls the trigger: *##BBANG##b*.*");
- delayed_reply("*reloads and spins the chambers.*");
- .roulette = rand(1, 7); // the Nagant_M1895 has 7 chambers
-
- // now the fun part
- nude();
- percentheal(-100, 0);
- }
-
- else
- {
- delayed_reply("*pulls the trigger: *click*.*");
- .roulette = (.roulette == 7 ? 1 : .roulette + 1);
- }
-
- end;
- }
-
- function monologue_player {
- return sprintf("Your current monologue is at least %d line%s long.",
- @monologue, rif(@monologue != 1, "s"));
- }
-
- function who_player {
- return sprintf("You seem to be ##B~P##b [%i:%i].",
- getcharid(CHAR_ID_ACCOUNT), getcharid(CHAR_ID_CHAR));
- }
-
- function make_quote_table {
- // Do not modify this
- query_sql("CREATE TABLE IF NOT EXISTS `tree_quotes` ("
- " `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,"
- " `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',"
- " `grabber` INT(11) UNSIGNED NOT NULL DEFAULT '0',"
- " `timestamp` INT(10) UNSIGNED NOT NULL DEFAULT '0',"
- " `message` VARCHAR(150) NOT NULL DEFAULT '',"
- " PRIMARY KEY (`id`),"
- " KEY `char_id` (`char_id`),"
- " KEY `grabber` (`grabber`)"
- ") ENGINE=MyISAM;");
-
- .last_query = gettimetick(2);
- return;
- }
-
- function grab_quote {
- .@name$ = getarg(0, "");
-
- if (gettimetick(2) - .last_query < (is_staff() ? .qpoll_rate : .qpoll_rate2))
- {
- ++.ignored_times;
- end;
- }
-
- if (.@name$ == strcharinfo(PC_NAME))
- {
- delayed_reply("##BError: You may not grab yourself.");
- end;
- }
-
- explode(.@tmp$[0], htget(.msg_ht, .@name$, ""), ":"); // get last message, if any
- htput(.msg_ht, .@name$, ""); // ensure you can't grab twice the same message
-
- .@char_id = atoi(.@tmp$[0]); // grab the char id part
-
- if (.@char_id < 1)
- {
- delayed_reply(sprintf("##BError: I couldn't find anything to grab from player `%s`.", .@name$));
- end;
- }
-
- .@msg$ = implode(.@tmp$, ":"); // put it back together
- .@start = getstrlen(.@tmp$[0]) + getstrlen(.@tmp$[1]) + 2; // char:time:msg <= we just want the msg part
- .@msg$ = escape_sql(strip_formatting(substr(.@msg$, .@start, getstrlen(.@msg$) - 1))); // sanitize
-
- if (.@msg$ == "")
- {
- delayed_reply("##BError: Message is empty or malformed. It cannot be grabbed.");
- end;
- }
-
- else if (.@msg$ ~= "^[!#~@]?(?:grab)?shield(?:ed)?(?:[:.!]? .*)?$")
- {
- delayed_reply("##BError: Message is shielded.");
- end;
- }
-
- query_sql(sprintf("INSERT INTO tree_quotes (char_id,grabber,timestamp,message) VALUES (%i,%i,%i,'%s');",
- .@char_id, getcharid(CHAR_ID_CHAR), gettimetick(2), .@msg$));
-
- query_sql("SELECT MAX(id) FROM tree_quotes;", .q_last_id); // get the last quote id
-
- .last_query = gettimetick(2);
-
- delayed_reply(sprintf("Success: Quote grabbed. (#%i)", .q_last_id));
- end;
- }
-
- function remove_quote {
- .@tmp = getarg(0, 0);
-
- if (gettimetick(2) - .last_query < (is_staff() ? .qpoll_rate : .qpoll_rate2))
- {
- ++.ignored_times;
- end;
- }
-
- query_sql(sprintf("SELECT id FROM tree_quotes WHERE id = %i ORDER BY id DESC LIMIT 1;", .@tmp), .@id); // check if it exists
-
- if (.@id < 1)
- {
- delayed_reply(sprintf("##BError: I couldn't find quote #%i in the database.", .@tmp));
- end;
- }
-
- query_sql(sprintf("DELETE FROM tree_quotes WHERE id = %i ORDER BY id DESC LIMIT 1;", .@id));
-
- .last_query = gettimetick(2);
-
- delayed_reply(sprintf("Success: Quote removed. (#%i)", .@id));
- end;
- }
-
- function cite_quote {
- .@id = getarg(0,0);
-
- if (gettimetick(2) - .last_query < (is_staff() ? .qpoll_rate : .qpoll_rate2))
- {
- ++.ignored_times;
- end;
- }
-
- query_sql(sprintf("SELECT t.id, c.name AS grabee, d.name AS grabber, t.timestamp, t.message "
- "FROM `tree_quotes` t "
- "JOIN `char` c ON t.char_id = c.char_id "
- "JOIN `char` d ON t.grabber = d.char_id "
- "WHERE t.id=%i ORDER BY t.id DESC LIMIT 1;",
- .@id),
- .@nid[0], .@grabee$[0], .@grabber$[0], .@time[0], .@msg$[0]);
-
- .last_query = gettimetick(2);
-
- if (.@nid[0] < 1)
- {
- delayed_reply(sprintf("##BError: I couldn't find quote #%i in the database.", .@id));
- end;
- }
-
- delayed_reply(sprintf("<%s> ##B%s##b ##a— grabbed by %s %s.",
- .@grabee$[0], .@msg$[0], .@grabber$[0], FuzzyTime(.@time[0],0,1)));
- end;
- }
-
- function random_quote {
- .@name$ = escape_sql(getarg(0, ""));
-
- if (gettimetick(2) - .last_query < (is_staff() ? .qpoll_rate : .qpoll_rate2))
- {
- ++.ignored_times;
- end;
- }
-
- query_sql("SELECT t.id, c.name AS grabee, d.name AS grabber, t.timestamp, t.message "
- "FROM `char` c "
- "JOIN `tree_quotes` t ON t.char_id = c.char_id "
- "JOIN `char` d ON d.char_id = t.grabber " +
- rif(.@name$ != "", sprintf("WHERE c.name='%s' ", .@name$)) +
- "ORDER BY RAND() LIMIT 1;",
- .@nid[0], .@grabee$[0], .@grabber$[0], .@time[0], .@msg$[0]);
-
- .last_query = gettimetick(2);
-
- if (.@nid[0] < 1)
- {
- if (.@name$ != "")
- delayed_reply(sprintf("##BError: I couldn't find any quote from `%s` in the database.", getarg(0, "")));
- else
- delayed_reply("##BError: The quote database is empty.");
- end;
- }
-
- delayed_reply(sprintf("<%s> ##B%s##b ##a— grabbed by %s %s. (#%i)",
- .@grabee$[0], .@msg$[0], .@grabber$[0], FuzzyTime(.@time[0],0,1), .@nid[0]));
- end;
- }
-
- function trigger_hotword {
- .@o$ = getarg(0, ""); // original lowercase
- .@m$ = replacestr(.@o$, "*", ""); // original lowercase clean
-
-
- if (.@m$ ~= "(?:^| )tell(?: (?:me|him|her|us|them))? a(?:n ?other| lame| bad| boring)? joke")
- reply(.jokes$[rand(.jokes)]);
-
- else if (.@m$ ~= "(?:^| )heal me(?:$|[^a-z])")
- reply(.healing$[rand(.healing)]);
- // XXX: maybe actually heal the player once in a while
-
- else if (.@m$ ~= "(?:^| )(?:what|who) are you")
- reply(.whoami$[rand(.whoami)]);
-
- else if (.@m$ ~= rp("(?:^| )(?:hi+|hello|heya?|hiya|good (?:morning|afternoon))[^a-z]* .*~t|~t.* (?:hi+|hello|heya?|hiya)"))
- {
- .blocked = 0;
- reply(.greetings$[rand(.greetings)]);
- }
-
- else if (.@o$ ~= rp("(?:^[*]| )(?:kicks?|shakes?) .*~t"))
- reply(special_drops());
-
- else if (.@o$ ~= rp("(?:^[*]| )(?:cuts?|nukes?|kills?|chops? down|saws?|hews?|murders?) .*~t"))
- reply(.kill$[rand(.kill)]);
-
- else if (.@o$ ~= rp("(?:^[*]| )pokes? .*~t"))
- reply(.poke$[rand(.poke)]);
-
- else if (.@o$ ~= rp("(?:^[*]| )(?:waters?|pees?|licks?) .*~t"))
- reply(.disgusting$[rand(.disgusting)]);
-
- else if (compare(.@m$, " answer ") && .@m$ ~= "(?:life|universe|everything)(?:$|[^a-z])")
- reply(.answer$[rand(.answer)]);
-
- else if (.@o$ ~= rp("(?:^[*]| )(?:burns?|incinerates?|ignites?) .*~t"))
- reply(.burning$[rand(.burning)]);
- // XXX: maybe here send a fire particle effect
-
- else if (.@m$ ~= rp("(?:^| )die ~t"))
- reply(.die$[rand(.die)]);
-
- else if (.@o$ ~= rp("(?:^[*]| )bites? .*~t|(?:^[*]| )drops? .* on ~t"))
- reply(.silly$[rand(.silly)]);
-
- else if (.@m$ ~= rp("(?:^| )(?:loves?|hugs?|kiss(es)?) .*~t|~t.* love(?:$|[^a-z])"))
- reply(.love$[rand(.love)]);
-
- else if (.@m$ ~= rp("(?:^| )dance .*~t|~t.* dance(?:$|[^a-z])"))
- reply(.dance$[rand(.dance)]);
-
- else if (.@m$ ~= rp("(?:^| )hates? .*~t"))
- reply(.hate$[rand(.hate)]);
-
- else if (.@o$ ~= rp("(?:^[*]| )(?:eats?|shoots?|plucks?|tortures?|slaps?|slaps?|poisons?|breaks?|stabs?|throws?|punch(?:es)?) .*~t"))
- reply(.pain$[rand(.pain)]);
-
- else if (.@o$ ~= rp("(?:^[*]| )(?:climbs?|rides?|mounts?) .*~t"))
- reply(.climb$[rand(.climb)]);
-
- else if (.@m$ ~= "(?:^| )(?:see y(?:a|ou)|good night|(?:bye)?bye+)(?:$|[^a-z])")
- reply(.bye$[rand(.bye)]);
-
- else if (.@m$ ~= rp("(?:^| )bad ~t"))
- reply(.bad$[rand(.bad)]);
-
- else if (.@m$ ~= "(?:^| )(?:how old are you|uptime)(?:$|[^a-z])")
- reply("%%B Server uptime: " + FuzzyTime(.uptime, 1) + ".");
-
- else if (.@m$ ~= "(?:^| )how chatty are you(?:$|[^a-z])")
- reply("%%B Answered " + .answered_times + " times, ignored " + .ignored_times + " times.");
-
- else if (.@m$ ~= "(?:^| )what.* version(?:$|[^a-z])")
- reply("%%B ~n, version " + .version + "."); // XXX: maybe return Hercules version and serverdata commit instead
-
- else if (.@m$ ~= "(?:^| )(?:(?:8|eight)[ -]?ball|(?:should|would|will|do|does) (?:i|you|he|she|it|we|they))(?:$|[^a-z])")
- reply(.eightball$[rand(.eightball)]);
-
- else if (.@m$ ~= "(?:^| )roll(?: a| the)? dice(?:$|[^a-z])")
- reply(roll_dice(1, 6));
-
- else if (.@m$ ~= "(?:^| )roll(?: a)? ([1-8])d((?:[1-9][0-9]{0,10})?)(?:$|[^0-9a-z])")
- reply(roll_dice(atoi($@regexmatch$[1]), atoi($@regexmatch$[2])));
-
- else if (.@m$ ~= "(?:^| )roll ([1-8]) dices?(?:$|[^a-z])")
- reply(roll_dice(atoi($@regexmatch$[1]), 6));
-
- else if (.@m$ ~= "(?:^| )(?:flip|toss)(?: a| the)? coin(?:$|[^a-z])")
- reply(flip_coin(1));
-
- else if (.@m$ ~= "(?:^| )(?:flip|toss) ([1-8]) coins?(?:$|[^a-z])")
- reply(flip_coin(atoi($@regexmatch$[1])));
-
- else if (.@m$ ~= "(?:^| )(?:press|pull)(?: the)? trigger(?:$|[^a-z])")
- roulette();
-
- else if (.@m$ ~= "(?:^| )(?:how long|what) is(?: my)? monologue(?:$|[^a-z])")
- reply(monologue_player());
-
- else if (.@m$ ~= "(?:^| )who am i(?:$|[^a-z])")
- reply(who_player());
-
- else if (.@m$ ~= "(?:^| )shut up(?:$|[^a-z])")
- {
- reply(.shut_up$[rand(.shut_up)]);
- .blocked = gettimetick(2);
- }
-
- else if (rand(.dunno_rate) == 0)
- reply(.no_idea$[rand(.no_idea)]);
-
- else
- ++.ignored_times;
-
- end;
- }
-
- function trigger_hiall {
- if (rand(.hiall_rate) == 0)
- reply(.greetings$[rand(.greetings)]);
-
- else
- ++.ignored_times;
-
- end;
- }
-
-OnClick:
- tree_panel();
- bye;
-
-
-OnTalkNearby:
- .@no_nick$ = strip(strip_formatting(substr($@p0$, getstrlen(strcharinfo(PC_NAME)) + 3, getstrlen($@p0$) - 1))); // not very obvious stuff
- .@no_nick_lower$ = strtolower(.@no_nick$); // FIXME: hercules doesn't have a way to do case insensitive regex yet
- .@no_nick_clean$ = replacestr(.@no_nick_lower$, "*", "");
-
- htput(.msg_ht, strcharinfo(PC_NAME), getcharid(CHAR_ID_CHAR) + ":" + gettimetick(2) + ":" + .@no_nick$); // log last message, for quotegrabs
- .lastsender = getcharid(CHAR_ID_CHAR); // for monologue
-
- .last_activity = gettimetick(2); // for the auto-janitor
-
- if ((is_staff() || #Tree_Trusted) && charat(.@no_nick$, 0) == .symbol$)
- {
- if (.@no_nick$ ~= "^.grab \"?([^#:@\"]{4,23})\"?$")
- reply(grab_quote($@regexmatch$[1]));
-
- else if (.@no_nick$ ~= "^.(?:ungrab|remove|delete)(?: quote)? #([0-9]+)$")
- reply(remove_quote(atoi($@regexmatch$[1])));
-
- else if (.@no_nick$ ~= "^.(?:ungrab|remove|delete)(?: last(?: quote)?)?$")
- reply(remove_quote(.q_last_id));
-
- else if (.@no_nick$ ~= "^.(?:quote|cite) #([0-9]+)$")
- reply(cite_quote(atoi($@regexmatch$[1])));
-
- else if (.@no_nick$ ~= "^.(?:(?:random )?quote|cite)(?: anyone| someone| random)?$")
- reply(random_quote());
-
- else if (.@no_nick$ ~= "^.(?:quote|cite) \"?([^#:@\"]{4,23})\"?$")
- reply(random_quote($@regexmatch$[1]));
-
- else if (.@no_nick$ ~= "^.seen \"?([^#:@\"]{4,23})\"?$")
- reply(have_you_seen($@regexmatch$[1]));
-
- // to allow trusted testers to reboot without knowing the exit code
- else if (debug && .@no_nick$ ~= "^.re(?:boot|load|start)(?:(?: the)? server)?$")
- {
- announce("The server is rebooting. This may take a couple minutes.", bc_all);
- sleep2(1000);
- atcommand("@serverexit 104");
- }
-
- // exit, pull all, clean, build, reboot
- else if (debug && .@no_nick$ ~= "^.re-?build(?:(?: the)? server)?$")
- {
- announce("The server is rebuilding. This will take several minutes.", bc_all);
- sleep2(1000);
- atcommand("@serverexit 108");
- }
-
- else if (.@no_nick$ ~= "^.(?:add )?ignored? \"?([^#:@\"]{4,23})\"?$")
- {
- .@chr = getcharid(CHAR_ID_ACCOUNT, $@regexmatch$[1]);
- if (.@chr < 1)
- {
- reply("##BError: Player not found or not online.");
- end;
- }
- htput(.ignore_ht, strcharinfo(PC_NAME, .@chr), gettimetick(2) + 3600);
- reply(sprintf("Success: Player `%s` is now ignored for 1 hour.",
- strcharinfo(PC_NAME, .@chr)));
- }
-
- else if (.@no_nick$ ~= "^.(?:un|de-?|remove )ignored? \"?([^#:@\"]{4,23})\"?$")
- {
- .@chr = getcharid(CHAR_ID_ACCOUNT, $@regexmatch$[1]);
- if (.@chr < 1)
- {
- reply("##BError: Player not found or not online.");
- end;
- }
- htput(.ignore_ht, strcharinfo(PC_NAME, .@chr), 0);
- reply(sprintf("Success: Player `%s` is no longer ignored.",
- strcharinfo(PC_NAME, .@chr)));
- }
-
- else if (is_admin() && .@no_nick$ ~= "^.(?:add )?trust(?:ed)? \"?([^#:@\"]{4,23})\"?$")
- {
- .@chr = getcharid(CHAR_ID_ACCOUNT, $@regexmatch$[1]);
- if (.@chr < 1)
- {
- reply("##BError: Player not found or not online.");
- end;
- }
- set(getvariableofpc(#Tree_Trusted, .@chr), true);
- reply(sprintf("Success: Player `%s` can now use restricted commands.",
- strcharinfo(PC_NAME, .@chr)));
- }
-
- else if (is_admin() && .@no_nick$ ~= "^.(?:un|de-?|remove )trust(?:ed)? \"?([^#:@\"]{4,23})\"?$")
- {
- .@chr = getcharid(CHAR_ID_ACCOUNT, $@regexmatch$[1]);
- if (.@chr < 1)
- {
- reply("##BError: Player not found or not online.");
- end;
- }
- set(getvariableofpc(#Tree_Trusted, .@chr), false);
- reply(sprintf("Success: Player `%s` can no longer use restricted commands.",
- strcharinfo(PC_NAME, .@chr)));
- }
-
- else
- reply("##BError: Command not found or invalid syntax.");
- }
-
- else if (.@no_nick_lower$ ~= rp("^(~t[^a-z ]* .*|(?:.* (?:~t[^a-z ]* .*|~t[^ a-z]*)))$"))
- {
- check_is_ignored();
- trigger_hotword($@regexmatch$[1]);
- }
-
- else if (.@no_nick_clean$ ~= "^(hi(ya)?|hello|heya?) (all|friends|every(one|body))")
- {
- check_is_ignored();
- trigger_hiall();
- }
-
- else
- {
- if (.lastsender == getcharid(CHAR_ID_CHAR))
- @monologue++;
-
- else
- @monologue = 1;
- }
-
- // TODO: eliza mode, whisper eliza mode
- end;
-
-OnTouch:
- if (rand(.touch_rate) == 0) {
- face();
- }
- end;
-
-OnDoReply:
- if (@tree_reply$ != "") {
- npctalk(@tree_reply$);
- @tree_reply$ = "";
- }
- end;
-
-OnPCLogoutEvent:
- seen_me();
- end;
-
-OnTimer3600000:
- // scheduled janitor
- .@now = gettimetick(2);
- initnpctimer(); // schedule next
-
- if (.last_activity > (.@now - 3600)) {
- end; // last activity is too recent
- }
-
- // cleanup routine below
- .lastsender = 0;
- .last_activity = 0;
- .last_reply = 0;
- .last_emote = 0;
- .last_query = 0;
- .blocked = 0;
- .enable_janitor = 0;
-
- htclear(.msg_ht); // empty the message table (quotegrabs)
- htclear(.ignore_ht); // empty the ignore table
-
- .@it = htiterator(.seen_ht); // allocate new iterator
- for (.@key$ = htinextkey(.@it); hticheck(.@it); .@key$ = htinextkey(.@it)) {
- if (.@key$ == "") {
- continue;
- }
-
- if (htget(.seen_ht, .@key$, 0) < (.@now - 86400)) {
- htput(.seen_ht, .@key$, 0); // remove from hash table if older than 24h
- }
- }
- htidelete(.@it); // free the iterator
-
- face(); // do an emote (because why not)
- end;
-
-
-OnDay0320:
- .dir = DOWNLEFT;
- end;
-
-
-OnDay0621:
- .dir = LEFT;
- end;
-
-
-OnDay0922:
- .dir = UPLEFT;
- end;
-
-
-OnDay1221:
- .dir = DOWN;
- end;
-
-
-OnInit:
- // config below
- .hotwords$ = "tree"; // what hot words the npc should listen to, besides its own name (regex)
- .distance = 14; // the npc will only listen to player within X tiles
- .sex = G_OTHER; // gender of the npc
- .dir = season_direction(); // sprite direction according to the season
- .talk_rate = 1; // min number of seconds to wait between replies
- .repeat_rate = 1; // min number of seconds to wait before sending the same message twice in a row
- .block_time = 600; // how long to stay quiet after someone says shut up, in seconds
- .emote_rate = 3; // min number of seconds to wait between emotes
- .sdrop_rate = 8; // 1 in X chances to get a special drop
- .sname_rate = 8; // 1 in X chances to get a special name
- .dunno_rate = 2; // 1 in X chances to get a reply when the command is not found
- .hiall_rate = 2; // 1 in X chances to reply to a "hi everyone"
- .touch_rate = 4; // 1 in X chances to trigger the OnTouch action
- .qpoll_rate = 1; // min number of seconds to wait before calling the sql db again for GMs
- .qpoll_rate2 = 5; // min number of seconds to wait before calling the sql db again for non-GMs (currently unused)
- .delay_reply = 250; // number of ms to wait to reply
- .enable_janitor = true; // automatically free memory when idle
- .symbol$ = "~"; // symbol for GM-only commands
-
- // register some arrays
- callfunc("TREE_dictionaries");
-
- // do random stuff
- make_quote_table();
- face();
-
- // boring stuff below
- .version = 21; // increase this when you make a change
- .uptime = gettimetick(2);
- .alwaysVisible = true; // the NPC doesn't de-spawn when moving away
- .pid = 1; // regex pattern id
- .msg_ht = htnew(); // hashtable id for message history
- .seen_ht = htnew(); // hashtable id for seen log
- .ignore_ht = htnew(); // hashtable id for ignored players
- .roulette = rand(1, 7); // spin the chambers
- defpattern(.pid, "^(.*)$", "OnTalkNearby");
- activatepset(.pid);
- if (.enable_janitor) {
- initnpctimer();
- }
-}
-
-// Duplicates below
-//000-1,42,63,0 duplicate(Confused Tree) Confused Palm Tree NPC_NO_SPRITE,14,14
diff --git a/Npc/008-1/doors.txt b/Npc/008-1/doors.txt
deleted file mode 100644
index de8ed1d8..00000000
--- a/Npc/008-1/doors.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-008-1,104,27,0 script CottageDoor NPC_WARP,0,0,{
- end;
-
-OnTouch:
- dispbottom(l("Locked."));
-}
diff --git a/Npc/008-1/mapflags.txt b/Npc/008-1/mapflags.txt
deleted file mode 100644
index f2680964..00000000
--- a/Npc/008-1/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-1 mapflag town
diff --git a/Npc/008-1/wateranimation.txt b/Npc/008-1/wateranimation.txt
deleted file mode 100644
index 8b66f637..00000000
--- a/Npc/008-1/wateranimation.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-// Evol scripts.
-// Author:
-// gumi
-// Reid
-// Description:
-// Water animations, splash, fishes, etc...
-
-008-1,139,32,0 duplicate(#water_animation0) #water_animation16 NPC_WATER_SPLASH
-008-1,140,40,0 duplicate(#water_animation0) #water_animation17 NPC_WATER_SPLASH
diff --git a/Npc/008-2-0/_import.txt b/Npc/008-2-0/_import.txt
deleted file mode 100644
index f2ecc3b8..00000000
--- a/Npc/008-2-0/_import.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-// Map 008-2-0: Chez Celestia
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-0/_savepoints.txt",
-"npc/008-2-0/_warps.txt",
-"npc/008-2-0/mapflags.txt",
diff --git a/Npc/008-2-0/_savepoints.txt b/Npc/008-2-0/_savepoints.txt
deleted file mode 100644
index d9055b64..00000000
--- a/Npc/008-2-0/_savepoints.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-0: Chez Celestia saves
-008-2-0,37,27,0 script #save_008-2-0_37_27 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
diff --git a/Npc/008-2-0/_warps.txt b/Npc/008-2-0/_warps.txt
deleted file mode 100644
index 72a8ab12..00000000
--- a/Npc/008-2-0/_warps.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-0: Chez Celestia warps
-008-2-0,26,22,0 warp #008-2-0_26_22 0,0,008-1,105,75
-008-2-0,22,34,0 warp #008-2-0_22_34 0,0,008-1,101,79
diff --git a/Npc/008-2-0/mapflags.txt b/Npc/008-2-0/mapflags.txt
deleted file mode 100644
index 93df75f4..00000000
--- a/Npc/008-2-0/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-0 mapflag town
diff --git a/Npc/008-2-1/_import.txt b/Npc/008-2-1/_import.txt
deleted file mode 100644
index 1e5137a7..00000000
--- a/Npc/008-2-1/_import.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-// Map 008-2-1: Merchant Guild
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-1/_savepoints.txt",
-"npc/008-2-1/_warps.txt",
-"npc/008-2-1/mapflags.txt",
diff --git a/Npc/008-2-1/_savepoints.txt b/Npc/008-2-1/_savepoints.txt
deleted file mode 100644
index 66730940..00000000
--- a/Npc/008-2-1/_savepoints.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-1: Merchant Guild saves
-008-2-1,42,27,0 script #save_008-2-1_42_27 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
diff --git a/Npc/008-2-1/_warps.txt b/Npc/008-2-1/_warps.txt
deleted file mode 100644
index e47cbf73..00000000
--- a/Npc/008-2-1/_warps.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-1: Merchant Guild warps
-008-2-1,37,27,0 warp #008-2-1_37_27 0,0,008-1,89,66
-008-2-1,33,43,0 warp #008-2-1_33_43 0,0,008-1,88,72
diff --git a/Npc/008-2-1/mapflags.txt b/Npc/008-2-1/mapflags.txt
deleted file mode 100644
index 78899489..00000000
--- a/Npc/008-2-1/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-1 mapflag town
diff --git a/Npc/008-2-10/_import.txt b/Npc/008-2-10/_import.txt
deleted file mode 100644
index 994726eb..00000000
--- a/Npc/008-2-10/_import.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// Map 008-2-10: Hurnscald City Hall
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-10/_warps.txt",
-"npc/008-2-10/mapflags.txt",
diff --git a/Npc/008-2-10/_warps.txt b/Npc/008-2-10/_warps.txt
deleted file mode 100644
index 25390f95..00000000
--- a/Npc/008-2-10/_warps.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-10: Hurnscald City Hall warps
-008-2-10,37,34,0 warp #008-2-10_37_34 0,0,008-1,102,70
-008-2-10,37,25,0 warp #008-2-10_37_25 1,0,008-2-11,36,27
diff --git a/Npc/008-2-10/mapflags.txt b/Npc/008-2-10/mapflags.txt
deleted file mode 100644
index 7635bed5..00000000
--- a/Npc/008-2-10/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-10 mapflag town
diff --git a/Npc/008-2-11/_import.txt b/Npc/008-2-11/_import.txt
deleted file mode 100644
index 84ad9ceb..00000000
--- a/Npc/008-2-11/_import.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-// Map 008-2-11: Hurnscald City Hall
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-11/_savepoints.txt",
-"npc/008-2-11/_warps.txt",
-"npc/008-2-11/mapflags.txt",
diff --git a/Npc/008-2-11/_savepoints.txt b/Npc/008-2-11/_savepoints.txt
deleted file mode 100644
index c3cf65fc..00000000
--- a/Npc/008-2-11/_savepoints.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-11: Hurnscald City Hall saves
-008-2-11,25,27,0 script #save_008-2-11_25_27 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
-008-2-11,45,27,0 script #save_008-2-11_45_27 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
diff --git a/Npc/008-2-11/_warps.txt b/Npc/008-2-11/_warps.txt
deleted file mode 100644
index 6c8c4732..00000000
--- a/Npc/008-2-11/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-11: Hurnscald City Hall warps
-008-2-11,37,28,0 warp #008-2-11_37_28 1,0,008-2-10,36,26
diff --git a/Npc/008-2-11/mapflags.txt b/Npc/008-2-11/mapflags.txt
deleted file mode 100644
index 3e084fc0..00000000
--- a/Npc/008-2-11/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-11 mapflag town
diff --git a/Npc/008-2-12/_import.txt b/Npc/008-2-12/_import.txt
deleted file mode 100644
index 88a854e4..00000000
--- a/Npc/008-2-12/_import.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// Map 008-2-12: Hurnscald Clinic
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-12/_warps.txt",
-"npc/008-2-12/mapflags.txt",
diff --git a/Npc/008-2-12/_warps.txt b/Npc/008-2-12/_warps.txt
deleted file mode 100644
index e44e7154..00000000
--- a/Npc/008-2-12/_warps.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-12: Hurnscald Clinic warps
-008-2-12,30,32,0 warp #008-2-12_30_32 0,0,008-1,110,57
-008-2-12,36,27,0 warp #008-2-12_36_27 1,0,008-2-13,35,31
diff --git a/Npc/008-2-12/mapflags.txt b/Npc/008-2-12/mapflags.txt
deleted file mode 100644
index b52526a7..00000000
--- a/Npc/008-2-12/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-12 mapflag town
diff --git a/Npc/008-2-13/_import.txt b/Npc/008-2-13/_import.txt
deleted file mode 100644
index a4b0330e..00000000
--- a/Npc/008-2-13/_import.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-// Map 008-2-13: Hurnscald Clinic
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-13/_savepoints.txt",
-"npc/008-2-13/_warps.txt",
-"npc/008-2-13/mapflags.txt",
diff --git a/Npc/008-2-13/_savepoints.txt b/Npc/008-2-13/_savepoints.txt
deleted file mode 100644
index 5c8fc22d..00000000
--- a/Npc/008-2-13/_savepoints.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-13: Hurnscald Clinic saves
-008-2-13,29,27,0 script #save_008-2-13_29_27 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
-008-2-13,32,27,0 script #save_008-2-13_32_27 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
-008-2-13,29,31,0 script #save_008-2-13_29_31 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
-008-2-13,32,31,0 script #save_008-2-13_32_31 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
diff --git a/Npc/008-2-13/_warps.txt b/Npc/008-2-13/_warps.txt
deleted file mode 100644
index f9681284..00000000
--- a/Npc/008-2-13/_warps.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-13: Hurnscald Clinic warps
-008-2-13,36,32,0 warp #008-2-13_36_32 1,0,008-2-12,35,28
-008-2-13,25,26,0 warp #008-2-13_25_26 1,0,008-2-14,24,30
diff --git a/Npc/008-2-13/mapflags.txt b/Npc/008-2-13/mapflags.txt
deleted file mode 100644
index be0ed6a2..00000000
--- a/Npc/008-2-13/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-13 mapflag town
diff --git a/Npc/008-2-14/_import.txt b/Npc/008-2-14/_import.txt
deleted file mode 100644
index 29a984e8..00000000
--- a/Npc/008-2-14/_import.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-// Map 008-2-14: Hurnscald Clinic
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-14/_savepoints.txt",
-"npc/008-2-14/_warps.txt",
-"npc/008-2-14/mapflags.txt",
diff --git a/Npc/008-2-14/_savepoints.txt b/Npc/008-2-14/_savepoints.txt
deleted file mode 100644
index cbb6fd12..00000000
--- a/Npc/008-2-14/_savepoints.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-14: Hurnscald Clinic saves
-008-2-14,31,27,0 script #save_008-2-14_31_27 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
diff --git a/Npc/008-2-14/_warps.txt b/Npc/008-2-14/_warps.txt
deleted file mode 100644
index 241626bb..00000000
--- a/Npc/008-2-14/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-14: Hurnscald Clinic warps
-008-2-14,25,31,0 warp #008-2-14_25_31 1,0,008-2-13,24,27
diff --git a/Npc/008-2-14/mapflags.txt b/Npc/008-2-14/mapflags.txt
deleted file mode 100644
index 4f5bd95c..00000000
--- a/Npc/008-2-14/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-14 mapflag town
diff --git a/Npc/008-2-2/_import.txt b/Npc/008-2-2/_import.txt
deleted file mode 100644
index 5a896da0..00000000
--- a/Npc/008-2-2/_import.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// Map 008-2-2: The Rusty Pick
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-2/_warps.txt",
-"npc/008-2-2/mapflags.txt",
diff --git a/Npc/008-2-2/_warps.txt b/Npc/008-2-2/_warps.txt
deleted file mode 100644
index 8410ef2b..00000000
--- a/Npc/008-2-2/_warps.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-2: The Rusty Pick warps
-008-2-2,28,34,0 warp #008-2-2_28_34 0,0,008-1,65,56
-008-2-2,52,25,0 warp #008-2-2_52_25 1,0,008-2-3,66,28
-008-2-2,24,29,0 warp #008-2-2_24_29 0,0,008-2-4,43,28
-008-2-2,52,32,0 warp #008-2-2_52_32 0,0,008-2-5,24,25
diff --git a/Npc/008-2-2/mapflags.txt b/Npc/008-2-2/mapflags.txt
deleted file mode 100644
index 8f90e197..00000000
--- a/Npc/008-2-2/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-2 mapflag town
diff --git a/Npc/008-2-3/_import.txt b/Npc/008-2-3/_import.txt
deleted file mode 100644
index ed172cc7..00000000
--- a/Npc/008-2-3/_import.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// Map 008-2-3: The Rusty Pick
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-3/_warps.txt",
-"npc/008-2-3/mapflags.txt",
diff --git a/Npc/008-2-3/_warps.txt b/Npc/008-2-3/_warps.txt
deleted file mode 100644
index 957ed686..00000000
--- a/Npc/008-2-3/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-3: The Rusty Pick warps
-008-2-3,67,29,0 warp #008-2-3_67_29 1,0,008-2-2,51,26
diff --git a/Npc/008-2-3/mapflags.txt b/Npc/008-2-3/mapflags.txt
deleted file mode 100644
index 947a2df3..00000000
--- a/Npc/008-2-3/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-3 mapflag town
diff --git a/Npc/008-2-4/_import.txt b/Npc/008-2-4/_import.txt
deleted file mode 100644
index 8ab4d742..00000000
--- a/Npc/008-2-4/_import.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-// Map 008-2-4: The Rusty Pick
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-4/_savepoints.txt",
-"npc/008-2-4/_warps.txt",
-"npc/008-2-4/mapflags.txt",
diff --git a/Npc/008-2-4/_savepoints.txt b/Npc/008-2-4/_savepoints.txt
deleted file mode 100644
index 103787d1..00000000
--- a/Npc/008-2-4/_savepoints.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-4: The Rusty Pick saves
-008-2-4,25,27,0 script #save_008-2-4_25_27 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
diff --git a/Npc/008-2-4/_warps.txt b/Npc/008-2-4/_warps.txt
deleted file mode 100644
index 2d8336f7..00000000
--- a/Npc/008-2-4/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-4: The Rusty Pick warps
-008-2-4,44,28,0 warp #008-2-4_44_28 0,0,008-2-2,25,29
diff --git a/Npc/008-2-4/mapflags.txt b/Npc/008-2-4/mapflags.txt
deleted file mode 100644
index cd86a1e4..00000000
--- a/Npc/008-2-4/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-4 mapflag town
diff --git a/Npc/008-2-5/_import.txt b/Npc/008-2-5/_import.txt
deleted file mode 100644
index 74e70e1c..00000000
--- a/Npc/008-2-5/_import.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// Map 008-2-5: The Rusty Pick
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-5/_warps.txt",
-"npc/008-2-5/mapflags.txt",
diff --git a/Npc/008-2-5/_warps.txt b/Npc/008-2-5/_warps.txt
deleted file mode 100644
index 21b7f527..00000000
--- a/Npc/008-2-5/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-5: The Rusty Pick warps
-008-2-5,24,24,0 warp #008-2-5_24_24 0,0,008-2-2,52,31
diff --git a/Npc/008-2-5/mapflags.txt b/Npc/008-2-5/mapflags.txt
deleted file mode 100644
index 435dd353..00000000
--- a/Npc/008-2-5/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-5 mapflag town
diff --git a/Npc/008-2-6/_import.txt b/Npc/008-2-6/_import.txt
deleted file mode 100644
index 4630df43..00000000
--- a/Npc/008-2-6/_import.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// Map 008-2-6: Two Guys One Bed
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-6/_warps.txt",
-"npc/008-2-6/mapflags.txt",
diff --git a/Npc/008-2-6/_warps.txt b/Npc/008-2-6/_warps.txt
deleted file mode 100644
index 98944d50..00000000
--- a/Npc/008-2-6/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-6: Two Guys One Bed warps
-008-2-6,27,33,0 warp #008-2-6_27_33 0,0,008-1,89,59
diff --git a/Npc/008-2-6/mapflags.txt b/Npc/008-2-6/mapflags.txt
deleted file mode 100644
index c07673a4..00000000
--- a/Npc/008-2-6/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-6 mapflag town
diff --git a/Npc/008-2-7/_import.txt b/Npc/008-2-7/_import.txt
deleted file mode 100644
index 263e5dcf..00000000
--- a/Npc/008-2-7/_import.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-// Map 008-2-7: Hurnscald Apothecary
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-7/_savepoints.txt",
-"npc/008-2-7/_warps.txt",
-"npc/008-2-7/mapflags.txt",
diff --git a/Npc/008-2-7/_savepoints.txt b/Npc/008-2-7/_savepoints.txt
deleted file mode 100644
index f3faa80f..00000000
--- a/Npc/008-2-7/_savepoints.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-7: Hurnscald Apothecary saves
-008-2-7,25,27,0 script #save_008-2-7_25_27 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
diff --git a/Npc/008-2-7/_warps.txt b/Npc/008-2-7/_warps.txt
deleted file mode 100644
index 3eb8538a..00000000
--- a/Npc/008-2-7/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-7: Hurnscald Apothecary warps
-008-2-7,36,29,0 warp #008-2-7_36_29 0,0,008-1,101,56
diff --git a/Npc/008-2-7/mapflags.txt b/Npc/008-2-7/mapflags.txt
deleted file mode 100644
index caeb89e9..00000000
--- a/Npc/008-2-7/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-7 mapflag town
diff --git a/Npc/008-2-8/_import.txt b/Npc/008-2-8/_import.txt
deleted file mode 100644
index d3346591..00000000
--- a/Npc/008-2-8/_import.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-// Map 008-2-8: Hurnscald Forge
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-8/_warps.txt",
-"npc/008-2-8/mapflags.txt",
diff --git a/Npc/008-2-8/_warps.txt b/Npc/008-2-8/_warps.txt
deleted file mode 100644
index 7e791e85..00000000
--- a/Npc/008-2-8/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-8: Hurnscald Forge warps
-008-2-8,37,39,0 warp #008-2-8_37_39 1,0,008-1,120,72
diff --git a/Npc/008-2-8/mapflags.txt b/Npc/008-2-8/mapflags.txt
deleted file mode 100644
index 2bdbedb9..00000000
--- a/Npc/008-2-8/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-8 mapflag town
diff --git a/Npc/008-2-9/_import.txt b/Npc/008-2-9/_import.txt
deleted file mode 100644
index aade14bd..00000000
--- a/Npc/008-2-9/_import.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-// Map 008-2-9: Jack's Abode
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/008-2-9/_savepoints.txt",
-"npc/008-2-9/_warps.txt",
-"npc/008-2-9/mapflags.txt",
diff --git a/Npc/008-2-9/_savepoints.txt b/Npc/008-2-9/_savepoints.txt
deleted file mode 100644
index e2aae529..00000000
--- a/Npc/008-2-9/_savepoints.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-9: Jack's Abode saves
-008-2-9,26,31,0 script #save_008-2-9_26_31 NPC_SAVE_POINT,{
- savepointparticle .map$, .x, .y, CURRENT_INN;
- close;
-
-OnInit:
- .distance = 2;
- .sex = G_OTHER;
- end;
-}
diff --git a/Npc/008-2-9/_warps.txt b/Npc/008-2-9/_warps.txt
deleted file mode 100644
index 7021feae..00000000
--- a/Npc/008-2-9/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 008-2-9: Jack's Abode warps
-008-2-9,30,35,0 warp #008-2-9_30_35 0,0,008-1,72,69
diff --git a/Npc/008-2-9/mapflags.txt b/Npc/008-2-9/mapflags.txt
deleted file mode 100644
index e637ae03..00000000
--- a/Npc/008-2-9/mapflags.txt
+++ /dev/null
@@ -1 +0,0 @@
-008-2-9 mapflag town
diff --git a/Rules/rules.txt b/Rules/rules.txt
index b245114c..4bd59862 100644
--- a/Rules/rules.txt
+++ b/Rules/rules.txt
@@ -1,7 +1,7 @@
# Comment the rules which are not in use
# Micksha Cave
-caverules.txt
+#caverules.txt
# Cave Rules
cave/rule_cave.txt
@@ -10,7 +10,7 @@ cave/rule_cave.txt
#castle_indoor/rule_castle_indoor.txt
# Ice Cave Rules
-icecave/rule_icecave.txt
+#icecave/rule_icecave.txt
# Desert Cliffs Rules
#desertcliffs/rule_cave.txt
diff --git a/Sprites/Equipment/accessories/angel-wings.xml b/Sprites/Equipment/accessories/angel-wings.xml
deleted file mode 100644
index 8a10d837..00000000
--- a/Sprites/Equipment/accessories/angel-wings.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version="1.0"?>
-<sprite>
-<!-- Original from tmw.ufbteam.org - Authors: Varuna and Arikel-->
- <imageset name="base" src="graphics/sprites/angel-wings.png|W" width="64" height="64" />
- <action name="stand" imageset="base">
- <animation direction="down">
- <sequence start="0" end="5" delay="75" offsetY="0" offsetX="0"/>
- </animation>
- <animation direction="left">
- <sequence start="18" end="23" delay="75" offsetY="0" offsetX="0" />
- </animation>
- <animation direction="up">
- <sequence start="36" end="41" delay="75" offsetY="0" offsetX="0" />
- </animation>
- <animation direction="right">
- <sequence start="54" end="59" delay="75" offsetY="0" offsetX="0" />
- </animation>
- </action>
-
- <action name="walk" imageset="base">
- <animation direction="down">
- <sequence start="0" end="5" delay="75" offsetY="0" offsetX="0"/>
- </animation>
- <animation direction="left">
- <sequence start="18" end="23" delay="75" offsetY="0" offsetX="0" />
- </animation>
- <animation direction="up">
- <sequence start="36" end="41" delay="75" offsetY="0" offsetX="0" />
- </animation>
- <animation direction="right">
- <sequence start="54" end="59" delay="75" offsetY="0" offsetX="0" />
- </animation>
- </action>
-
- <action name="sit" imageset="base">
- <animation direction="down">
- <sequence start="0" end="5" delay="75" offsetY="8" offsetX="0"/>
- </animation>
- <animation direction="left">
- <sequence start="18" end="23" delay="75" offsetY="8" offsetX="6" />
- </animation>
- <animation direction="up">
- <sequence start="36" end="41" delay="75" offsetY="8" offsetX="0" />
- </animation>
- <animation direction="right">
- <sequence start="54" end="59" delay="75" offsetY="8" offsetX="-8" />
- </animation>
- </action>
-
- <action name="dead" imageset="base">
- <animation direction="down">
- <frame index="8" />
- </animation>
- <animation direction="left">
- <frame index="26" />
- </animation>
- <animation direction="up">
- <frame index="44" />
- </animation>
- <animation direction="right">
- <frame index="62" />
- </animation>
- </action>
-
- <action name="attack" imageset="base">
- <animation direction="down">
- <sequence start="9" end="12" delay="75" offsetY="0" offsetX="0" />
- <end />
- </animation>
- <animation direction="left">
- <sequence start="27" end="30" delay="75" offsetY="0" offsetX="0" />
- <end />
- </animation>
- <animation direction="up">
- <sequence start="45" end="48" delay="75" offsetY="0" offsetX="0" />
- <end />
- </animation>
- <animation direction="right">
- <sequence start="63" end="66" delay="75" offsetY="0" offsetX="0" />
- <end />
- </animation>
- </action>
-
- <action name="attack_bow" imageset="base">
- <animation direction="down">
- <sequence start="13" end="17" delay="75" offsetY="0" offsetX="0" />
- <end />
- </animation>
- <animation direction="left">
- <sequence start="31" end="35" delay="75" offsetY="0" offsetX="0" />
- <end />
- </animation>
- <animation direction="up">
- <sequence start="49" end="53" delay="75" offsetY="0" offsetX="0" />
- <end />
- </animation>
- <animation direction="right">
- <sequence start="67" end="71" delay="75" offsetY="0" offsetX="0" />
- <end />
- </animation>
- </action>
-</sprite>
diff --git a/Sprites/Equipment/chests/chest-snakeplate-female.png b/Sprites/Equipment/chests/chest-snakeplate-female.png
deleted file mode 100644
index a2bcc82f..00000000
--- a/Sprites/Equipment/chests/chest-snakeplate-female.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Equipment/chests/chest-snakeplate-female.xml b/Sprites/Equipment/chests/chest-snakeplate-female.xml
deleted file mode 100644
index 21ee5cbb..00000000
--- a/Sprites/Equipment/chests/chest-snakeplate-female.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0"?>
-<sprite name="player" action="stand">
- <imageset name="base" src="graphics/sprites/chest-snakeplate-female.png" width="64" height="64"/>
-
- <action name="stand" imageset="base">
- <animation direction="down">
- <frame index="0"/>
- </animation>
- <animation direction="left">
- <frame index="18"/>
- </animation>
- <animation direction="up">
- <frame index="36"/>
- </animation>
- <animation direction="right">
- <frame index="54"/>
- </animation>
- </action>
-
- <action name="walk" imageset="base">
- <animation direction="down">
- <sequence start="1" end="6" delay="75"/>
- </animation>
- <animation direction="left">
- <sequence start="19" end="24" delay="75"/>
- </animation>
- <animation direction="up">
- <sequence start="37" end="42" delay="75"/>
- </animation>
- <animation direction="right">
- <sequence start="55" end="60" delay="75"/>
- </animation>
- </action>
-
- <action name="sit" imageset="base">
- <animation direction="down">
- <frame index="7"/>
- </animation>
- <animation direction="left">
- <frame index="25"/>
- </animation>
- <animation direction="up">
- <frame index="43"/>
- </animation>
- <animation direction="right">
- <frame index="61"/>
- </animation>
- </action>
-
- <action name="attack" imageset="base">
- <animation direction="down">
- <sequence start="9" end="12" delay="75"/>
- <end />
- </animation>
- <animation direction="left">
- <sequence start="27" end="30" delay="75"/>
- <end />
- </animation>
- <animation direction="up">
- <sequence start="45" end="48" delay="75"/>
- <end />
- </animation>
- <animation direction="right">
- <sequence start="63" end="66" delay="75"/>
- <end />
- </animation>
- </action>
-
- <action name="attack_bow" imageset="base">
- <animation direction="down">
- <sequence start="13" end="17" delay="75"/>
- <end />
- </animation>
- <animation direction="left">
- <sequence start="31" end="35" delay="75"/>
- <end />
- </animation>
- <animation direction="up">
- <sequence start="49" end="53" delay="75"/>
- <end />
- </animation>
- <animation direction="right">
- <sequence start="67" end="71" delay="75"/>
- <end />
- </animation>
- </action>
-
- <action name="dead" imageset="base">
- <animation direction="down">
- <frame index="8"/>
- </animation>
- <animation direction="left">
- <frame index="26"/>
- </animation>
- <animation direction="up">
- <frame index="44"/>
- </animation>
- <animation direction="right">
- <frame index="62"/>
- </animation>
- </action>
-
-</sprite>
diff --git a/Sprites/Equipment/chests/chest-snakeplate-male.png b/Sprites/Equipment/chests/chest-snakeplate-male.png
deleted file mode 100644
index 1598725e..00000000
--- a/Sprites/Equipment/chests/chest-snakeplate-male.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Equipment/chests/chest-snakeplate-male.xml b/Sprites/Equipment/chests/chest-snakeplate-male.xml
deleted file mode 100644
index b387617d..00000000
--- a/Sprites/Equipment/chests/chest-snakeplate-male.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0"?>
-<sprite name="player" action="stand">
- <imageset name="base" src="graphics/sprites/chest-snakeplate-male.png" width="64" height="64"/>
-
- <action name="stand" imageset="base">
- <animation direction="down">
- <frame index="0"/>
- </animation>
- <animation direction="left">
- <frame index="18"/>
- </animation>
- <animation direction="up">
- <frame index="36"/>
- </animation>
- <animation direction="right">
- <frame index="54"/>
- </animation>
- </action>
-
- <action name="walk" imageset="base">
- <animation direction="down">
- <sequence start="1" end="6" delay="75"/>
- </animation>
- <animation direction="left">
- <sequence start="19" end="24" delay="75"/>
- </animation>
- <animation direction="up">
- <sequence start="37" end="42" delay="75"/>
- </animation>
- <animation direction="right">
- <sequence start="55" end="60" delay="75"/>
- </animation>
- </action>
-
- <action name="sit" imageset="base">
- <animation direction="down">
- <frame index="7"/>
- </animation>
- <animation direction="left">
- <frame index="25"/>
- </animation>
- <animation direction="up">
- <frame index="43"/>
- </animation>
- <animation direction="right">
- <frame index="61"/>
- </animation>
- </action>
-
- <action name="attack" imageset="base">
- <animation direction="down">
- <sequence start="9" end="12" delay="75"/>
- <end />
- </animation>
- <animation direction="left">
- <sequence start="27" end="30" delay="75"/>
- <end />
- </animation>
- <animation direction="up">
- <sequence start="45" end="48" delay="75"/>
- <end />
- </animation>
- <animation direction="right">
- <sequence start="63" end="66" delay="75"/>
- <end />
- </animation>
- </action>
-
- <action name="attack_bow" imageset="base">
- <animation direction="down">
- <sequence start="13" end="17" delay="75"/>
- <end />
- </animation>
- <animation direction="left">
- <sequence start="31" end="35" delay="75"/>
- <end />
- </animation>
- <animation direction="up">
- <sequence start="49" end="53" delay="75"/>
- <end />
- </animation>
- <animation direction="right">
- <sequence start="67" end="71" delay="75"/>
- <end />
- </animation>
- </action>
-
- <action name="dead" imageset="base">
- <animation direction="down">
- <frame index="8"/>
- </animation>
- <animation direction="left">
- <frame index="26"/>
- </animation>
- <animation direction="up">
- <frame index="44"/>
- </animation>
- <animation direction="right">
- <frame index="62"/>
- </animation>
- </action>
-
-</sprite>
diff --git a/Sprites/Equipment/chests/ready/Sprites_Equipment_chests_chest-snakeplate-female.png b/Sprites/Equipment/chests/ready/Sprites_Equipment_chests_chest-snakeplate-female.png
new file mode 100644
index 00000000..23ed6488
--- /dev/null
+++ b/Sprites/Equipment/chests/ready/Sprites_Equipment_chests_chest-snakeplate-female.png
Binary files differ
diff --git a/Sprites/Equipment/chests/ready/Sprites_Equipment_chests_chest-snakeplate-male.png b/Sprites/Equipment/chests/ready/Sprites_Equipment_chests_chest-snakeplate-male.png
new file mode 100644
index 00000000..8ff9b9a6
--- /dev/null
+++ b/Sprites/Equipment/chests/ready/Sprites_Equipment_chests_chest-snakeplate-male.png
Binary files differ
diff --git a/Sprites/Equipment/chests/xcf/Sprites_Equipment_chests_chest-snakeplate-female.xcf b/Sprites/Equipment/chests/xcf/Sprites_Equipment_chests_chest-snakeplate-female.xcf
new file mode 100644
index 00000000..15380938
--- /dev/null
+++ b/Sprites/Equipment/chests/xcf/Sprites_Equipment_chests_chest-snakeplate-female.xcf
Binary files differ
diff --git a/Sprites/Equipment/chests/xcf/Sprites_Equipment_chests_chest-snakeplate-male.xcf b/Sprites/Equipment/chests/xcf/Sprites_Equipment_chests_chest-snakeplate-male.xcf
new file mode 100644
index 00000000..04e513d7
--- /dev/null
+++ b/Sprites/Equipment/chests/xcf/Sprites_Equipment_chests_chest-snakeplate-male.xcf
Binary files differ
diff --git a/Icon/LoF/Glitter Fro.png b/Sprites/Equipment/head/Glitter_Fro.png
index d7d9c87f..d7d9c87f 100644
--- a/Icon/LoF/Glitter Fro.png
+++ b/Sprites/Equipment/head/Glitter_Fro.png
Binary files differ
diff --git a/Sprites/Equipment/head/bandana_black.png b/Sprites/Equipment/head/bandana_black.png
new file mode 100644
index 00000000..82ce2f2d
--- /dev/null
+++ b/Sprites/Equipment/head/bandana_black.png
Binary files differ
diff --git a/Sprites/Equipment/head/bandana_blue.png b/Sprites/Equipment/head/bandana_blue.png
new file mode 100644
index 00000000..f73cf20c
--- /dev/null
+++ b/Sprites/Equipment/head/bandana_blue.png
Binary files differ
diff --git a/Sprites/Equipment/head/bandana_gold.png b/Sprites/Equipment/head/bandana_gold.png
new file mode 100644
index 00000000..a41d5a1e
--- /dev/null
+++ b/Sprites/Equipment/head/bandana_gold.png
Binary files differ
diff --git a/Sprites/Equipment/head/bandana_green.png b/Sprites/Equipment/head/bandana_green.png
new file mode 100644
index 00000000..7f468882
--- /dev/null
+++ b/Sprites/Equipment/head/bandana_green.png
Binary files differ
diff --git a/Sprites/Equipment/head/glitter_fro.png b/Sprites/Equipment/head/glitter_fro.png
deleted file mode 100644
index d7d9c87f..00000000
--- a/Sprites/Equipment/head/glitter_fro.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Equipment/head/head-mask-aguia.png b/Sprites/Equipment/head/head-mask-aguia.png
new file mode 100644
index 00000000..5a0cd49b
--- /dev/null
+++ b/Sprites/Equipment/head/head-mask-aguia.png
Binary files differ
diff --git a/Sprites/Equipment/head/hitomb-lord.png b/Sprites/Equipment/head/hitomb-lord.png
new file mode 100644
index 00000000..94ccaeef
--- /dev/null
+++ b/Sprites/Equipment/head/hitomb-lord.png
Binary files differ
diff --git a/Sprites/Equipment/head/pirate_Lords_Hat_2017_new_2.png b/Sprites/Equipment/head/pirate_Lords_Hat_2017_new_2.png
new file mode 100644
index 00000000..57546d27
--- /dev/null
+++ b/Sprites/Equipment/head/pirate_Lords_Hat_2017_new_2.png
Binary files differ
diff --git a/Sprites/Equipment/head/ready/Icon_LoF_Chrome__miners_hat.png b/Sprites/Equipment/head/ready/Icon_LoF_Chrome__miners_hat.png
new file mode 100644
index 00000000..ad28a7f4
--- /dev/null
+++ b/Sprites/Equipment/head/ready/Icon_LoF_Chrome__miners_hat.png
Binary files differ
diff --git a/Sprites/Equipment/head/ready/Icon_LoF_deep_Minors_Helm_comp.png b/Sprites/Equipment/head/ready/Icon_LoF_deep_Minors_Helm_comp.png
new file mode 100644
index 00000000..e4ddf699
--- /dev/null
+++ b/Sprites/Equipment/head/ready/Icon_LoF_deep_Minors_Helm_comp.png
Binary files differ
diff --git a/Sprites/Equipment/head/ready/Icon_LoF_sage_enhanced_final_rendition.png b/Sprites/Equipment/head/ready/Icon_LoF_sage_enhanced_final_rendition.png
new file mode 100644
index 00000000..6ad0660c
--- /dev/null
+++ b/Sprites/Equipment/head/ready/Icon_LoF_sage_enhanced_final_rendition.png
Binary files differ
diff --git a/Sprites/Equipment/head/ready/Icon_LoF_the_iron_mask.png b/Sprites/Equipment/head/ready/Icon_LoF_the_iron_mask.png
new file mode 100644
index 00000000..3ceea82e
--- /dev/null
+++ b/Sprites/Equipment/head/ready/Icon_LoF_the_iron_mask.png
Binary files differ
diff --git a/Sprites/Equipment/head/ready/antlerhat.png b/Sprites/Equipment/head/ready/antlerhat.png
deleted file mode 100644
index 0b092dc8..00000000
--- a/Sprites/Equipment/head/ready/antlerhat.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Equipment/head/ready/head-wreath.png b/Sprites/Equipment/head/ready/head-wreath.png
deleted file mode 100644
index 63b53319..00000000
--- a/Sprites/Equipment/head/ready/head-wreath.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Equipment/head/ready/pumpkinhelmet.png b/Sprites/Equipment/head/ready/pumpkinhelmet.png
deleted file mode 100644
index adced031..00000000
--- a/Sprites/Equipment/head/ready/pumpkinhelmet.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Equipment/head/ready/silkheadband.png b/Sprites/Equipment/head/ready/silkheadband.png
deleted file mode 100644
index 5e00613f..00000000
--- a/Sprites/Equipment/head/ready/silkheadband.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Equipment/head/ready/underworldmask.png b/Sprites/Equipment/head/ready/underworldmask.png
deleted file mode 100644
index a490fadc..00000000
--- a/Sprites/Equipment/head/ready/underworldmask.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Equipment/head/ready/witchhat.png b/Sprites/Equipment/head/ready/witchhat.png
deleted file mode 100644
index cd7013e7..00000000
--- a/Sprites/Equipment/head/ready/witchhat.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Equipment/head/ready/wizardhat.png b/Sprites/Equipment/head/ready/wizardhat.png
deleted file mode 100644
index eaa06179..00000000
--- a/Sprites/Equipment/head/ready/wizardhat.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Equipment/head/superpaperhat.png b/Sprites/Equipment/head/superpaperhat.png
deleted file mode 100644
index 7ca152bd..00000000
--- a/Sprites/Equipment/head/superpaperhat.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Equipment/head/xcf/Icon_LoF_Chrome__miners_hat.xcf b/Sprites/Equipment/head/xcf/Icon_LoF_Chrome__miners_hat.xcf
new file mode 100644
index 00000000..d6c52971
--- /dev/null
+++ b/Sprites/Equipment/head/xcf/Icon_LoF_Chrome__miners_hat.xcf
Binary files differ
diff --git a/Sprites/Equipment/head/xcf/Icon_LoF_deep_Minors_Helm_comp.xcf b/Sprites/Equipment/head/xcf/Icon_LoF_deep_Minors_Helm_comp.xcf
new file mode 100644
index 00000000..561156ea
--- /dev/null
+++ b/Sprites/Equipment/head/xcf/Icon_LoF_deep_Minors_Helm_comp.xcf
Binary files differ
diff --git a/Sprites/Equipment/head/xcf/Icon_LoF_sage_enhanced_final_rendition.xcf b/Sprites/Equipment/head/xcf/Icon_LoF_sage_enhanced_final_rendition.xcf
new file mode 100644
index 00000000..b439d0d2
--- /dev/null
+++ b/Sprites/Equipment/head/xcf/Icon_LoF_sage_enhanced_final_rendition.xcf
Binary files differ
diff --git a/Sprites/Equipment/head/xcf/Icon_LoF_the_iron_mask.xcf b/Sprites/Equipment/head/xcf/Icon_LoF_the_iron_mask.xcf
new file mode 100644
index 00000000..c9ad7776
--- /dev/null
+++ b/Sprites/Equipment/head/xcf/Icon_LoF_the_iron_mask.xcf
Binary files differ
diff --git a/Sprites/Equipment/head/xcf/moonshroomhat.xcf b/Sprites/Equipment/head/xcf/moonshroomhat.xcf
new file mode 100644
index 00000000..79e17de6
--- /dev/null
+++ b/Sprites/Equipment/head/xcf/moonshroomhat.xcf
Binary files differ
diff --git a/Sprites/Hairstyles/for pookie/readme.md b/Sprites/Hairstyles/for pookie/readme.md
new file mode 100644
index 00000000..2a144c87
--- /dev/null
+++ b/Sprites/Hairstyles/for pookie/readme.md
@@ -0,0 +1,2 @@
+info: tawhat
+license: contact saulc \ No newline at end of file
diff --git a/Sprites/Monsters/dark_frostiana.xcf b/Sprites/Monsters/dark_frostiana.xcf
new file mode 100644
index 00000000..7e198cec
--- /dev/null
+++ b/Sprites/Monsters/dark_frostiana.xcf
Binary files differ
diff --git a/Sprites/Monsters/efeito-onda.png b/Sprites/Monsters/efeito-onda.png
new file mode 100644
index 00000000..f4d7b277
--- /dev/null
+++ b/Sprites/Monsters/efeito-onda.png
Binary files differ
diff --git a/Sprites/Monsters/espectro-sombrio.png b/Sprites/Monsters/espectro-sombrio.png
new file mode 100644
index 00000000..9c89973d
--- /dev/null
+++ b/Sprites/Monsters/espectro-sombrio.png
Binary files differ
diff --git a/Sprites/Monsters/espectro-sombrio.xml b/Sprites/Monsters/espectro-sombrio.xml
new file mode 100644
index 00000000..6598327d
--- /dev/null
+++ b/Sprites/Monsters/espectro-sombrio.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0"?>
+<sprite>
+
+ <imageset name="base" src="graphics/sprites/monsters/espectro-sombrio.png" width="70" height="70"/>
+
+ <action name="default" imageset="base">
+ <animation>
+ <frame index="0"/>
+ </animation>
+ </action>
+
+ <action name="stand" imageset="base">
+ <animation direction="down">
+ <frame index="0" offsetY="0" delay="150"/>
+ <frame index="0" offsetY="-1" delay="200"/>
+ <frame index="0" offsetY="0" delay="150"/>
+ <frame index="0" offsetY="1" delay="200"/>
+ </animation>
+ <animation direction="left">
+ <frame index="6" offsetY="0" delay="150"/>
+ <frame index="6" offsetY="-1" delay="200"/>
+ <frame index="6" offsetY="0" delay="150"/>
+ <frame index="6" offsetY="1" delay="200"/>
+ </animation>
+ <animation direction="up">
+ <frame index="12" offsetY="0" delay="150"/>
+ <frame index="12" offsetY="-1" delay="200"/>
+ <frame index="12" offsetY="0" delay="150"/>
+ <frame index="12" offsetY="1" delay="200"/>
+ </animation>
+ <animation direction="right">
+ <frame index="18" offsetY="0" delay="150"/>
+ <frame index="18" offsetY="-1" delay="200"/>
+ <frame index="18" offsetY="0" delay="150"/>
+ <frame index="18" offsetY="1" delay="200"/>
+ </animation>
+ </action>
+
+ <action name="walk" imageset="base">
+ <animation direction="down">
+ <frame index="0" delay="200"/>
+ <frame index="1" delay="200"/>
+ </animation>
+ <animation direction="left">
+ <frame index="6" delay="200"/>
+ <frame index="7" delay="200"/>
+ </animation>
+ <animation direction="up">
+ <frame index="12" delay="200"/>
+ <frame index="13" delay="200"/>
+ </animation>
+ <animation direction="right">
+ <frame index="18" delay="200"/>
+ <frame index="19" delay="200"/>
+ </animation>
+ </action>
+
+ <action name="attack" imageset="base">
+ <animation direction="down">
+ <frame index="2" delay="200"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <frame index="8" delay="200"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <frame index="14" delay="200"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <frame index="20" delay="200"/>
+ <end/>
+ </animation>
+ </action>
+
+ <action name="dead" imageset="base">
+ <animation direction="down">
+ <frame index="9" delay="75"/>
+ <frame index="10" delay="75"/>
+ <frame index="11" delay="75" offsetY="0"/>
+ <frame index="11" delay="75" offsetY="2"/>
+ <frame index="11" delay="75" offsetY="4"/>
+ <frame index="11" delay="75" offsetY="8"/>
+ <frame index="11" delay="75" offsetY="10"/>
+ <frame index="11" delay="75" offsetY="12"/>
+ <frame index="5" delay="75" offsetY="12"/>
+ <frame index="4" delay="75" offsetY="14"/>
+ <frame index="4" delay="75" offsetY="16"/>
+ <frame index="4" delay="75" offsetY="18"/>
+ <frame index="4" delay="75" offsetY="20"/>
+ <frame index="4" delay="75" offsetY="22"/>
+ <frame index="4" offsetY="24"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <frame index="9" delay="75"/>
+ <frame index="10" delay="75"/>
+ <frame index="11" delay="75" offsetY="0"/>
+ <frame index="11" delay="75" offsetY="2"/>
+ <frame index="11" delay="75" offsetY="4"/>
+ <frame index="11" delay="75" offsetY="8"/>
+ <frame index="11" delay="75" offsetY="10"/>
+ <frame index="11" delay="75" offsetY="12"/>
+ <frame index="5" delay="75" offsetY="12"/>
+ <frame index="4" delay="75" offsetY="14"/>
+ <frame index="4" delay="75" offsetY="16"/>
+ <frame index="4" delay="75" offsetY="18"/>
+ <frame index="4" delay="75" offsetY="20"/>
+ <frame index="4" delay="75" offsetY="22"/>
+ <frame index="4" offsetY="24"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <frame index="21" delay="75"/>
+ <frame index="22" delay="75"/>
+ <frame index="23" delay="75" offsetY="0"/>
+ <frame index="23" delay="75" offsetY="2"/>
+ <frame index="23" delay="75" offsetY="4"/>
+ <frame index="23" delay="75" offsetY="8"/>
+ <frame index="23" delay="75" offsetY="10"/>
+ <frame index="23" delay="75" offsetY="12"/>
+ <frame index="17" delay="75" offsetY="12"/>
+ <frame index="16" delay="75" offsetY="14"/>
+ <frame index="16" delay="75" offsetY="16"/>
+ <frame index="16" delay="75" offsetY="18"/>
+ <frame index="16" delay="75" offsetY="20"/>
+ <frame index="16" delay="75" offsetY="22"/>
+ <frame index="16" offsetY="24"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <frame index="21" delay="75"/>
+ <frame index="22" delay="75"/>
+ <frame index="23" delay="75" offsetY="0"/>
+ <frame index="23" delay="75" offsetY="2"/>
+ <frame index="23" delay="75" offsetY="4"/>
+ <frame index="23" delay="75" offsetY="8"/>
+ <frame index="23" delay="75" offsetY="10"/>
+ <frame index="23" delay="75" offsetY="12"/>
+ <frame index="17" delay="75" offsetY="12"/>
+ <frame index="16" delay="75" offsetY="14"/>
+ <frame index="16" delay="75" offsetY="16"/>
+ <frame index="16" delay="75" offsetY="18"/>
+ <frame index="16" delay="75" offsetY="20"/>
+ <frame index="16" delay="75" offsetY="22"/>
+ <frame index="16" offsetY="24"/>
+ <end/>
+ </animation>
+ </action>
+
+</sprite>
diff --git a/Sprites/Monsters/monstro-aranha-rainha.png b/Sprites/Monsters/monstro-aranha-rainha.png
new file mode 100644
index 00000000..a044e311
--- /dev/null
+++ b/Sprites/Monsters/monstro-aranha-rainha.png
Binary files differ
diff --git a/Sprites/Monsters/monstro-aranha-rainha.xml b/Sprites/Monsters/monstro-aranha-rainha.xml
new file mode 100644
index 00000000..09eb55b7
--- /dev/null
+++ b/Sprites/Monsters/monstro-aranha-rainha.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+<sprite>
+
+ <imageset name="base" src="graphics/sprites/monstro-aranha-rainha.png|W;R" width="96" height="96"/>
+
+ <action name="stand" imageset="base">
+ <animation direction="down">
+ <frame index="0" delay="275"/>
+ <frame index="2" delay="275"/>
+ </animation>
+ <animation direction="left">
+ <frame index="7" delay="275"/>
+ <frame index="9" delay="275"/>
+ </animation>
+ <animation direction="up">
+ <frame index="14" delay="275"/>
+ <frame index="16" delay="275"/>
+ </animation>
+ <animation direction="right">
+ <frame index="21" delay="275"/>
+ <frame index="23" delay="275"/>
+ </animation>
+ </action>
+
+ <action name="walk" imageset="base">
+ <animation direction="down">
+ <sequence start="0" end="3" delay="100"/>
+ </animation>
+ <animation direction="left">
+ <sequence start="7" end="10" delay="100"/>
+ </animation>
+ <animation direction="up">
+ <sequence start="14" end="17" delay="100"/>
+ </animation>
+ <animation direction="right">
+ <sequence start="21" end="24" delay="100"/>
+ </animation>
+ </action>
+
+ <action name="dead" imageset="base">
+ <animation direction="down">
+ <frame index="6"/>
+ </animation>
+ <animation direction="left">
+ <frame index="13"/>
+ </animation>
+ <animation direction="up">
+ <frame index="20"/>
+ </animation>
+ <animation direction="right">
+ <frame index="27"/>
+ </animation>
+ </action>
+
+ <action name="attack" imageset="base">
+ <animation direction="down">
+ <sequence start="4" end="5" delay="100"/>
+ <end />
+ </animation>
+ <animation direction="left">
+ <sequence start="11" end="12" delay="100"/>
+ <end />
+ </animation>
+ <animation direction="up">
+ <sequence start="18" end="19" delay="100"/>
+ <end />
+ </animation>
+ <animation direction="right">
+ <sequence start="25" end="26" delay="100"/>
+ <end />
+ </animation>
+ </action>
+
+</sprite>
diff --git a/Sprites/Monsters/monstro-aranha-rainha2.png b/Sprites/Monsters/monstro-aranha-rainha2.png
new file mode 100644
index 00000000..04d0de7f
--- /dev/null
+++ b/Sprites/Monsters/monstro-aranha-rainha2.png
Binary files differ
diff --git a/Sprites/Monsters/monstro-aranha-rainha2.xml b/Sprites/Monsters/monstro-aranha-rainha2.xml
new file mode 100644
index 00000000..d7f9de4c
--- /dev/null
+++ b/Sprites/Monsters/monstro-aranha-rainha2.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+<sprite>
+
+ <imageset name="base" src="graphics/sprites/monstro-aranha-rainha2.png|W;R" width="70" height="70"/>
+
+ <action name="stand" imageset="base">
+ <animation direction="down">
+ <frame index="0" delay="275"/>
+ <frame index="2" delay="275"/>
+ </animation>
+ <animation direction="left">
+ <frame index="7" delay="275"/>
+ <frame index="9" delay="275"/>
+ </animation>
+ <animation direction="up">
+ <frame index="14" delay="275"/>
+ <frame index="16" delay="275"/>
+ </animation>
+ <animation direction="right">
+ <frame index="21" delay="275"/>
+ <frame index="23" delay="275"/>
+ </animation>
+ </action>
+
+ <action name="walk" imageset="base">
+ <animation direction="down">
+ <sequence start="0" end="3" delay="75"/>
+ </animation>
+ <animation direction="left">
+ <sequence start="7" end="10" delay="75"/>
+ </animation>
+ <animation direction="up">
+ <sequence start="14" end="17" delay="75"/>
+ </animation>
+ <animation direction="right">
+ <sequence start="21" end="24" delay="75"/>
+ </animation>
+ </action>
+
+ <action name="dead" imageset="base">
+ <animation direction="down">
+ <frame index="6"/>
+ </animation>
+ <animation direction="left">
+ <frame index="13"/>
+ </animation>
+ <animation direction="up">
+ <frame index="20"/>
+ </animation>
+ <animation direction="right">
+ <frame index="27"/>
+ </animation>
+ </action>
+
+ <action name="attack" imageset="base">
+ <animation direction="down">
+ <sequence start="4" end="5" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <sequence start="11" end="12" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <sequence start="18" end="19" delay="75"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <sequence start="25" end="26" delay="75"/>
+ <end/>
+ </animation>
+ </action>
+
+</sprite>
diff --git a/Sprites/Monsters/monstro-aranha.png b/Sprites/Monsters/monstro-aranha.png
new file mode 100644
index 00000000..fe994757
--- /dev/null
+++ b/Sprites/Monsters/monstro-aranha.png
Binary files differ
diff --git a/Sprites/Monsters/monstro-aranha.xml b/Sprites/Monsters/monstro-aranha.xml
new file mode 100644
index 00000000..17ae9c6e
--- /dev/null
+++ b/Sprites/Monsters/monstro-aranha.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+<sprite>
+
+ <imageset name="base" src="graphics/sprites/monstro-aranha.png|W;R" width="35" height="35"/>
+
+ <action name="stand" imageset="base">
+ <animation direction="down">
+ <frame index="0" delay="275"/>
+ <frame index="2" delay="275"/>
+ </animation>
+ <animation direction="left">
+ <frame index="7" delay="275"/>
+ <frame index="9" delay="275"/>
+ </animation>
+ <animation direction="up">
+ <frame index="14" delay="275"/>
+ <frame index="16" delay="275"/>
+ </animation>
+ <animation direction="right">
+ <frame index="21" delay="275"/>
+ <frame index="23" delay="275"/>
+ </animation>
+ </action>
+
+ <action name="walk" imageset="base">
+ <animation direction="down">
+ <sequence start="0" end="3" delay="75"/>
+ </animation>
+ <animation direction="left">
+ <sequence start="7" end="10" delay="75"/>
+ </animation>
+ <animation direction="up">
+ <sequence start="14" end="17" delay="75"/>
+ </animation>
+ <animation direction="right">
+ <sequence start="21" end="24" delay="75"/>
+ </animation>
+ </action>
+
+ <action name="dead" imageset="base">
+ <animation direction="down">
+ <frame index="6"/>
+ </animation>
+ <animation direction="left">
+ <frame index="13"/>
+ </animation>
+ <animation direction="up">
+ <frame index="20"/>
+ </animation>
+ <animation direction="right">
+ <frame index="27"/>
+ </animation>
+ </action>
+
+ <action name="attack" imageset="base">
+ <animation direction="down">
+ <sequence start="4" end="5" delay="75"/>
+ <end />
+ </animation>
+ <animation direction="left">
+ <sequence start="11" end="12" delay="75"/>
+ <end />
+ </animation>
+ <animation direction="up">
+ <sequence start="18" end="19" delay="75"/>
+ <end />
+ </animation>
+ <animation direction="right">
+ <sequence start="25" end="26" delay="75"/>
+ <end />
+ </animation>
+ </action>
+
+</sprite>
diff --git a/Sprites/Monsters/swamp_maggot.xcf b/Sprites/Monsters/swamp_maggot.xcf
new file mode 100644
index 00000000..9b6c7db2
--- /dev/null
+++ b/Sprites/Monsters/swamp_maggot.xcf
Binary files differ
diff --git a/Sprites/Monsters/tartaruga-espinhosa.png b/Sprites/Monsters/tartaruga-espinhosa.png
new file mode 100644
index 00000000..e7c9e12f
--- /dev/null
+++ b/Sprites/Monsters/tartaruga-espinhosa.png
Binary files differ
diff --git a/Sprites/Monsters/tartaruga-espinhosa.xml b/Sprites/Monsters/tartaruga-espinhosa.xml
new file mode 100644
index 00000000..d9828a40
--- /dev/null
+++ b/Sprites/Monsters/tartaruga-espinhosa.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<sprite>
+
+ <imageset name="base" src="graphics/sprites/monsters/tartaruga-espinhosa.png" width="32" height="32"/>
+
+ <action name="stand" imageset="base">
+ <animation direction="down">
+ <frame index="2" delay="75"/>
+ <frame index="1" delay="75"/>
+ <frame index="0" delay="3000"/>
+ <frame index="1" delay="75"/>
+ <frame index="2" delay="75"/>
+ <frame index="3" delay="1000"/>
+ </animation>
+ <animation direction="left">
+ <frame index="8" delay="75"/>
+ <frame index="7" delay="75"/>
+ <frame index="6" delay="3000"/>
+ <frame index="7" delay="75"/>
+ <frame index="8" delay="75"/>
+ <frame index="9" delay="1000"/>
+ </animation>
+ <animation direction="up">
+ <frame index="14" delay="75"/>
+ <frame index="13" delay="75"/>
+ <frame index="12" delay="3000"/>
+ <frame index="13" delay="75"/>
+ <frame index="14" delay="75"/>
+ <frame index="15" delay="1000"/>
+ </animation>
+ <animation direction="right">
+ <frame index="20" delay="75"/>
+ <frame index="19" delay="75"/>
+ <frame index="18" delay="3000"/>
+ <frame index="19" delay="75"/>
+ <frame index="20" delay="75"/>
+ <frame index="21" delay="1000"/>
+ </animation>
+ </action>
+
+ <action name="walk" imageset="base">
+ <animation direction="down">
+ <frame index="4" delay="200"/>
+ <frame index="5" delay="200"/>
+ </animation>
+ <animation direction="left">
+ <frame index="10" delay="200"/>
+ <frame index="11" delay="200"/>
+ </animation>
+ <animation direction="up">
+ <frame index="16" delay="200"/>
+ <frame index="17" delay="200"/>
+ </animation>
+ <animation direction="right">
+ <frame index="22" delay="200"/>
+ <frame index="23" delay="200"/>
+ </animation>
+ </action>
+
+ <action name="attack" imageset="base">
+ <animation direction="down">
+ <frame index="4" delay="75"/>
+ <frame index="5" delay="75"/>
+ <frame index="2"/>
+ </animation>
+ <animation direction="left">
+ <frame index="10" delay="75"/>
+ <frame index="11" delay="75"/>
+ <frame index="8"/>
+ </animation>
+ <animation direction="up">
+ <frame index="16" delay="75"/>
+ <frame index="17" delay="75"/>
+ <frame index="14"/>
+ </animation>
+ <animation direction="right">
+ <frame index="22" delay="75"/>
+ <frame index="23" delay="75"/>
+ <frame index="20"/>
+ </animation>
+ </action>
+
+ <action name="dead" imageset="base">
+ <animation direction="down">
+ <frame index="24"/>
+ </animation>
+ <animation direction="left">
+ <frame index="25"/>
+ </animation>
+ <animation direction="up">
+ <frame index="26"/>
+ </animation>
+ <animation direction="right">
+ <frame index="27"/>
+ </animation>
+ </action>
+
+</sprite>
diff --git a/Sprites/Npcs/3431mon_banana.png b/Sprites/Npcs/3431mon_banana.png
new file mode 100644
index 00000000..c2c589b7
--- /dev/null
+++ b/Sprites/Npcs/3431mon_banana.png
Binary files differ
diff --git a/Sprites/Npcs/3481.png b/Sprites/Npcs/3481.png
deleted file mode 100644
index 966bf003..00000000
--- a/Sprites/Npcs/3481.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Npcs/4001.jpg b/Sprites/Npcs/4001.jpg
deleted file mode 100644
index a8f31bad..00000000
--- a/Sprites/Npcs/4001.jpg
+++ /dev/null
Binary files differ
diff --git a/Sprites/Npcs/banhista.png b/Sprites/Npcs/banhista.png
new file mode 100644
index 00000000..7d5bb463
--- /dev/null
+++ b/Sprites/Npcs/banhista.png
Binary files differ
diff --git a/Sprites/Npcs/bruxa-levitando.xml b/Sprites/Npcs/bruxa-levitando.xml
new file mode 100644
index 00000000..fce94e63
--- /dev/null
+++ b/Sprites/Npcs/bruxa-levitando.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<sprite>
+
+ <imageset name="base" src="graphics/sprites/npcs/bruxa.png" width="48" height="60"/>
+
+ <action name="stand" imageset="base">
+ <animation direction="default">
+ <frame index="1" delay="75" offsetY="-1"/>
+ <frame index="2" delay="75" offsetY="-2"/>
+ <frame index="3" delay="75" offsetY="-3"/>
+ <frame index="4" delay="75" offsetY="-4"/>
+ <frame index="4" delay="150" offsetY="-5"/>
+ <frame index="4" delay="300" offsetY="-6"/>
+ <frame index="4" delay="150" offsetY="-5"/>
+ <frame index="4" delay="75" offsetY="-4"/>
+ <frame index="4" delay="150" offsetY="-3"/>
+ <frame index="4" delay="300" offsetY="-2"/>
+ <frame index="4" delay="150" offsetY="-3"/>
+ <frame index="4" delay="75" offsetY="-4"/>
+ <frame index="4" delay="150" offsetY="-5"/>
+ <frame index="4" delay="300" offsetY="-6"/>
+ <frame index="4" delay="150" offsetY="-5"/>
+ <frame index="4" delay="75" offsetY="-4"/>
+ <frame index="3" delay="75" offsetY="-3"/>
+ <frame index="2" delay="75" offsetY="-2"/>
+ <frame index="1" delay="75" offsetY="-1"/>
+ <frame index="0" offsetY="0"/>
+ </animation>
+ </action>
+
+</sprite>
diff --git a/Sprites/Npcs/bruxa-livro.png b/Sprites/Npcs/bruxa-livro.png
new file mode 100644
index 00000000..bd910d9a
--- /dev/null
+++ b/Sprites/Npcs/bruxa-livro.png
Binary files differ
diff --git a/Sprites/Npcs/bruxa-livro.xml b/Sprites/Npcs/bruxa-livro.xml
new file mode 100644
index 00000000..a4d9df6f
--- /dev/null
+++ b/Sprites/Npcs/bruxa-livro.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<sprite>
+
+ <imageset name="base" src="graphics/sprites/npcs/bruxa-livro.png" width="66" height="66"/>
+
+ <action name="stand" imageset="base">
+ <animation direction="default">
+ <frame index="0" delay="3000" offsetX="-20" offsetY="-2"/>
+ <frame index="1" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="0" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="2" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="0" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="3" delay="3000" offsetX="-20" offsetY="-2"/>
+ <frame index="0" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="3" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="0" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="3" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="0" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="3" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="0" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="3" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="0" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="3" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="0" delay="100" offsetX="-20" offsetY="-2"/>
+ <frame index="4" delay="3000" offsetX="-20" offsetY="-2"/>
+ <frame index="5" delay="3000" offsetX="-20" offsetY="-2"/>
+ </animation>
+ </action>
+
+</sprite>
diff --git a/Sprites/Npcs/bruxa-vassoura.png b/Sprites/Npcs/bruxa-vassoura.png
new file mode 100644
index 00000000..09c8015a
--- /dev/null
+++ b/Sprites/Npcs/bruxa-vassoura.png
Binary files differ
diff --git a/Sprites/Npcs/bruxa-vassoura.xml b/Sprites/Npcs/bruxa-vassoura.xml
new file mode 100644
index 00000000..c3c48342
--- /dev/null
+++ b/Sprites/Npcs/bruxa-vassoura.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+<sprite>
+
+ <imageset name="base" src="graphics/sprites/npcs/bruxa-vassoura.png" width="56" height="65"/>
+
+ <action name="stand" imageset="base">
+ <animation direction="default">
+ <frame index="0" delay="75" offsetY="-8"/>
+
+ <frame index="0" delay="150" offsetY="-9"/>
+ <frame index="0" delay="300" offsetY="-10"/>
+ <frame index="0" delay="150" offsetY="-9"/>
+ <frame index="0" delay="75" offsetY="-8"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+ <frame index="0" delay="300" offsetY="-6"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+ <frame index="0" delay="75" offsetY="-8"/>
+
+ <frame index="0" delay="150" offsetY="-9"/>
+ <frame index="0" delay="300" offsetY="-10"/>
+ <frame index="0" delay="150" offsetY="-9"/>
+ <frame index="0" delay="75" offsetY="-8"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+ <frame index="0" delay="300" offsetY="-6"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+ <frame index="0" delay="75" offsetY="-8"/>
+
+ <frame index="0" delay="150" offsetY="-9"/>
+ <frame index="0" delay="300" offsetY="-10"/>
+ <frame index="0" delay="150" offsetY="-9"/>
+ <frame index="0" delay="75" offsetY="-8"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+ <frame index="0" delay="300" offsetY="-6"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+ <frame index="0" delay="75" offsetY="-8"/>
+
+ <frame index="0" delay="150" offsetY="-9"/>
+ <frame index="0" delay="300" offsetY="-10"/>
+ <frame index="0" delay="150" offsetY="-9"/>
+ <frame index="0" delay="75" offsetY="-8"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+ <frame index="0" delay="300" offsetY="-6"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+ <frame index="0" delay="75" offsetY="-8"/>
+
+ <frame index="0" delay="150" offsetY="-9"/>
+ <frame index="0" delay="300" offsetY="-10"/>
+ <frame index="0" delay="150" offsetY="-9"/>
+ <frame index="0" delay="75" offsetY="-8"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+ <frame index="0" delay="300" offsetY="-6"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+ <frame index="0" delay="75" offsetY="-8"/>
+
+ <frame index="1" delay="75" offsetY="-9"/>
+ <frame index="2" delay="75" offsetY="-9"/>
+ <frame index="3" delay="75" offsetY="-10"/>
+ <frame index="4" delay="75" offsetY="-10"/>
+ <frame index="5" delay="75" offsetY="-11"/>
+ <frame index="6" delay="75" offsetY="-11"/>
+
+ <frame index="5" delay="75" offsetY="-12"/>
+ <frame index="6" delay="75" offsetY="-12"/>
+ <frame index="5" delay="75" offsetY="-13"/>
+ <frame index="6" delay="75" offsetY="-13"/>
+ <frame index="5" delay="75" offsetY="-13"/>
+ <frame index="6" delay="75" offsetY="-13"/>
+ <frame index="5" delay="75" offsetY="-13"/>
+ <frame index="6" delay="75" offsetY="-13"/>
+ <frame index="5" delay="75" offsetY="-13"/>
+ <frame index="6" delay="75" offsetY="-13"/>
+ <frame index="5" delay="75" offsetY="-13"/>
+ <frame index="6" delay="75" offsetY="-13"/>
+ <frame index="5" delay="75" offsetY="-13"/>
+ <frame index="6" delay="75" offsetY="-13"/>
+ <frame index="5" delay="75" offsetY="-13"/>
+ <frame index="6" delay="75" offsetY="-13"/>
+ <frame index="5" delay="75" offsetY="-13"/>
+ <frame index="6" delay="75" offsetY="-12"/>
+ <frame index="5" delay="75" offsetY="-12"/>
+ <frame index="6" delay="75" offsetY="-11"/>
+
+ <frame index="5" delay="75" offsetY="-11"/>
+ <frame index="4" delay="75" offsetY="-10"/>
+ <frame index="3" delay="75" offsetY="-10"/>
+ <frame index="2" delay="75" offsetY="-9"/>
+ <frame index="1" delay="75" offsetY="-9"/>
+
+ <frame index="0" delay="75" offsetY="-8"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+ <frame index="0" delay="300" offsetY="-6"/>
+ <frame index="0" delay="150" offsetY="-7"/>
+
+ </animation>
+ </action>
+
+</sprite>
diff --git a/Sprites/Npcs/bruxa.png b/Sprites/Npcs/bruxa.png
new file mode 100644
index 00000000..76ee5d16
--- /dev/null
+++ b/Sprites/Npcs/bruxa.png
Binary files differ
diff --git a/Sprites/Npcs/bruxa.xml b/Sprites/Npcs/bruxa.xml
new file mode 100644
index 00000000..f5706c8d
--- /dev/null
+++ b/Sprites/Npcs/bruxa.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<sprite>
+
+ <imageset name="base" src="graphics/sprites/npcs/bruxa.png" width="48" height="60"/>
+
+ <action name="stand" imageset="base">
+ <animation direction="default">
+ <frame index="0" delay="25000"/>
+ <frame index="1" delay="75" offsetY="-1"/>
+ <frame index="2" delay="75" offsetY="-2"/>
+ <frame index="3" delay="75" offsetY="-3"/>
+ <frame index="4" delay="75" offsetY="-4"/>
+ <frame index="4" delay="150" offsetY="-5"/>
+ <frame index="4" delay="300" offsetY="-6"/>
+ <frame index="4" delay="150" offsetY="-5"/>
+ <frame index="4" delay="75" offsetY="-4"/>
+ <frame index="4" delay="150" offsetY="-3"/>
+ <frame index="4" delay="300" offsetY="-2"/>
+ <frame index="4" delay="150" offsetY="-3"/>
+ <frame index="4" delay="75" offsetY="-4"/>
+ <frame index="4" delay="150" offsetY="-5"/>
+ <frame index="4" delay="300" offsetY="-6"/>
+ <frame index="4" delay="150" offsetY="-5"/>
+ <frame index="4" delay="75" offsetY="-4"/>
+ <frame index="3" delay="75" offsetY="-3"/>
+ <frame index="2" delay="75" offsetY="-2"/>
+ <frame index="1" delay="75" offsetY="-1"/>
+ </animation>
+ </action>
+
+</sprite>
diff --git a/Sprites/Npcs/lanterna-jack.png b/Sprites/Npcs/lanterna-jack.png
new file mode 100644
index 00000000..e4fd3356
--- /dev/null
+++ b/Sprites/Npcs/lanterna-jack.png
Binary files differ
diff --git a/Sprites/Npcs/lanterna-jack.xml b/Sprites/Npcs/lanterna-jack.xml
new file mode 100644
index 00000000..2d11a472
--- /dev/null
+++ b/Sprites/Npcs/lanterna-jack.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0"?>
+<sprite>
+
+ <imageset name="base" src="graphics/sprites/monsters/lanterna-jack.png" width="32" height="32"/>
+
+ <action name="stand" imageset="base">
+ <animation direction="down">
+ <frame index="0" delay="75" offsetY="-32"/>
+ <frame index="1" delay="150" offsetY="-33"/>
+ <frame index="2" delay="300" offsetY="-34"/>
+ <frame index="1" delay="150" offsetY="-33"/>
+ <frame index="0" delay="75" offsetY="-32"/>
+ <frame index="0" delay="150" offsetY="-31"/>
+ <frame index="0" delay="300" offsetY="-30"/>
+ <frame index="0" delay="150" offsetY="-31"/>
+ </animation>
+ <animation direction="left">
+ <frame index="3" delay="75" offsetY="-32"/>
+ <frame index="4" delay="150" offsetY="-33"/>
+ <frame index="5" delay="300" offsetY="-34"/>
+ <frame index="4" delay="150" offsetY="-33"/>
+ <frame index="3" delay="75" offsetY="-32"/>
+ <frame index="3" delay="150" offsetY="-31"/>
+ <frame index="3" delay="300" offsetY="-30"/>
+ <frame index="3" delay="150" offsetY="-31"/>
+ </animation>
+ <animation direction="up">
+ <frame index="6" delay="75" offsetY="-32"/>
+ <frame index="7" delay="150" offsetY="-33"/>
+ <frame index="8" delay="300" offsetY="-34"/>
+ <frame index="7" delay="150" offsetY="-33"/>
+ <frame index="6" delay="75" offsetY="-32"/>
+ <frame index="6" delay="150" offsetY="-31"/>
+ <frame index="6" delay="300" offsetY="-30"/>
+ <frame index="6" delay="150" offsetY="-31"/>
+ </animation>
+ <animation direction="right">
+ <frame index="9" delay="75" offsetY="-32"/>
+ <frame index="10" delay="150" offsetY="-33"/>
+ <frame index="11" delay="300" offsetY="-34"/>
+ <frame index="10" delay="150" offsetY="-33"/>
+ <frame index="9" delay="75" offsetY="-32"/>
+ <frame index="9" delay="150" offsetY="-31"/>
+ <frame index="9" delay="300" offsetY="-30"/>
+ <frame index="9" delay="150" offsetY="-31"/>
+ </animation>
+ </action>
+
+ <action name="attack" imageset="base">
+ <animation direction="down">
+ <frame index="1" delay="125" offsetX="0" offsetY="-32"/>
+ <frame index="2" delay="100" offsetX="0" offsetY="-30"/>
+ <frame index="1" delay="75" offsetX="0" offsetY="-28"/>
+ <frame index="0" delay="100" offsetX="0" offsetY="-30"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <frame index="4" delay="125" offsetX="-2" offsetY="-32"/>
+ <frame index="5" delay="100" offsetX="-4" offsetY="-31"/>
+ <frame index="4" delay="75" offsetX="-2" offsetY="-30"/>
+ <frame index="3" delay="100" offsetX="0" offsetY="-31"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <frame index="7" delay="125" offsetX="0" offsetY="-32"/>
+ <frame index="8" delay="100" offsetX="0" offsetY="-31"/>
+ <frame index="7" delay="75" offsetX="0" offsetY="-30"/>
+ <frame index="6" delay="100" offsetX="-0" offsetY="-31"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <frame index="10" delay="125" offsetX="2" offsetY="-32"/>
+ <frame index="11" delay="100" offsetX="4" offsetY="-31"/>
+ <frame index="10" delay="75" offsetX="2" offsetY="-30"/>
+ <frame index="9" delay="100" offsetX="0" offsetY="-31"/>
+ <end/>
+ </animation>
+ </action>
+
+ <action name="dead" imageset="base">
+ <animation direction="default">
+ <frame index="12" delay="75" offsetY="-30"/>
+ <frame index="13" delay="75" offsetY="-27"/>
+ <frame index="14" delay="75" offsetY="-23"/>
+ <frame index="15" delay="75" offsetY="-18"/>
+ <frame index="16" delay="75" offsetY="-12"/>
+ <frame index="16" delay="75" offsetY="-5"/>
+ <frame index="16"/>
+ </animation>
+ </action>
+
+</sprite>
diff --git a/Sprites/Npcs/npcs-br.png b/Sprites/Npcs/npcs-br.png
new file mode 100644
index 00000000..50acc460
--- /dev/null
+++ b/Sprites/Npcs/npcs-br.png
Binary files differ
diff --git a/Sprites/Npcs/npcs-br2.png b/Sprites/Npcs/npcs-br2.png
new file mode 100644
index 00000000..5207e8dd
--- /dev/null
+++ b/Sprites/Npcs/npcs-br2.png
Binary files differ
diff --git a/Sprites/Npcs/perching_piou_spritesheet.png b/Sprites/Npcs/perching_piou_spritesheet.png
new file mode 100644
index 00000000..6797bcc4
--- /dev/null
+++ b/Sprites/Npcs/perching_piou_spritesheet.png
Binary files differ
diff --git a/Sprites/Npcs/scarecrow.png b/Sprites/Npcs/scarecrow.png
deleted file mode 100644
index ed6b5460..00000000
--- a/Sprites/Npcs/scarecrow.png
+++ /dev/null
Binary files differ
diff --git a/Sprites/Npcs/singing_piou_spritesheet.png b/Sprites/Npcs/singing_piou_spritesheet.png
new file mode 100644
index 00000000..1c299ec7
--- /dev/null
+++ b/Sprites/Npcs/singing_piou_spritesheet.png
Binary files differ
diff --git a/Sprites/Npcs/sleeping_piou_spritesheet.png b/Sprites/Npcs/sleeping_piou_spritesheet.png
new file mode 100644
index 00000000..f1407fb5
--- /dev/null
+++ b/Sprites/Npcs/sleeping_piou_spritesheet.png
Binary files differ
diff --git a/Sprites/Npcs/xcf/perching_piou.xcf b/Sprites/Npcs/xcf/perching_piou.xcf
new file mode 100644
index 00000000..11e03599
--- /dev/null
+++ b/Sprites/Npcs/xcf/perching_piou.xcf
Binary files differ
diff --git a/Sprites/Npcs/xcf/piou_singing.xcf b/Sprites/Npcs/xcf/piou_singing.xcf
new file mode 100644
index 00000000..f7d88c74
--- /dev/null
+++ b/Sprites/Npcs/xcf/piou_singing.xcf
Binary files differ
diff --git a/Sprites/Npcs/xcf/sleeping_piou.xcf b/Sprites/Npcs/xcf/sleeping_piou.xcf
new file mode 100644
index 00000000..c0fbbe4f
--- /dev/null
+++ b/Sprites/Npcs/xcf/sleeping_piou.xcf
Binary files differ
diff --git a/Sprites/model/usable/largeheadmodel-male.png b/Sprites/model/usable/largeheadmodel-male.png
new file mode 100644
index 00000000..4007cc59
--- /dev/null
+++ b/Sprites/model/usable/largeheadmodel-male.png
Binary files differ
diff --git a/Tilesets/swamp_tree_x2x3.png b/Tilesets/swamp_tree_x2x3.png
new file mode 100644
index 00000000..b0af6884
--- /dev/null
+++ b/Tilesets/swamp_tree_x2x3.png
Binary files differ
diff --git a/Wallpaper/halloweenloginwallpaper_1024x768.png b/Wallpaper/halloweenloginwallpaper_1024x768.png
deleted file mode 100644
index 6bc9faee..00000000
--- a/Wallpaper/halloweenloginwallpaper_1024x768.png
+++ /dev/null
Binary files differ
diff --git a/Wallpaper/login_wallpaper.xcf b/Wallpaper/login_wallpaper.xcf
index 19094e0e..65a23d33 100644
--- a/Wallpaper/login_wallpaper.xcf
+++ b/Wallpaper/login_wallpaper.xcf
Binary files differ
diff --git a/monsters.xml b/monsters.xml
new file mode 100644
index 00000000..8a4d86b3
--- /dev/null
+++ b/monsters.xml
@@ -0,0 +1,652 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Author: Saulc,
+Copyright (C) 2018-2019 TMW2: Moubootaur Legends
+This file list various monsters xml-->
+<!--
+<monsters> Parent of the monster strings.
+<monster> Monster tag. Every new tag contain some specific attribute of the monster. The following paramaters is a list of them:
+id="" ID of the monster. It is different for each monster and starts from 0.
+name="" Name of the monster which will be displayed in game, it is also used by the server.
+targetCursor="" Cursor size used by the client, different size are: small, medium and large.
+walkType="" The walk type is used to manage which monster can fly over collision tiles or swim under the sea, or fly over it. Different walktype are: walk, walkswim and fly. By default, walk option is used and if the monster is static, this tag can be removed.
+<sprite> This tag shows the path to the xml of the monster.
+<sound> Sound tag. Contains an event which displays the sound effects to the corresponding action. The next paramaters lists them:
+event="" Links the sfx to an action, like die, hit, hurt, miss, move or spawn.
+-->
+<monsters>
+ <monster id="1000" name="Exempl" targetCursor="small">
+ <sprite>monsters/exempl.xml</sprite>
+ <sound event="die">monsters/bat/batdie.ogg</sound>
+ <sound event="hit">monsters/bat/bathit.ogg</sound>
+ </monster>
+
+// <?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1129" name="General Terogan">
+ <sprite>monsters/skeleton.xml|#aca379</sprite>
+ <sprite>equipment/chest/robe.xml|#ea0000,333333</sprite>
+ <sprite>equipment/head/phylactery.xml</sprite>
+ <sprite>equipment/head/evileyes.xml</sprite>
+ <sprite>equipment/hands/magefire.xml</sprite>
+ <attack id="1" critical-hit-effect-id="42" missile-particle="graphics/particles/thelost-attack.particle.xml" action="attack"/>
+ </monster>
+
+ <?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1044" name="Lady Skeleton">
+ <sprite>monsters/skeleton.xml|#ffe8bf</sprite>
+ <sprite>monsters/accessories/hairstyle08.xml|#ffe8bf</sprite>
+ </monster>
+</monsters>
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1045" name="Fallen">
+ <sprite>monsters/skeleton.xml|#ffe8bf</sprite>
+ <sprite>equipment/legs/chaps.xml</sprite>
+ <sprite>equipment/chest/warlordplate.xml</sprite>
+ <sprite>equipment/head/warlordhelm.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1047" name="Poltergeist">
+ <sprite>monsters/wisp.xml|#77ffdd,77ddff</sprite>
+ <particlefx>graphics/particles/polter.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1049" name="Bee" targetCursor="small">
+ <sprite>monsters/bee.xml</sprite>
+ <sprite>monsters/accessories/generic-shadow-small-circle.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1058" name="Ice Goblin">
+ <sprite>monsters/goblin-ice.xml</sprite>
+ <sound event="hit">monsters/fire-goblin/fire-goblin-hit1.ogg</sound>
+ <sound event="hit">monsters/fire-goblin/fire-goblin-hit2.ogg</sound>
+ <sound event="miss">monsters/fire-goblin/fire-goblin-miss1.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1055" name="Butterfly" targetCursor="small">
+ <sprite>monsters/butterfly.xml|#660000,FF3300,FFCC99,FFCCCC</sprite>
+ <sprite>monsters/accessories/generic-shadow-small-circle.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1060" name="Archant">
+ <sprite>monsters/archant.xml</sprite>
+ <sound event="hit">monsters/scorpion/scorpion-hit1.ogg</sound>
+ <sound event="hit">monsters/scorpion/scorpion-hit2.ogg</sound>
+ <sound event="hit">monsters/scorpion/scorpion-hit3.ogg</sound>
+ <sound event="hit">monsters/scorpion/scorpion-hit4.ogg</sound>
+ <sound event="miss">monsters/scorpion/scorpion-miss1.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1068" name="Reaper">
+ <sprite>monsters/reaper.xml</sprite>
+ <sprite>monsters/accessories/reaper-shadow.xml</sprite>
+ <particlefx>graphics/particles/monster-reaper.particle.xml</particlefx>
+ <sound event="hurt">monsters/reaper/reaper-hurt.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1069" name="Scythe" targetCursor="large">
+ <sprite>monsters/spinning-scythe.xml</sprite>
+ <sprite>monsters/accessories/scythe-shadow.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1071" name="Ice Element">
+ <sprite>monsters/element-ball.xml|#5e929d,a2d8e3,ffffff</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1075" name="Stalker">
+ <sprite>monsters/wraith.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1074" name="Red Bone">
+ <sprite>monsters/skeleton.xml|#994040,772020,440808,000000</sprite>
+ <particlefx>graphics/particles/necroblast.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1078" name="Tipsy Skeleton">
+ <sprite>monsters/skeleton.xml|#ffe8bf</sprite>
+ <sprite>equipment/legs/chaps.xml</sprite>
+ <sprite>equipment/chest/vnecksweater.xml|#0d1430,21337c,4363e5</sprite>
+ <sprite>equipment/head/bowler-hat.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1082" name="Serqet">
+ <sprite>monsters/serqet.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1080" name="Blue Spark">
+ <sprite>monsters/ball-lightning.xml</sprite>
+ <sprite>monsters/accessories/ball-lightning-shadow.xml</sprite>
+ <particlefx>graphics/particles/monster-ball-lightning-blue.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<monsters offset="0">
+ <monster id="1066" name="Vampire Bat">
+ <sprite>monsters/vampire-bat.xml</sprite>
+ <sound event="die">monsters/bat/bat-dying1.ogg</sound>
+ <sound event="hit">monsters/bat/bat-hit1.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1073" name="The Lost">
+ <sprite>monsters/skeleton.xml|#aca379</sprite>
+ <sprite>equipment/chest/robe.xml|#333333</sprite>
+ <sprite>equipment/head/phylactery.xml</sprite>
+ </monster>
+
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1081" name="Red Spark">
+ <sprite>monsters/ball-lightning.xml</sprite>
+ <sprite>monsters/accessories/ball-lightning-shadow.xml</sprite>
+ <particlefx>graphics/particles/monster-ball-lightning-red.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1083" name="Huntsman Spider">
+ <sprite>monsters/spider.xml|#1a160f,93774a,d2c3aa,ffffff;#a00000</sprite>
+ <sound event="hit">monsters/scorpion/scorpion-hit1.ogg</sound>
+ <sound event="hit">monsters/scorpion/scorpion-hit2.ogg</sound>
+ <sound event="hit">monsters/scorpion/scorpion-hit3.ogg</sound>
+ <sound event="hit">monsters/scorpion/scorpion-hit4.ogg</sound>
+ <sound event="miss">monsters/scorpion/scorpion-miss1.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1087" name="Larvern" targetCursor="small">
+ <sprite>monsters/larvespa.xml|#211b0e,5c3e20,a68d42;#667C26</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1085" name="Ice Skull">
+ <sprite>monsters/skull-ice.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1096" name="Soul Snake">
+ <sprite>monsters/snake.xml|#664d28,a6673a,86D6DB,ffffff</sprite>
+ <particlefx>graphics/particles/monster-soulsnake.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1095" name="White Bell">
+ <sprite>monsters/snowflower.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1099" name="Sleeping Bandit">
+ <sprite>monsters/sleeping-bandit.xml</sprite>
+ <sprite>equipment/weapons/dagger.xml|#48488c,48488e,48488f,695c21,5f5fbe,827229,6e6edb,9493a4,a4adff,bab8c2,bcbbc6,e3eaff</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1102" name="Luvia">
+ <sprite>model/base.xml|#53202b,7f4f45,9e6a43,d09459,fcd3a1,fefffc;#2f312f,727471,a4a6a3,dad5f5;#3a3a3a,d5d5d5</sprite>
+ <sprite>hairstyles/hairstyle11-female.xml|#53202b,7f4f45,9e6a43,d09459,fcd3a1,fefffc;#2f312f,727471,a4a6a3,dad5f5;#8c6625,dab425,ffffff</sprite>
+ <sprite>equipment/feet/assassin-boots.xml</sprite>
+ <sprite>equipment/legs/shorts.xml|#121212,343434</sprite>
+ <sprite>equipment/chest/sorcerer-robe.xml|#121212,343434;#8F47D6</sprite>
+ <sprite>equipment/head/wizard-hat.xml|#070707,121212,663399</sprite>
+ <particlefx>graphics/particles/monster-luvia.particle.xml</particlefx>
+ <attack id="1" critical-hit-effect-id="42" missile-particle="graphics/particles/luvia-attack.particle.xml" action="attack"/>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1097" name="Soul Eater">
+ <sprite>monsters/skeleton.xml|#D9BFFF</sprite>
+ <sprite>equipment/chest/tanktop.xml|#333333,555555,444444</sprite>
+ <sprite>equipment/legs/shorts.xml|#333333,555555,444444</sprite>
+ <sprite>monsters/accessories/hairstyle05.xml|#333333</sprite>
+ <particlefx>graphics/particles/monster-souleater.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1101" name="Demonic Spirit">
+ <sprite>monsters/spirit-demonic.xml|#444444,9933ff</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1079" name="Drunken Lady Skeleton">
+ <sprite>monsters/skeleton.xml|#ffe8bf</sprite>
+ <sprite>monsters/accessories/hairstyle08.xml|#ffe8bf</sprite>
+ <sprite>equipment/legs/skirt.xml|#3f221d,754d23,f5cea4</sprite>
+ <sprite>equipment/chest/shorttanktop.xml|#3f221d,754d23,f5cea4</sprite>
+ <sprite>equipment/head/heart-glasses.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1084" name="Crotcher Scorpion">
+ <sprite>monsters/scorpion.xml|#211b0e,5c3e20,a68d42,ffffff</sprite>
+ <sound event="hit">monsters/scorpion/scorpion-hit1.ogg</sound>
+ <sound event="hit">monsters/scorpion/scorpion-hit2.ogg</sound>
+ <sound event="hit">monsters/scorpion/scorpion-hit3.ogg</sound>
+ <sound event="hit">monsters/scorpion/scorpion-hit4.ogg</sound>
+ <sound event="miss">monsters/scorpion/scorpion-miss1.ogg</sound>
+ </monster>
+</monsters>
+
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1086" name="Fey Element">
+ <sprite>monsters/element-ball.xml|#6d4e2f,98612c,c38a53,ffffff</sprite>
+ <particlefx>graphics/particles/monster-leaf.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1059" name="Giant Cave Maggot" targetCursor="large">
+ <sprite>monsters/cave-maggot-giant.xml|#565051,ffffff</sprite>
+ <sound event="hit">monsters/maggot/maggot-hit1.ogg</sound>
+ <sound event="hit">monsters/maggot/maggot-hit2.ogg</sound>
+ <sound event="miss">monsters/maggot/maggot-miss1.ogg</sound>
+ <sound event="die">monsters/maggot/maggot-dying1.ogg</sound>
+ </monster>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1067" name="Reaper">
+ <sprite>monsters/reaper.xml</sprite>
+ <sprite>monsters/accessories/reaper-shadow.xml</sprite>
+ <particlefx>graphics/particles/monster-reaper.particle.xml</particlefx>
+ <sound event="hurt">monsters/reaper/reaper-hurt.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1077" name="Drunken Skeleton">
+ <sprite>monsters/skeleton.xml|#ffe8bf</sprite>
+ <sprite>equipment/legs/chaps.xml</sprite>
+ <sprite>equipment/chest/vnecksweater.xml|#580000,A40000,C02020,ff6060</sprite>
+ <sprite>equipment/head/tophat.xml</sprite>
+ </monster>
+
+ <?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1088" name="Hyvern">
+ <sprite>monsters/vespa.xml|#1a160f,93774a;#DEBFBF,BBA2A2</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1104" name="Demonic Mouboo">
+ <sprite>monsters/mouboo-demonic.xml</sprite>
+ <sprite>monsters/accessories/mouboo-demonic-antlers.xml</sprite>
+ <particlefx>graphics/particles/monster-mouboo-demonic.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1103" name="Witch Guard">
+ <sprite>monsters/demon.xml|#444444,979797</sprite>
+ <sprite>equipment/feet/warlordboots.xml|#333333,878787</sprite>
+ <sprite>equipment/hands/generic.xml|#242424,626262</sprite>
+ <sprite>equipment/chest/demonwarlordplate.xml|#444444,979797</sprite>
+ <sprite>equipment/head/bull.xml</sprite>
+ <sprite>equipment/weapons/dagger.xml|#1c1b00,1b1a31,5b5660,827e85,9596e0</sprite>
+ <particlefx>graphics/particles/monster-witchguard.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1105" name="Vicious Squirrel">
+ <sprite>monsters/squirrel.xml|#736443</sprite>
+ <sound event="hurt">monsters/squirrel/squirrel-hurt1.ogg</sound>
+ <sound event="hurt">monsters/squirrel/squirrel-hurt2.ogg</sound>
+ <sound event="die">monsters/squirrel/squirrel-die1.ogg</sound>
+ <sound event="die">monsters/squirrel/squirrel-die2.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1114" name="Nut Cracker">
+ <sprite>monsters/nutcracker.xml</sprite>
+ <sprite>monsters/accessories/hairstyle07.xml|#333333</sprite>
+ <sprite>monsters/accessories/nutcrackerhat.xml</sprite>
+ </monster>
+</monsters>
+
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1115" name="Sea Slime Mother">
+ <sprite>monsters/slime-mother.xml|#4ca1a0,ffffff</sprite>
+ <sprite>monsters/accessories/slime-covered-bow.xml|#48488c,48488e,48488f,695c21,5f5fbe,827229,6e6edb,9493a4,a4adff,bab8c2,bcbbc6,e3eaff;#332c19,443a20,453b1e,61532d,87733d,a58d4d;#4Ca16e,ffffff</sprite>
+ <sound event="hit">monsters/slime/slime-hit1.ogg</sound>
+ <attack id="1" missile-particle="graphics/particles/arrowh-sea-slime.particle.xml|#4Ca16e,ffffff" action="attack"/>
+ </monster>
+</monsters>
+
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1116" name="Undead Witch">
+ <sprite>monsters/skeleton.xml|#ffe8bf</sprite>
+ <sprite>monsters/accessories/hairstyle08.xml</sprite>
+ <sprite>equipment/head/witch-hat.xml</sprite>
+ <sprite>equipment/chest/sorcerer-robe.xml|#111111,222222,333333,444444,555555,aaaaaa;#EFEFEF</sprite>
+ <sprite>equipment/weapons/polearm-blunt.xml|#332c19,443a20,453b1e,61532d,87733d,a58d4d</sprite>
+ <attack id="1" missile-particle="graphics/particles/undead-witch-attack.particle.xml" action="attack"/>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1116" name="Undead Witch">
+ <sprite>monsters/skeleton.xml|#ffe8bf</sprite>
+ <sprite>monsters/accessories/hairstyle08.xml</sprite>
+ <sprite>equipment/head/witch-hat.xml</sprite>
+ <sprite>equipment/chest/sorcerer-robe.xml|#111111,222222,333333,444444,555555,aaaaaa;#EFEFEF</sprite>
+ <sprite>equipment/weapons/polearm-blunt.xml|#332c19,443a20,453b1e,61532d,87733d,a58d4d</sprite>
+ <attack id="1" missile-particle="graphics/particles/undead-witch-attack.particle.xml" action="attack"/>
+ </monster>
+</monsters>
+
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1121" name="Grenadier">
+ <sprite>model/base.xml|#53202b,7f4f45,9e6a43,d09459,fcd3a1,fefffc;#36e2fc,0ba8bf,a4a6a3,dad5f5;#3a3a3a,d5d5d5</sprite>
+ <sprite>hairstyles/hairstyle00-male.xml|#53202b,7f4f45,9e6a43,d09459,fcd3a1,fefffc;#2f312f,727471,a4a6a3,dad5f5;#000000</sprite>
+ <sprite>equipment/chest/sorcerer-robe.xml|#5178a0,1a294c;#d5b02c</sprite>
+ <sprite>equipment/legs/pants.xml|#5178a0,1a294c</sprite>
+ <sprite>equipment/head/piratehat.xml</sprite>
+ <sprite>equipment/hands/generic.xml</sprite>
+ <sprite>equipment/feet/boots.xml|#212121,444444</sprite>
+ <attack id="1" critical-hit-effect-id="31" hit-effect-id="402" missile-particle="graphics/particles/lobbed-object.xml" action="attack"/>
+ </monster>
+</monsters>
+
+<monsters offset="0">
+ <monster id="1118" name="Green Slime Mother">
+ <sprite>monsters/slime-mother.xml|#72982c,ffffff</sprite>
+ <sprite>monsters/accessories/slime-covered-bow.xml|#48488c,48488e,48488f,695c21,5f5fbe,827229,6e6edb,9493a4,a4adff,bab8c2,bcbbc6,e3eaff;#332c19,443a20,453b1e,61532d,87733d,a58d4d;#72982c,ffffff</sprite>
+ <sound event="hit">monsters/slime/slime-hit1.ogg</sound>
+ <attack id="1" missile-particle="graphics/particles/arrowh-green-slime.particle.xml|#72982c,ffffff" action="attack"/>
+ </monster>
+</monsters>
+
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1122" name="The Dread Pirate Marley">
+ <sprite>model/base.xml|#53202b,7f4f45,9e6a43,d09459,fcd3a1,fefffc;#36e2fc,0ba8bf,a4a6a3,dad5f5;#3a3a3a,d5d5d5</sprite>
+ <sprite>hairstyles/hairstyle00-male.xml|#53202b,7f4f45,9e6a43,d09459,fcd3a1,fefffc;#2f312f,727471,a4a6a3,dad5f5;#000000</sprite>
+ <sprite>equipment/chest/assassin.xml</sprite>
+ <sprite>equipment/legs/assassin.xml</sprite>
+ <sprite>equipment/head/eyepatch.xml</sprite>
+ <sprite>equipment/feet/assassin-boots.xml</sprite>
+ <sprite>equipment/weapons/bow.xml|#48488c,48488e,48488f,695c21,5f5fbe,827229,6e6edb,9493a4,a4adff,bab8c2,bcbbc6,e3eaff;#332c19,443a20,453b1e,61532d,87733d,a58d4d</sprite>
+ <attack id="1" missile-particle="graphics/particles/arrow.particle.xml" action="attack"/>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1120" name="Swashbuckler">
+ <sprite>model/base.xml|#53202b,7f4f45,9e6a43,d09459,fcd3a1,fefffc;#36e2fc,0ba8bf,a4a6a3,dad5f5;#3a3a3a,d5d5d5</sprite>
+ <sprite>hairstyles/hairstyle00-male.xml|#53202b,7f4f45,9e6a43,d09459,fcd3a1,fefffc;#2f312f,727471,a4a6a3,dad5f5;#000000</sprite>
+ <sprite>equipment/chest/vnecksweater.xml</sprite>
+ <sprite>equipment/legs/pants.xml|#212121,555555</sprite>
+ <sprite>equipment/head/bandana.xml|#212121,555555</sprite>
+ <sprite>equipment/feet/boots.xml|#212121,555555</sprite>
+ <sprite>equipment/weapons/dagger.xml|#48488c,48488e,48488f,695c21,5f5fbe,827229,6e6edb,9493a4,a4adff,bab8c2,bcbbc6,e3eaff</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1079" name="Drunken Lady Skeleton">
+ <sprite>monsters/skeleton.xml|#ffe8bf</sprite>
+ <sprite>monsters/accessories/hairstyle08.xml|#ffe8bf</sprite>
+ <sprite>equipment/legs/skirt.xml|#3f221d,754d23,f5cea4</sprite>
+ <sprite>equipment/chest/shorttanktop.xml|#3f221d,754d23,f5cea4</sprite>
+ <sprite>equipment/head/heart-glasses.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1126" name="Psi-Brain">
+ <sprite>monsters/psi-brain.xml</sprite>
+ <sprite>monsters/psi-bubble.xml</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1101" name="Demonic Spirit">
+ <sprite>monsters/spirit-demonic.xml|#444444,9933ff</sprite>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1128" name="General Razha">
+ <sprite>monsters/demon.xml|#444444,979797</sprite>
+ <sprite>equipment/feet/warlordboots.xml|#333333,878787</sprite>
+ <sprite>equipment/hands/generic.xml|#242424,626262</sprite>
+ <sprite>equipment/chest/demonwarlordplate.xml|#ea0000,979797</sprite>
+ <sprite>equipment/head/bull.xml</sprite>
+ <sprite>equipment/weapons/dagger.xml|#181619,1c1b00,1b1a31,54438a,5b5660,827e85,9596e0</sprite>
+ <particlefx>graphics/particles/monster-witchguard.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1133" name="Anne">
+ <sprite>monsters/lizard.xml|#923F7C,6E5A8C,C1B5B6</sprite>
+ <sound event="hit">monsters/wolvern/wolvern-hit1.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1134" name="SUSAN" targetCursor="large">
+ <sprite>monsters/SUSAN.xml|R:#ff00e4</sprite>
+ <particlefx>graphics/particles/heartnecklace.particle.xml</particlefx>
+ <sound event="hit">monsters/maggot/maggot-hit1.ogg</sound>
+ <sound event="hit">monsters/maggot/maggot-hit2.ogg</sound>
+ <sound event="miss">monsters/maggot/maggot-miss1.ogg</sound>
+ <sound event="die">monsters/maggot/maggot-dying1.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1135" name="Lovely Maggot" targetCursor="small">
+ <sprite>monsters/lovely-maggot.xml|S:#524b51,8463a0,6f706f,af006d</sprite>
+ <sound event="hit">monsters/maggot/maggot-hit1.ogg</sound>
+ <sound event="hit">monsters/maggot/maggot-hit2.ogg</sound>
+ <sound event="miss">monsters/maggot/maggot-miss1.ogg</sound>
+ <sound event="die">monsters/maggot/maggot-dying1.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1070" name="Ball Lightning" targetCursor="small">
+ <sprite>monsters/ball-lightning.xml</sprite>
+ <sprite>monsters/accessories/ball-lightning-shadow.xml</sprite>
+ <particlefx>graphics/particles/monster-ball-lightning.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1119" name="Thug">
+ <sprite>model/base.xml|#53202b,7f4f45,9e6a43,d09459,fcd3a1,fefffc;#36e2fc,0ba8bf,a4a6a3,dad5f5;#3a3a3a,d5d5d5</sprite>
+ <sprite>hairstyles/hairstyle00-male.xml|#53202b,7f4f45,9e6a43,d09459,fcd3a1,fefffc;#2f312f,727471,a4a6a3,dad5f5;#000000</sprite>
+ <sprite>equipment/head/sailor-hat.xml</sprite>
+ <sprite>equipment/feet/boots.xml</sprite>
+ <sprite>equipment/chest/tanktop.xml</sprite>
+ <sprite>equipment/legs/pants.xml</sprite>
+ </monster>
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1124" name="Wight">
+ <sprite>monsters/skeleton_inv.xml|#497ac3,2053a0,164995,154387</sprite>
+ <sprite>monsters/wight.xml|#164489,1f529f,619aea</sprite>
+ <particlefx>graphics/particles/chillfog.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1127" name="General Krukan">
+ <sprite>monsters/skeleton.xml|#ffe8bf</sprite>
+ <sprite>equipment/legs/chaps.xml</sprite>
+ <sprite>equipment/chest/warlordplate.xml</sprite>
+ <sprite>equipment/head/bull.xml</sprite>
+ </monster>
+</monsters>
+
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1040" name="Wisp">
+ <sprite>monsters/wisp.xml|#aadd44,ffff66</sprite>
+ <particlefx>graphics/particles/wisp.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1041" name="Snail">
+ <sprite>monsters/snail.xml|#FDC689;#E0A6E3;#E0A6E3;#F06EAA;#C69C6D;#A9FF02</sprite>
+ <particlefx>graphics/particles/monster-snail-trail.particle.xml</particlefx>
+ <sound event="hit">monsters/slime/slime-hit1.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1042" name="Spectre">
+ <sprite>monsters/wisp.xml|#ff77dd,dd77ff</sprite>
+ <particlefx>graphics/particles/spectre.particle.xml</particlefx>
+ </monster>
+</monsters>
+
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1043" name="Skeleton">
+ <sprite>monsters/skeleton.xml|#ffe8bf</sprite>
+ </monster>
+</monsters>
+
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1036" name="Zombie">
+ <sprite>monsters/zombie.xml</sprite>
+ <sound event="move">monsters/zombie/zombie-move1.ogg</sound>
+ <sound event="move">monsters/zombie/zombie-move2.ogg</sound>
+ <sound event="hit">monsters/zombie/zombie-hit1.ogg</sound>
+ <sound event="hit">monsters/zombie/zombie-hit2.ogg</sound>
+ <sound event="miss">monsters/zombie/zombie-miss1.ogg</sound>
+ <sound event="die">monsters/zombie/zombie-dying1.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1039" name="Fire Lizard">
+ <sprite>monsters/lizard.xml|#673132,923F42,CD5961,E163A4,ffffff</sprite>
+ <sound event="hit">monsters/fire-goblin/fire-goblin-hit1.ogg</sound>
+ <sound event="hit">monsters/fire-goblin/fire-goblin-hit2.ogg</sound>
+ <sound event="miss">monsters/fire-goblin/fire-goblin-miss1.ogg</sound>
+ <attack id="1" effect-id="401"/>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1014" name="Pink Flower">
+ <sprite>monsters/flower.xml|#ee748d,ffd8ce;#f6ffbd;#23285f</sprite>
+ <sound event="hit">monsters/flower/flower-hit1.ogg</sound>
+ <sound event="hit">monsters/flower/flower-hit2.ogg</sound>
+ <sound event="miss">monsters/flower/flower-miss1.ogg</sound>
+ </monster>
+</monsters>
+
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1024" name="Poison Skull">
+ <sprite>monsters/skull-poison.xml</sprite>
+ </monster>
+</monsters>
+