From a28bfd717195b6e5bfc4a96e5fca26721e958576 Mon Sep 17 00:00:00 2001 From: ErikasKontenis Date: Wed, 4 Dec 2019 15:48:47 +0200 Subject: [PATCH 1/6] little introduce drown and fix some monsters --- config.lua | 2 +- data/monster/781/acolyte of the cult.xml | 76 ++++++++++ data/monster/781/adept of the cult.xml | 79 ++++++++++ data/monster/781/azure frog.xml | 45 ++++++ data/monster/781/blood crab.xml | 55 +++++++ data/monster/781/brutus bloodbeard.xml | 46 ++++++ data/monster/781/carrion worm.xml | 54 +++++++ data/monster/781/coral frog.xml | 43 ++++++ data/monster/781/crimson frog.xml | 44 ++++++ data/monster/781/deadeye devious.xml | 58 +++++++ data/monster/781/enlightened of the cult.xml | 90 +++++++++++ data/monster/781/green frog.xml | 24 +++ data/monster/781/island troll.xml | 67 ++++++++ data/monster/781/lavahole.xml | 38 +++++ data/monster/781/lethal lissy.xml | 45 ++++++ data/monster/781/mammoth.xml | 54 +++++++ data/monster/781/massive water elemental.xml | 47 ++++++ data/monster/781/morgaroth.xml | 151 +++++++++++++++++++ data/monster/781/novice of the cult.xml | 72 +++++++++ data/monster/781/orchid frog.xml | 41 +++++ data/monster/781/pirate buccaneer.xml | 73 +++++++++ data/monster/781/pirate corsair.xml | 73 +++++++++ data/monster/781/pirate cutthroat.xml | 70 +++++++++ data/monster/781/pirate ghost.xml | 77 ++++++++++ data/monster/781/pirate marauder.xml | 73 +++++++++ data/monster/781/pirate skeleton.xml | 55 +++++++ data/monster/781/quara constrictor scout.xml | 64 ++++++++ data/monster/781/quara constrictor.xml | 76 ++++++++++ data/monster/781/quara hydromancer scout.xml | 86 +++++++++++ data/monster/781/quara hydromancer.xml | 92 +++++++++++ data/monster/781/quara mantassin scout.xml | 66 ++++++++ data/monster/781/quara mantassin.xml | 75 +++++++++ data/monster/781/quara pincher scout.xml | 73 +++++++++ data/monster/781/quara pincher.xml | 73 +++++++++ data/monster/781/quara predator scout.xml | 65 ++++++++ data/monster/781/quara predator.xml | 78 ++++++++++ data/monster/781/ron the ripper.xml | 42 ++++++ data/monster/781/seagull.xml | 19 +++ data/monster/781/thornback tortoise.xml | 53 +++++++ data/monster/781/thul.xml | 53 +++++++ data/monster/781/tiquandas revenge.xml | 71 +++++++++ data/monster/781/toad.xml | 58 +++++++ data/monster/781/tortoise.xml | 52 +++++++ data/monster/781/water elemental.xml | 48 ++++++ data/monster/monsters.xml | 45 ++++++ src/combat.cpp | 6 + src/condition.cpp | 5 + src/const.h | 3 +- src/creature.cpp | 3 + src/enums.h | 4 +- src/game.cpp | 6 + src/luascript.cpp | 2 + src/monsters.cpp | 14 +- src/player.cpp | 4 + src/spells.cpp | 1 + src/tools.cpp | 3 + 56 files changed, 2788 insertions(+), 4 deletions(-) create mode 100644 data/monster/781/acolyte of the cult.xml create mode 100644 data/monster/781/adept of the cult.xml create mode 100644 data/monster/781/azure frog.xml create mode 100644 data/monster/781/blood crab.xml create mode 100644 data/monster/781/brutus bloodbeard.xml create mode 100644 data/monster/781/carrion worm.xml create mode 100644 data/monster/781/coral frog.xml create mode 100644 data/monster/781/crimson frog.xml create mode 100644 data/monster/781/deadeye devious.xml create mode 100644 data/monster/781/enlightened of the cult.xml create mode 100644 data/monster/781/green frog.xml create mode 100644 data/monster/781/island troll.xml create mode 100644 data/monster/781/lavahole.xml create mode 100644 data/monster/781/lethal lissy.xml create mode 100644 data/monster/781/mammoth.xml create mode 100644 data/monster/781/massive water elemental.xml create mode 100644 data/monster/781/morgaroth.xml create mode 100644 data/monster/781/novice of the cult.xml create mode 100644 data/monster/781/orchid frog.xml create mode 100644 data/monster/781/pirate buccaneer.xml create mode 100644 data/monster/781/pirate corsair.xml create mode 100644 data/monster/781/pirate cutthroat.xml create mode 100644 data/monster/781/pirate ghost.xml create mode 100644 data/monster/781/pirate marauder.xml create mode 100644 data/monster/781/pirate skeleton.xml create mode 100644 data/monster/781/quara constrictor scout.xml create mode 100644 data/monster/781/quara constrictor.xml create mode 100644 data/monster/781/quara hydromancer scout.xml create mode 100644 data/monster/781/quara hydromancer.xml create mode 100644 data/monster/781/quara mantassin scout.xml create mode 100644 data/monster/781/quara mantassin.xml create mode 100644 data/monster/781/quara pincher scout.xml create mode 100644 data/monster/781/quara pincher.xml create mode 100644 data/monster/781/quara predator scout.xml create mode 100644 data/monster/781/quara predator.xml create mode 100644 data/monster/781/ron the ripper.xml create mode 100644 data/monster/781/seagull.xml create mode 100644 data/monster/781/thornback tortoise.xml create mode 100644 data/monster/781/thul.xml create mode 100644 data/monster/781/tiquandas revenge.xml create mode 100644 data/monster/781/toad.xml create mode 100644 data/monster/781/tortoise.xml create mode 100644 data/monster/781/water elemental.xml diff --git a/config.lua b/config.lua index e354f60..0383f6a 100644 --- a/config.lua +++ b/config.lua @@ -52,7 +52,7 @@ timeBetweenExActions = 1000 -- Map -- NOTE: set mapName WITHOUT .otbm at the end -mapName = "map" +mapName = "mymap" mapAuthor = "CipSoft" -- MySQL diff --git a/data/monster/781/acolyte of the cult.xml b/data/monster/781/acolyte of the cult.xml new file mode 100644 index 0000000..9bceeb2 --- /dev/null +++ b/data/monster/781/acolyte of the cult.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/adept of the cult.xml b/data/monster/781/adept of the cult.xml new file mode 100644 index 0000000..df54e10 --- /dev/null +++ b/data/monster/781/adept of the cult.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/azure frog.xml b/data/monster/781/azure frog.xml new file mode 100644 index 0000000..1ff9919 --- /dev/null +++ b/data/monster/781/azure frog.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/blood crab.xml b/data/monster/781/blood crab.xml new file mode 100644 index 0000000..994707f --- /dev/null +++ b/data/monster/781/blood crab.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/brutus bloodbeard.xml b/data/monster/781/brutus bloodbeard.xml new file mode 100644 index 0000000..d47a5b9 --- /dev/null +++ b/data/monster/781/brutus bloodbeard.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/carrion worm.xml b/data/monster/781/carrion worm.xml new file mode 100644 index 0000000..e04dcc2 --- /dev/null +++ b/data/monster/781/carrion worm.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/coral frog.xml b/data/monster/781/coral frog.xml new file mode 100644 index 0000000..1009fd1 --- /dev/null +++ b/data/monster/781/coral frog.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/crimson frog.xml b/data/monster/781/crimson frog.xml new file mode 100644 index 0000000..d5afcd6 --- /dev/null +++ b/data/monster/781/crimson frog.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/deadeye devious.xml b/data/monster/781/deadeye devious.xml new file mode 100644 index 0000000..f6cf585 --- /dev/null +++ b/data/monster/781/deadeye devious.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/enlightened of the cult.xml b/data/monster/781/enlightened of the cult.xml new file mode 100644 index 0000000..60f633f --- /dev/null +++ b/data/monster/781/enlightened of the cult.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/green frog.xml b/data/monster/781/green frog.xml new file mode 100644 index 0000000..de8c261 --- /dev/null +++ b/data/monster/781/green frog.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/island troll.xml b/data/monster/781/island troll.xml new file mode 100644 index 0000000..8ca9521 --- /dev/null +++ b/data/monster/781/island troll.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/lavahole.xml b/data/monster/781/lavahole.xml new file mode 100644 index 0000000..88195e7 --- /dev/null +++ b/data/monster/781/lavahole.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/lethal lissy.xml b/data/monster/781/lethal lissy.xml new file mode 100644 index 0000000..b679e28 --- /dev/null +++ b/data/monster/781/lethal lissy.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/mammoth.xml b/data/monster/781/mammoth.xml new file mode 100644 index 0000000..79949f1 --- /dev/null +++ b/data/monster/781/mammoth.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/massive water elemental.xml b/data/monster/781/massive water elemental.xml new file mode 100644 index 0000000..d80a50b --- /dev/null +++ b/data/monster/781/massive water elemental.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/morgaroth.xml b/data/monster/781/morgaroth.xml new file mode 100644 index 0000000..8984067 --- /dev/null +++ b/data/monster/781/morgaroth.xml @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/novice of the cult.xml b/data/monster/781/novice of the cult.xml new file mode 100644 index 0000000..c1d6377 --- /dev/null +++ b/data/monster/781/novice of the cult.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/orchid frog.xml b/data/monster/781/orchid frog.xml new file mode 100644 index 0000000..d39dceb --- /dev/null +++ b/data/monster/781/orchid frog.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/pirate buccaneer.xml b/data/monster/781/pirate buccaneer.xml new file mode 100644 index 0000000..4ef9f37 --- /dev/null +++ b/data/monster/781/pirate buccaneer.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/pirate corsair.xml b/data/monster/781/pirate corsair.xml new file mode 100644 index 0000000..3ea24db --- /dev/null +++ b/data/monster/781/pirate corsair.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/pirate cutthroat.xml b/data/monster/781/pirate cutthroat.xml new file mode 100644 index 0000000..0dc157d --- /dev/null +++ b/data/monster/781/pirate cutthroat.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/pirate ghost.xml b/data/monster/781/pirate ghost.xml new file mode 100644 index 0000000..cf20e3b --- /dev/null +++ b/data/monster/781/pirate ghost.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/pirate marauder.xml b/data/monster/781/pirate marauder.xml new file mode 100644 index 0000000..77b16fb --- /dev/null +++ b/data/monster/781/pirate marauder.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/pirate skeleton.xml b/data/monster/781/pirate skeleton.xml new file mode 100644 index 0000000..367133d --- /dev/null +++ b/data/monster/781/pirate skeleton.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/quara constrictor scout.xml b/data/monster/781/quara constrictor scout.xml new file mode 100644 index 0000000..218fb8b --- /dev/null +++ b/data/monster/781/quara constrictor scout.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/quara constrictor.xml b/data/monster/781/quara constrictor.xml new file mode 100644 index 0000000..dbf134d --- /dev/null +++ b/data/monster/781/quara constrictor.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/quara hydromancer scout.xml b/data/monster/781/quara hydromancer scout.xml new file mode 100644 index 0000000..4e656dc --- /dev/null +++ b/data/monster/781/quara hydromancer scout.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara hydromancer.xml b/data/monster/781/quara hydromancer.xml new file mode 100644 index 0000000..812fd57 --- /dev/null +++ b/data/monster/781/quara hydromancer.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/quara mantassin scout.xml b/data/monster/781/quara mantassin scout.xml new file mode 100644 index 0000000..d08c660 --- /dev/null +++ b/data/monster/781/quara mantassin scout.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/quara mantassin.xml b/data/monster/781/quara mantassin.xml new file mode 100644 index 0000000..e0fbaad --- /dev/null +++ b/data/monster/781/quara mantassin.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/quara pincher scout.xml b/data/monster/781/quara pincher scout.xml new file mode 100644 index 0000000..cb92363 --- /dev/null +++ b/data/monster/781/quara pincher scout.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara pincher.xml b/data/monster/781/quara pincher.xml new file mode 100644 index 0000000..4bc7e2c --- /dev/null +++ b/data/monster/781/quara pincher.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/quara predator scout.xml b/data/monster/781/quara predator scout.xml new file mode 100644 index 0000000..834c696 --- /dev/null +++ b/data/monster/781/quara predator scout.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/quara predator.xml b/data/monster/781/quara predator.xml new file mode 100644 index 0000000..2db39b1 --- /dev/null +++ b/data/monster/781/quara predator.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/ron the ripper.xml b/data/monster/781/ron the ripper.xml new file mode 100644 index 0000000..4d9284a --- /dev/null +++ b/data/monster/781/ron the ripper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/seagull.xml b/data/monster/781/seagull.xml new file mode 100644 index 0000000..2f5cc89 --- /dev/null +++ b/data/monster/781/seagull.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/thornback tortoise.xml b/data/monster/781/thornback tortoise.xml new file mode 100644 index 0000000..312bdba --- /dev/null +++ b/data/monster/781/thornback tortoise.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/thul.xml b/data/monster/781/thul.xml new file mode 100644 index 0000000..fa5b2cd --- /dev/null +++ b/data/monster/781/thul.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/tiquandas revenge.xml b/data/monster/781/tiquandas revenge.xml new file mode 100644 index 0000000..ec0e7c3 --- /dev/null +++ b/data/monster/781/tiquandas revenge.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/toad.xml b/data/monster/781/toad.xml new file mode 100644 index 0000000..1dbb1ef --- /dev/null +++ b/data/monster/781/toad.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/tortoise.xml b/data/monster/781/tortoise.xml new file mode 100644 index 0000000..b1703b4 --- /dev/null +++ b/data/monster/781/tortoise.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/781/water elemental.xml b/data/monster/781/water elemental.xml new file mode 100644 index 0000000..014c2cd --- /dev/null +++ b/data/monster/781/water elemental.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/monster/monsters.xml b/data/monster/monsters.xml index d844a6e..631a7f3 100644 --- a/data/monster/monsters.xml +++ b/data/monster/monsters.xml @@ -163,4 +163,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/combat.cpp b/src/combat.cpp index 52bc2da..e63bc0f 100644 --- a/src/combat.cpp +++ b/src/combat.cpp @@ -82,6 +82,9 @@ CombatType_t Combat::ConditionToDamageType(ConditionType_t type) case CONDITION_POISON: return COMBAT_EARTHDAMAGE; + case CONDITION_DROWN: + return COMBAT_DROWNDAMAGE; + default: break; } @@ -101,6 +104,9 @@ ConditionType_t Combat::DamageToConditionType(CombatType_t type) case COMBAT_EARTHDAMAGE: return CONDITION_POISON; + case COMBAT_DROWNDAMAGE: + return CONDITION_DROWN; + default: return CONDITION_NONE; } diff --git a/src/condition.cpp b/src/condition.cpp index 13b02cd..d5c5ece 100644 --- a/src/condition.cpp +++ b/src/condition.cpp @@ -131,6 +131,7 @@ Condition* Condition::createCondition(ConditionId_t id, ConditionType_t type, in case CONDITION_POISON: case CONDITION_FIRE: case CONDITION_ENERGY: + case CONDITION_DROWN: return new ConditionDamage(id, type, subId); case CONDITION_HASTE: @@ -994,6 +995,10 @@ uint32_t ConditionDamage::getIcons() const icons |= ICON_POISON; break; + case CONDITION_DROWN: + icons |= ICON_DROWNING; + break; + default: break; } diff --git a/src/const.h b/src/const.h index fd9107c..c4dffb2 100644 --- a/src/const.h +++ b/src/const.h @@ -171,7 +171,8 @@ enum Icons_t { ICON_MANASHIELD = 1 << 4, ICON_PARALYZE = 1 << 5, ICON_HASTE = 1 << 6, - ICON_SWORDS = 1 << 7 + ICON_SWORDS = 1 << 7, + ICON_DROWNING = 1 << 8, }; enum WeaponType_t : uint8_t { diff --git a/src/creature.cpp b/src/creature.cpp index 8bd0318..da8bf6d 100644 --- a/src/creature.cpp +++ b/src/creature.cpp @@ -1026,6 +1026,9 @@ void Creature::onTickCondition(ConditionType_t type, bool& bRemove) case CONDITION_POISON: bRemove = (field->getCombatType() != COMBAT_EARTHDAMAGE); break; + case CONDITION_DROWN: + bRemove = (field->getCombatType() != COMBAT_DROWNDAMAGE); + break; default: break; } diff --git a/src/enums.h b/src/enums.h index a403145..d6bf53a 100644 --- a/src/enums.h +++ b/src/enums.h @@ -102,8 +102,9 @@ enum CombatType_t : uint16_t { COMBAT_LIFEDRAIN = 1 << 5, COMBAT_MANADRAIN = 1 << 6, COMBAT_HEALING = 1 << 7, + COMBAT_DROWNDAMAGE = 1 << 8, - COMBAT_COUNT = 9 + COMBAT_COUNT = 10 }; enum CombatParam_t { @@ -249,6 +250,7 @@ enum ConditionType_t { CONDITION_EXHAUST = 1 << 17, CONDITION_PACIFIED = 1 << 18, CONDITION_AGGRESSIVE = 1 << 19, + CONDITION_DROWN = 1 << 20, }; enum ConditionId_t : int8_t { diff --git a/src/game.cpp b/src/game.cpp index 2291a02..0a487a2 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -3391,6 +3391,12 @@ void Game::combatGetTypeInfo(CombatType_t combatType, Creature* target, TextColo effect = CONST_ME_MAGIC_RED; break; } + + case COMBAT_DROWNDAMAGE: { + color = TEXTCOLOR_LIGHTBLUE; + effect = CONST_ME_LOSEENERGY; + break; + } default: { color = TEXTCOLOR_NONE; effect = CONST_ME_NONE; diff --git a/src/luascript.cpp b/src/luascript.cpp index 4338a6b..a995631 100644 --- a/src/luascript.cpp +++ b/src/luascript.cpp @@ -1069,6 +1069,7 @@ void LuaScriptInterface::registerFunctions() registerEnum(COMBAT_ENERGYDAMAGE) registerEnum(COMBAT_EARTHDAMAGE) registerEnum(COMBAT_FIREDAMAGE) + registerEnum(COMBAT_DROWNDAMAGE) registerEnum(COMBAT_UNDEFINEDDAMAGE) registerEnum(COMBAT_LIFEDRAIN) registerEnum(COMBAT_MANADRAIN) @@ -1091,6 +1092,7 @@ void LuaScriptInterface::registerFunctions() registerEnum(CONDITION_POISON) registerEnum(CONDITION_FIRE) registerEnum(CONDITION_ENERGY) + registerEnum(CONDITION_DROWN) registerEnum(CONDITION_HASTE) registerEnum(CONDITION_PARALYZE) registerEnum(CONDITION_OUTFIT) diff --git a/src/monsters.cpp b/src/monsters.cpp index 9b5c467..e5101d5 100644 --- a/src/monsters.cpp +++ b/src/monsters.cpp @@ -392,6 +392,8 @@ bool Monsters::deserializeSpell(const pugi::xml_node& node, spellBlock_t& sb, co combat->setParam(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE); } else if (tmpName == "energy") { combat->setParam(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE); + } else if (tmpName == "drown") { + combat->setParam(COMBAT_PARAM_TYPE, COMBAT_DROWNDAMAGE); } else if (tmpName == "lifedrain") { combat->setParam(COMBAT_PARAM_TYPE, COMBAT_LIFEDRAIN); } else if (tmpName == "manadrain") { @@ -480,7 +482,7 @@ bool Monsters::deserializeSpell(const pugi::xml_node& node, spellBlock_t& sb, co } else if (tmpName == "firecondition" || tmpName == "energycondition" || tmpName == "earthcondition" || tmpName == "poisoncondition" || tmpName == "icecondition" || tmpName == "freezecondition" || - tmpName == "physicalcondition") { + tmpName == "physicalcondition" || tmpName == "drowncondition") { ConditionType_t conditionType = CONDITION_NONE; if (tmpName == "firecondition") { @@ -489,6 +491,8 @@ bool Monsters::deserializeSpell(const pugi::xml_node& node, spellBlock_t& sb, co conditionType = CONDITION_POISON; } else if (tmpName == "energycondition") { conditionType = CONDITION_ENERGY; + } else if (tmpName == "drowncondition") { + conditionType = CONDITION_DROWN; } int32_t cycle = 0; @@ -828,6 +832,9 @@ bool Monsters::loadMonster(const std::string& file, const std::string& monsterNa } else if (tmpStrValue == "fire") { mType->info.damageImmunities |= COMBAT_FIREDAMAGE; mType->info.conditionImmunities |= CONDITION_FIRE; + } else if (tmpStrValue == "drown") { + mType->info.damageImmunities |= COMBAT_DROWNDAMAGE; + mType->info.conditionImmunities |= CONDITION_DROWN; } else if (tmpStrValue == "poison" || tmpStrValue == "earth") { mType->info.damageImmunities |= COMBAT_EARTHDAMAGE; @@ -861,6 +868,11 @@ bool Monsters::loadMonster(const std::string& file, const std::string& monsterNa mType->info.damageImmunities |= COMBAT_FIREDAMAGE; mType->info.conditionImmunities |= CONDITION_FIRE; } + } else if ((attr = immunityNode.attribute("drown"))) { + if (attr.as_bool()) { + mType->info.damageImmunities |= COMBAT_DROWNDAMAGE; + mType->info.conditionImmunities |= CONDITION_DROWN; + } } else if ((attr = immunityNode.attribute("poison")) || (attr = immunityNode.attribute("earth"))) { if (attr.as_bool()) { mType->info.damageImmunities |= COMBAT_EARTHDAMAGE; diff --git a/src/player.cpp b/src/player.cpp index a9f114c..1bc1d17 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -2951,6 +2951,10 @@ void Player::onAddCombatCondition(ConditionType_t type) sendTextMessage(MESSAGE_STATUS_DEFAULT, "You are poisoned."); break; + case CONDITION_DROWN: + sendTextMessage(MESSAGE_STATUS_SMALL, "You are drowning."); + break; + case CONDITION_PARALYZE: sendTextMessage(MESSAGE_STATUS_DEFAULT, "You are paralyzed."); break; diff --git a/src/spells.cpp b/src/spells.cpp index b08a048..03500da 100644 --- a/src/spells.cpp +++ b/src/spells.cpp @@ -398,6 +398,7 @@ bool Spell::configureSpell(const pugi::xml_node& node) "firecondition", "poisoncondition", "energycondition", + "drowncondition", }; //static size_t size = sizeof(reservedList) / sizeof(const char*); diff --git a/src/tools.cpp b/src/tools.cpp index 84560bc..506f512 100644 --- a/src/tools.cpp +++ b/src/tools.cpp @@ -672,6 +672,7 @@ ShootTypeNames shootTypeNames[] = { CombatTypeNames combatTypeNames[] = { {"physical", COMBAT_PHYSICALDAMAGE}, {"energy", COMBAT_ENERGYDAMAGE}, + {"drown", COMBAT_DROWNDAMAGE}, {"earth", COMBAT_EARTHDAMAGE}, {"poison", COMBAT_EARTHDAMAGE}, {"fire", COMBAT_FIREDAMAGE}, @@ -914,6 +915,8 @@ size_t combatTypeToIndex(CombatType_t combatType) return 6; case COMBAT_HEALING: return 7; + case COMBAT_DROWNDAMAGE: + return 8; default: return 0; } From 4a87cd754c6664011f928aad57dd8f1ebf4af38f Mon Sep 17 00:00:00 2001 From: ErikasKontenis Date: Wed, 4 Dec 2019 22:00:18 +0200 Subject: [PATCH 2/6] introduce drowning condition, fix monsters to use uniform random, fix poison field on walk instant damage hit, need to check how drowning works and remove damage only when player is idle for 4s --- data/actions/scripts/misc/fluids.lua | 9 ++----- data/items/items.srv | 8 +++--- data/monster/781/massive water elemental.xml | 2 +- data/movements/movements.xml | 4 ++- data/movements/scripts/misc/drowning.lua | 27 ++++++++++++++++++++ src/condition.cpp | 15 +++++++++++ src/condition.h | 2 ++ src/items.cpp | 1 - src/luascript.cpp | 1 + src/monster.cpp | 4 +-- 10 files changed, 57 insertions(+), 16 deletions(-) create mode 100644 data/movements/scripts/misc/drowning.lua diff --git a/data/actions/scripts/misc/fluids.lua b/data/actions/scripts/misc/fluids.lua index 4d8160f..c3ce9d6 100644 --- a/data/actions/scripts/misc/fluids.lua +++ b/data/actions/scripts/misc/fluids.lua @@ -2,12 +2,7 @@ local drunk = Condition(CONDITION_DRUNK) drunk:setParameter(CONDITION_PARAM_TICKS, 60000) local poison = Condition(CONDITION_POISON) -poison:setParameter(CONDITION_PARAM_DELAYED, true) -poison:setParameter(CONDITION_PARAM_MINVALUE, -50) -poison:setParameter(CONDITION_PARAM_MAXVALUE, -120) -poison:setParameter(CONDITION_PARAM_STARTVALUE, -5) -poison:setParameter(CONDITION_PARAM_TICKINTERVAL, 5000) -poison:setParameter(CONDITION_PARAM_FORCEUPDATE, true) +poison:setTiming(100) local messages = { [FLUID_WATER] = "Gulp.", @@ -48,7 +43,7 @@ function onUse(player, item, fromPosition, target, toPosition) if self and item:getFluidType() == FLUID_BEER or item:getFluidType() == FLUID_WINE or item:getFluidType() == FLUID_RUM then player:addCondition(drunk) elseif self and item:getFluidType() == FLUID_SLIME then - player:addCondition(slime) + player:addCondition(poison) elseif item:getFluidType() == FLUID_MANAFLUID then target:addMana(math.random(50, 100)) target:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) diff --git a/data/items/items.srv b/data/items/items.srv index 41bc61b..37bd791 100644 --- a/data/items/items.srv +++ b/data/items/items.srv @@ -9303,7 +9303,7 @@ TypeID = 2121 Name = "poison gas" Flags = {CollisionEvent,Unmove,Avoid,MagicField,Expire} Attributes = {AvoidDamageTypes=POISON,Brightness=2,LightColor=104,ExpireTarget=0,TotalExpireTime=250} -MagicField = {Type=POISON,Count=100} +MagicField = {Type=POISON,Count=100,Damage=5} TypeID = 2122 Name = "an energy field" @@ -9338,7 +9338,7 @@ TypeID = 2127 Name = "poison gas" Flags = {CollisionEvent,Unmove,Avoid,MagicField} Attributes = {AvoidDamageTypes=POISON,Brightness=2,LightColor=104} -MagicField = {Type=POISON,Count=100} +MagicField = {Type=POISON,Count=100,Damage=5} TypeID = 2128 Name = "a magic wall" @@ -9376,7 +9376,7 @@ TypeID = 2134 Name = "poison gas" Flags = {CollisionEvent,Unmove,Avoid,MagicField,Expire} Attributes = {AvoidDamageTypes=POISON,Brightness=2,LightColor=214,ExpireTarget=0,TotalExpireTime=8} -MagicField = {Type=POISON,Count=100} +MagicField = {Type=POISON,Count=100,Damage=5} TypeID = 2135 Name = "an energy field" @@ -24442,7 +24442,7 @@ Attributes = {Brightness=7,LightColor=207} TypeID = 5404 Name = "ocean floor" -Flags = {Bank,Unmove} +Flags = {Bank,Unmove,CollisionEvent} Attributes = {Waypoints=500} TypeID = 5405 diff --git a/data/monster/781/massive water elemental.xml b/data/monster/781/massive water elemental.xml index d80a50b..e3a03f9 100644 --- a/data/monster/781/massive water elemental.xml +++ b/data/monster/781/massive water elemental.xml @@ -28,7 +28,7 @@ - + diff --git a/data/movements/movements.xml b/data/movements/movements.xml index 420dbab..5b07647 100644 --- a/data/movements/movements.xml +++ b/data/movements/movements.xml @@ -388,7 +388,9 @@ - + + + diff --git a/data/movements/scripts/misc/drowning.lua b/data/movements/scripts/misc/drowning.lua new file mode 100644 index 0000000..aeabc52 --- /dev/null +++ b/data/movements/scripts/misc/drowning.lua @@ -0,0 +1,27 @@ +local condition = Condition(CONDITION_DROWN) +condition:setParameter(CONDITION_PARAM_HIT_DAMAGE, 20) +condition:setTiming(9999) + + +function onStepIn(creature, item, position, fromPosition) + local player = creature:getPlayer() + if player == nil then + return true + end + + if math.random(1, 10) == 1 then + position:sendMagicEffect(CONST_ME_BUBBLES) + end + player:addCondition(condition) + return true +end + +function onStepOut(creature, item, position, fromPosition) + local player = creature:getPlayer() + if player == nil then + return true + end + + player:removeCondition(CONDITION_DROWN) + return true +end diff --git a/src/condition.cpp b/src/condition.cpp index d5c5ece..237db4e 100644 --- a/src/condition.cpp +++ b/src/condition.cpp @@ -916,6 +916,21 @@ bool ConditionDamage::executeCondition(Creature* creature, int32_t) } else { return false; } + } else if (conditionType == CONDITION_DROWN) { + const int32_t r_cycle = cycle; + if (r_cycle) { + if (count <= 0) { + count = max_count; + cycle = r_cycle + 2 * (r_cycle <= 0) - 1; + doDamage(creature, -20); + } + else { + --count; + } + } + else { + return false; + } } return true; diff --git a/src/condition.h b/src/condition.h index 2535aa0..fe81f43 100644 --- a/src/condition.h +++ b/src/condition.h @@ -255,6 +255,8 @@ class ConditionDamage final : public Condition count = max_count = 8; } else if (type == CONDITION_ENERGY) { count = max_count = 10; + } else if (type == CONDITION_DROWN) { + count = max_count = 3; } } diff --git a/src/items.cpp b/src/items.cpp index 767ada3..e87c360 100644 --- a/src/items.cpp +++ b/src/items.cpp @@ -515,7 +515,6 @@ bool Items::loadItems() items[id].conditionDamage.reset(conditionDamage); } else if (identifier == "poison") { conditionDamage = new ConditionDamage(CONDITIONID_COMBAT, CONDITION_POISON); - conditionDamage->setParam(CONDITION_PARAM_DELAYED, true); combatType = COMBAT_EARTHDAMAGE; items[id].combatType = combatType; items[id].conditionDamage.reset(conditionDamage); diff --git a/src/luascript.cpp b/src/luascript.cpp index a995631..93466f1 100644 --- a/src/luascript.cpp +++ b/src/luascript.cpp @@ -1154,6 +1154,7 @@ void LuaScriptInterface::registerFunctions() registerEnum(CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENT) registerEnum(CONDITION_PARAM_STAT_MAGICPOINTSPERCENT) registerEnum(CONDITION_PARAM_PERIODICDAMAGE) + registerEnum(CONDITION_PARAM_HIT_DAMAGE) registerEnum(CONDITION_PARAM_SKILL_MELEEPERCENT) registerEnum(CONDITION_PARAM_SKILL_FISTPERCENT) registerEnum(CONDITION_PARAM_SKILL_CLUBPERCENT) diff --git a/src/monster.cpp b/src/monster.cpp index 9c65630..60fd7d1 100644 --- a/src/monster.cpp +++ b/src/monster.cpp @@ -876,7 +876,7 @@ void Monster::doAttacking(uint32_t) for (spellBlock_t& spellBlock : mType->info.attackSpells) { if (spellBlock.range != 0 && std::max(Position::getDistanceX(myPos, targetPos), Position::getDistanceY(myPos, targetPos)) <= spellBlock.range) { - if (normal_random(0, spellBlock.chance) == 0 && (master || health > mType->info.runAwayHealth || normal_random(1, 3) == 1)) { + if (uniform_random(0, spellBlock.chance) == 0 && (master || health > mType->info.runAwayHealth || uniform_random(1, 3) == 1)) { updateLookDirection(); minCombatValue = spellBlock.minCombatValue; @@ -977,7 +977,7 @@ void Monster::onThinkTarget(uint32_t interval) void Monster::onThinkDefense(uint32_t) { for (const spellBlock_t& spellBlock : mType->info.defenseSpells) { - if (normal_random(0, spellBlock.chance) == 0 && (master || health > mType->info.runAwayHealth || normal_random(1, 3) == 1)) { + if (uniform_random(0, spellBlock.chance) == 0 && (master || health > mType->info.runAwayHealth || uniform_random(1, 3) == 1)) { minCombatValue = spellBlock.minCombatValue; maxCombatValue = spellBlock.maxCombatValue; spellBlock.spell->castSpell(this, this); From 6fff6a868aa21ad7c879b0f2773d8680017afeb9 Mon Sep 17 00:00:00 2001 From: ErikasKontenis Date: Thu, 5 Dec 2019 14:40:09 +0200 Subject: [PATCH 3/6] proper drowning implementation --- data/items/items.srv | 16 ++++++++-------- data/movements/movements.xml | 12 ++++++++++-- data/movements/scripts/misc/drowning.lua | 10 +++++++--- .../scripts/misc/helmet_of_the_deep.lua | 4 ++++ src/condition.cpp | 7 +++++++ src/condition.h | 2 +- src/player.cpp | 1 + src/player.h | 14 ++++++++++++++ 8 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 data/movements/scripts/misc/helmet_of_the_deep.lua diff --git a/data/items/items.srv b/data/items/items.srv index 37bd791..52301d3 100644 --- a/data/items/items.srv +++ b/data/items/items.srv @@ -24447,27 +24447,27 @@ Attributes = {Waypoints=500} TypeID = 5405 Name = "ocean floor" -Flags = {Bank,Unmove} +Flags = {Bank,Unmove,CollisionEvent} Attributes = {Waypoints=500} TypeID = 5406 Name = "ocean floor" -Flags = {Bank,Unmove} +Flags = {Bank,Unmove,CollisionEvent} Attributes = {Waypoints=500} TypeID = 5407 Name = "ocean floor" -Flags = {Bank,Unmove} +Flags = {Bank,Unmove,CollisionEvent} Attributes = {Waypoints=500} TypeID = 5408 Name = "ocean floor" -Flags = {Bank,Unmove} +Flags = {Bank,Unmove,CollisionEvent} Attributes = {Waypoints=500} TypeID = 5409 Name = "ocean floor" -Flags = {Bank,Unmove} +Flags = {Bank,Unmove,CollisionEvent} Attributes = {Waypoints=500} TypeID = 5410 @@ -25925,12 +25925,12 @@ Name = "" # this is nothing in client TypeID = 5743 Name = "wooden floor" -Flags = {Bank,Unmove} +Flags = {Bank,Unmove,CollisionEvent} Attributes = {Waypoints=500} TypeID = 5744 Name = "wooden floor" -Flags = {Bank,Unmove} +Flags = {Bank,Unmove,CollisionEvent} Attributes = {Waypoints=500} TypeID = 5745 @@ -26017,7 +26017,7 @@ Attributes = {Waypoints=110} TypeID = 5764 Name = "a ventilation grille" -Flags = {Bank,Unmove} +Flags = {Bank,Unmove,CollisionEvent} Attributes = {Waypoints=500} TypeID = 5765 diff --git a/data/movements/movements.xml b/data/movements/movements.xml index 5b07647..3844810 100644 --- a/data/movements/movements.xml +++ b/data/movements/movements.xml @@ -388,8 +388,12 @@ - - + + + + + + @@ -666,6 +670,10 @@ + + + + diff --git a/data/movements/scripts/misc/drowning.lua b/data/movements/scripts/misc/drowning.lua index aeabc52..e346815 100644 --- a/data/movements/scripts/misc/drowning.lua +++ b/data/movements/scripts/misc/drowning.lua @@ -1,6 +1,5 @@ local condition = Condition(CONDITION_DROWN) -condition:setParameter(CONDITION_PARAM_HIT_DAMAGE, 20) -condition:setTiming(9999) +condition:setTiming(5) function onStepIn(creature, item, position, fromPosition) @@ -8,7 +7,12 @@ function onStepIn(creature, item, position, fromPosition) if player == nil then return true end - + + local helmet = player:getSlotItem(CONST_SLOT_HEAD) + if helmet ~= nil and helmet:getId() == 5460 then + return true + end + if math.random(1, 10) == 1 then position:sendMagicEffect(CONST_ME_BUBBLES) end diff --git a/data/movements/scripts/misc/helmet_of_the_deep.lua b/data/movements/scripts/misc/helmet_of_the_deep.lua new file mode 100644 index 0000000..74091fb --- /dev/null +++ b/data/movements/scripts/misc/helmet_of_the_deep.lua @@ -0,0 +1,4 @@ +function onEquip(player, item, slot) + player:removeCondition(CONDITION_DROWN) + return true +end \ No newline at end of file diff --git a/src/condition.cpp b/src/condition.cpp index 237db4e..4d923d2 100644 --- a/src/condition.cpp +++ b/src/condition.cpp @@ -917,6 +917,13 @@ bool ConditionDamage::executeCondition(Creature* creature, int32_t) return false; } } else if (conditionType == CONDITION_DROWN) { + if (isFirstCycle && count - max_count == -2) { + doDamage(creature, -20); + isFirstCycle = false; + count = max_count; + return true; + } + const int32_t r_cycle = cycle; if (r_cycle) { if (count <= 0) { diff --git a/src/condition.h b/src/condition.h index fe81f43..ed33877 100644 --- a/src/condition.h +++ b/src/condition.h @@ -283,7 +283,7 @@ class ConditionDamage final : public Condition int32_t max_count = 0; int32_t factor_percent = -1; int32_t hit_damage = 0; - + bool isFirstCycle = true; uint32_t owner = 0; bool doDamage(Creature* creature, int32_t healthChange); diff --git a/src/player.cpp b/src/player.cpp index 1bc1d17..49bb168 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -1164,6 +1164,7 @@ void Player::onThink(uint32_t interval) addMessageBuffer(); } + lastWalkingTime += interval; if (!getTile()->hasFlag(TILESTATE_NOLOGOUT) && !isAccessPlayer()) { idleTime += interval; const int32_t kickAfterMinutes = g_config.getNumber(ConfigManager::KICK_AFTER_MINUTES); diff --git a/src/player.h b/src/player.h index 5050903..3f39f9c 100644 --- a/src/player.h +++ b/src/player.h @@ -286,6 +286,19 @@ class Player final : public Creature, public Cylinder void resetIdleTime() { idleTime = 0; + resetLastWalkingTime(); + } + + int32_t getIdleTime() const { + return idleTime; + } + + void resetLastWalkingTime() { + lastWalkingTime = 0; + } + + int32_t getLastWalkingTime() const { + return lastWalkingTime; } bool isInGhostMode() const { @@ -1045,6 +1058,7 @@ class Player final : public Creature, public Cylinder int32_t bloodHitCount = 0; int32_t shieldBlockCount = 0; int32_t idleTime = 0; + int32_t lastWalkingTime = 0; uint16_t staminaMinutes = 3360; uint16_t maxWriteLen = 0; From 9eca23b2e16f7206cb0ebaa2abfb99e2159391eb Mon Sep 17 00:00:00 2001 From: ErikasKontenis Date: Thu, 5 Dec 2019 17:15:19 +0200 Subject: [PATCH 4/6] implement absorbDrown damage properly on items --- data/items/items.srv | 2 +- data/movements/movements.xml | 2 +- data/movements/scripts/misc/helmet_of_the_deep.lua | 4 ---- src/items.cpp | 2 ++ src/movement.cpp | 4 ++++ 5 files changed, 8 insertions(+), 6 deletions(-) delete mode 100644 data/movements/scripts/misc/helmet_of_the_deep.lua diff --git a/data/items/items.srv b/data/items/items.srv index 52301d3..ea14faa 100644 --- a/data/items/items.srv +++ b/data/items/items.srv @@ -24674,7 +24674,7 @@ TypeID = 5460 Name = "a helmet of the deep" Description = "Enables underwater exploration" Flags = {Take,Armor} -Attributes = {Weight=21000,SlotType=HEAD,ArmorValue=2} # TODO: Drown protection! +Attributes = {Weight=21000,SlotType=HEAD,ArmorValue=2,AbsorbDrown=100} TypeID = 5461 Name = "pirate boots" diff --git a/data/movements/movements.xml b/data/movements/movements.xml index 3844810..676ad85 100644 --- a/data/movements/movements.xml +++ b/data/movements/movements.xml @@ -671,7 +671,7 @@ - + diff --git a/data/movements/scripts/misc/helmet_of_the_deep.lua b/data/movements/scripts/misc/helmet_of_the_deep.lua deleted file mode 100644 index 74091fb..0000000 --- a/data/movements/scripts/misc/helmet_of_the_deep.lua +++ /dev/null @@ -1,4 +0,0 @@ -function onEquip(player, item, slot) - player:removeCondition(CONDITION_DROWN) - return true -end \ No newline at end of file diff --git a/src/items.cpp b/src/items.cpp index e87c360..8259ff0 100644 --- a/src/items.cpp +++ b/src/items.cpp @@ -402,6 +402,8 @@ bool Items::loadItems() items[id].getAbilities().absorbPercent[combatTypeToIndex(COMBAT_FIREDAMAGE)] += script.readNumber(); } else if (identifier == "absorbpoison") { items[id].getAbilities().absorbPercent[combatTypeToIndex(COMBAT_EARTHDAMAGE)] += script.readNumber(); + } else if (identifier == "absorbdrown") { + items[id].getAbilities().absorbPercent[combatTypeToIndex(COMBAT_DROWNDAMAGE)] += script.readNumber(); } else if (identifier == "absorblifedrain") { items[id].getAbilities().absorbPercent[combatTypeToIndex(COMBAT_LIFEDRAIN)] += script.readNumber(); } else if (identifier == "absorbmanadrain") { diff --git a/src/movement.cpp b/src/movement.cpp index 184a44a..0dc15bf 100644 --- a/src/movement.cpp +++ b/src/movement.cpp @@ -646,6 +646,10 @@ uint32_t MoveEvent::EquipItem(MoveEvent* moveEvent, Player* player, Item* item, player->sendIcons(); } + if (it.abilities->absorbPercent[combatTypeToIndex(COMBAT_DROWNDAMAGE)] == 100) { + player->removeCondition(CONDITION_DROWN); + } + if (it.abilities->regeneration) { Condition* condition = Condition::createCondition(static_cast(slot), CONDITION_REGENERATION, -1, 0); From e6eb79618f66ba3f8524d764b9d3a72eea179b3a Mon Sep 17 00:00:00 2001 From: ErikasKontenis Date: Fri, 6 Dec 2019 11:01:26 +0200 Subject: [PATCH 5/6] fix few monsters --- data/monster/781/island troll.xml | 2 +- data/monster/781/lavahole.xml | 2 +- data/monster/781/massive water elemental.xml | 7 ++- data/monster/781/quara constrictor.xml | 6 +-- data/monster/781/quara hydromancer scout.xml | 6 +-- data/monster/781/quara hydromancer.xml | 6 +-- data/monster/781/thornback tortoise.xml | 2 +- data/monster/781/thul.xml | 12 ++--- data/monster/781/tiquandas revenge.xml | 2 +- data/monster/781/water elemental.xml | 48 -------------------- data/monster/monsters.xml | 1 - 11 files changed, 22 insertions(+), 72 deletions(-) delete mode 100644 data/monster/781/water elemental.xml diff --git a/data/monster/781/island troll.xml b/data/monster/781/island troll.xml index 8ca9521..24d5793 100644 --- a/data/monster/781/island troll.xml +++ b/data/monster/781/island troll.xml @@ -1,7 +1,7 @@ - + diff --git a/data/monster/781/lavahole.xml b/data/monster/781/lavahole.xml index 88195e7..eefff85 100644 --- a/data/monster/781/lavahole.xml +++ b/data/monster/781/lavahole.xml @@ -1,7 +1,7 @@ - + diff --git a/data/monster/781/massive water elemental.xml b/data/monster/781/massive water elemental.xml index e3a03f9..9738bc5 100644 --- a/data/monster/781/massive water elemental.xml +++ b/data/monster/781/massive water elemental.xml @@ -1,7 +1,7 @@ - + @@ -24,9 +24,8 @@ - - - + + diff --git a/data/monster/781/quara constrictor.xml b/data/monster/781/quara constrictor.xml index dbf134d..dfc321e 100644 --- a/data/monster/781/quara constrictor.xml +++ b/data/monster/781/quara constrictor.xml @@ -20,10 +20,10 @@ - - + + - + diff --git a/data/monster/781/quara hydromancer scout.xml b/data/monster/781/quara hydromancer scout.xml index 4e656dc..4bdae9f 100644 --- a/data/monster/781/quara hydromancer scout.xml +++ b/data/monster/781/quara hydromancer scout.xml @@ -17,11 +17,11 @@ - + - - + + diff --git a/data/monster/781/quara hydromancer.xml b/data/monster/781/quara hydromancer.xml index 812fd57..bfcbf16 100644 --- a/data/monster/781/quara hydromancer.xml +++ b/data/monster/781/quara hydromancer.xml @@ -17,11 +17,11 @@ - + - - + + diff --git a/data/monster/781/thornback tortoise.xml b/data/monster/781/thornback tortoise.xml index 312bdba..278238b 100644 --- a/data/monster/781/thornback tortoise.xml +++ b/data/monster/781/thornback tortoise.xml @@ -17,7 +17,7 @@ - + diff --git a/data/monster/781/thul.xml b/data/monster/781/thul.xml index fa5b2cd..ff31fee 100644 --- a/data/monster/781/thul.xml +++ b/data/monster/781/thul.xml @@ -21,17 +21,17 @@ - - - + + + + + + - - - diff --git a/data/monster/781/tiquandas revenge.xml b/data/monster/781/tiquandas revenge.xml index ec0e7c3..341636d 100644 --- a/data/monster/781/tiquandas revenge.xml +++ b/data/monster/781/tiquandas revenge.xml @@ -26,7 +26,7 @@ - + diff --git a/data/monster/781/water elemental.xml b/data/monster/781/water elemental.xml deleted file mode 100644 index 014c2cd..0000000 --- a/data/monster/781/water elemental.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/data/monster/monsters.xml b/data/monster/monsters.xml index 631a7f3..cb9aa3f 100644 --- a/data/monster/monsters.xml +++ b/data/monster/monsters.xml @@ -207,5 +207,4 @@ - \ No newline at end of file From 96013c54558ee2c53f5cf90e667ccdf854590163 Mon Sep 17 00:00:00 2001 From: ErikasKontenis Date: Mon, 9 Dec 2019 11:35:58 +0200 Subject: [PATCH 6/6] finish 780 creatures --- data/items/items.srv | 2 +- data/monster/781/acolyte of the cult.xml | 78 +++----- data/monster/781/adept of the cult.xml | 82 +++----- data/monster/781/azure frog.xml | 52 ++--- data/monster/781/blood crab.xml | 65 ++----- data/monster/781/brutus bloodbeard.xml | 62 +++--- data/monster/781/carrion worm.xml | 65 +++---- data/monster/781/coral frog.xml | 48 ++--- data/monster/781/crimson frog.xml | 50 ++--- data/monster/781/deadeye devious.xml | 74 ++++--- data/monster/781/enlightened of the cult.xml | 95 ++++----- data/monster/781/green frog.xml | 33 ++-- data/monster/781/island troll.xml | 83 +++----- data/monster/781/lavahole.xml | 57 +++--- data/monster/781/lethal lissy.xml | 55 +++--- data/monster/781/mammoth.xml | 64 ++----- data/monster/781/massive water elemental.xml | 47 +++-- data/monster/781/morgaroth.xml | 192 +++++++------------ data/monster/781/novice of the cult.xml | 84 +++----- data/monster/781/orchid frog.xml | 48 ++--- data/monster/781/pirate buccaneer.xml | 96 ++++------ data/monster/781/pirate corsair.xml | 95 ++++----- data/monster/781/pirate cutthroat.xml | 92 ++++----- data/monster/781/pirate ghost.xml | 84 +++----- data/monster/781/pirate marauder.xml | 97 ++++------ data/monster/781/pirate skeleton.xml | 73 +++---- data/monster/781/quara constrictor scout.xml | 83 +++----- data/monster/781/quara constrictor.xml | 96 ++++------ data/monster/781/quara hydromancer scout.xml | 97 ++++------ data/monster/781/quara hydromancer.xml | 111 +++++------ data/monster/781/quara mantassin scout.xml | 87 +++------ data/monster/781/quara mantassin.xml | 94 ++++----- data/monster/781/quara pincher scout.xml | 95 ++++----- data/monster/781/quara pincher.xml | 96 ++++------ data/monster/781/quara predator scout.xml | 82 +++----- data/monster/781/quara predator.xml | 92 +++------ data/monster/781/ron the ripper.xml | 53 +++-- data/monster/781/seagull.xml | 27 ++- data/monster/781/thornback tortoise.xml | 62 ++---- data/monster/781/thul.xml | 55 +++--- data/monster/781/tiquandas revenge.xml | 83 +++----- data/monster/781/toad.xml | 68 +++---- data/monster/781/tortoise.xml | 66 +++---- data/monster/ferumbras.xml | 4 +- 44 files changed, 1198 insertions(+), 2026 deletions(-) diff --git a/data/items/items.srv b/data/items/items.srv index ea14faa..2aa97e0 100644 --- a/data/items/items.srv +++ b/data/items/items.srv @@ -26810,7 +26810,7 @@ Flags = {Take} Attributes = {Weight=3200} TypeID = 5929 -Name = "a goldfish bow" +Name = "a goldfish bowl" Flags = {Take} Attributes = {Weight=3200} diff --git a/data/monster/781/acolyte of the cult.xml b/data/monster/781/acolyte of the cult.xml index 9bceeb2..f446281 100644 --- a/data/monster/781/acolyte of the cult.xml +++ b/data/monster/781/acolyte of the cult.xml @@ -1,24 +1,23 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + @@ -27,50 +26,27 @@ - + - + - + - + - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/data/monster/781/adept of the cult.xml b/data/monster/781/adept of the cult.xml index df54e10..4cc880b 100644 --- a/data/monster/781/adept of the cult.xml +++ b/data/monster/781/adept of the cult.xml @@ -1,24 +1,23 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + @@ -27,53 +26,28 @@ - + - + - + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/data/monster/781/azure frog.xml b/data/monster/781/azure frog.xml index 1ff9919..dc482fc 100644 --- a/data/monster/781/azure frog.xml +++ b/data/monster/781/azure frog.xml @@ -1,45 +1,29 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - - + + - - + + - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/data/monster/781/blood crab.xml b/data/monster/781/blood crab.xml index 994707f..87e40e1 100644 --- a/data/monster/781/blood crab.xml +++ b/data/monster/781/blood crab.xml @@ -1,55 +1,32 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - - + + - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/data/monster/781/brutus bloodbeard.xml b/data/monster/781/brutus bloodbeard.xml index d47a5b9..62c3b89 100644 --- a/data/monster/781/brutus bloodbeard.xml +++ b/data/monster/781/brutus bloodbeard.xml @@ -1,46 +1,40 @@ - - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - + - + - + - + - - - - - - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/carrion worm.xml b/data/monster/781/carrion worm.xml index e04dcc2..72b53ad 100644 --- a/data/monster/781/carrion worm.xml +++ b/data/monster/781/carrion worm.xml @@ -1,54 +1,33 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - - - - - + + + + + - - - - + + + - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/data/monster/781/coral frog.xml b/data/monster/781/coral frog.xml index 1009fd1..dbca01d 100644 --- a/data/monster/781/coral frog.xml +++ b/data/monster/781/coral frog.xml @@ -1,43 +1,27 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - + - + - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/data/monster/781/crimson frog.xml b/data/monster/781/crimson frog.xml index d5afcd6..6322572 100644 --- a/data/monster/781/crimson frog.xml +++ b/data/monster/781/crimson frog.xml @@ -1,44 +1,28 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - + - - + + - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/data/monster/781/deadeye devious.xml b/data/monster/781/deadeye devious.xml index f6cf585..ac4df84 100644 --- a/data/monster/781/deadeye devious.xml +++ b/data/monster/781/deadeye devious.xml @@ -1,58 +1,48 @@ - - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - + - + - + - - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/enlightened of the cult.xml b/data/monster/781/enlightened of the cult.xml index 60f633f..0f5b60e 100644 --- a/data/monster/781/enlightened of the cult.xml +++ b/data/monster/781/enlightened of the cult.xml @@ -1,20 +1,19 @@ - - - + + - - - - - - - - - - + + + + + + + + + + @@ -25,66 +24,40 @@ - + - + - + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/green frog.xml b/data/monster/781/green frog.xml index de8c261..1685b29 100644 --- a/data/monster/781/green frog.xml +++ b/data/monster/781/green frog.xml @@ -1,24 +1,23 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - - + + - + \ No newline at end of file diff --git a/data/monster/781/island troll.xml b/data/monster/781/island troll.xml index 24d5793..fc0ca97 100644 --- a/data/monster/781/island troll.xml +++ b/data/monster/781/island troll.xml @@ -1,67 +1,40 @@ - - + - - - - - - - - - - + + + + + + + + + + - + - - - - - + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/data/monster/781/lavahole.xml b/data/monster/781/lavahole.xml index eefff85..b806384 100644 --- a/data/monster/781/lavahole.xml +++ b/data/monster/781/lavahole.xml @@ -1,38 +1,37 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - - + + - + - - - - - - - - - - + + + + + + + + + + - + \ No newline at end of file diff --git a/data/monster/781/lethal lissy.xml b/data/monster/781/lethal lissy.xml index b679e28..c387f63 100644 --- a/data/monster/781/lethal lissy.xml +++ b/data/monster/781/lethal lissy.xml @@ -1,45 +1,44 @@ - - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - + - + - + - + - - - - - - - + + + + + + + - + \ No newline at end of file diff --git a/data/monster/781/mammoth.xml b/data/monster/781/mammoth.xml index 79949f1..e2ca883 100644 --- a/data/monster/781/mammoth.xml +++ b/data/monster/781/mammoth.xml @@ -1,54 +1,30 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + \ No newline at end of file diff --git a/data/monster/781/massive water elemental.xml b/data/monster/781/massive water elemental.xml index 9738bc5..9bb6fa8 100644 --- a/data/monster/781/massive water elemental.xml +++ b/data/monster/781/massive water elemental.xml @@ -1,46 +1,45 @@ - - + - - - - - - - - - - + + + + + + + + + + - + - - + + - + - + - + - - - - - + + + + + - + \ No newline at end of file diff --git a/data/monster/781/morgaroth.xml b/data/monster/781/morgaroth.xml index 8984067..17072c3 100644 --- a/data/monster/781/morgaroth.xml +++ b/data/monster/781/morgaroth.xml @@ -1,151 +1,99 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - - + + - + - + - + - + - + - - - - + + + + - + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/data/monster/781/novice of the cult.xml b/data/monster/781/novice of the cult.xml index c1d6377..7bdd721 100644 --- a/data/monster/781/novice of the cult.xml +++ b/data/monster/781/novice of the cult.xml @@ -1,72 +1,48 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/orchid frog.xml b/data/monster/781/orchid frog.xml index d39dceb..4f2e9ac 100644 --- a/data/monster/781/orchid frog.xml +++ b/data/monster/781/orchid frog.xml @@ -1,41 +1,25 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - - + + - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/data/monster/781/pirate buccaneer.xml b/data/monster/781/pirate buccaneer.xml index 4ef9f37..d8d4697 100644 --- a/data/monster/781/pirate buccaneer.xml +++ b/data/monster/781/pirate buccaneer.xml @@ -1,73 +1,49 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/data/monster/781/pirate corsair.xml b/data/monster/781/pirate corsair.xml index 3ea24db..e2a0e5d 100644 --- a/data/monster/781/pirate corsair.xml +++ b/data/monster/781/pirate corsair.xml @@ -1,73 +1,50 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/pirate cutthroat.xml b/data/monster/781/pirate cutthroat.xml index 0dc157d..c89a9e6 100644 --- a/data/monster/781/pirate cutthroat.xml +++ b/data/monster/781/pirate cutthroat.xml @@ -1,70 +1,46 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/pirate ghost.xml b/data/monster/781/pirate ghost.xml index cf20e3b..0886ace 100644 --- a/data/monster/781/pirate ghost.xml +++ b/data/monster/781/pirate ghost.xml @@ -1,32 +1,31 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - + @@ -36,42 +35,17 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + \ No newline at end of file diff --git a/data/monster/781/pirate marauder.xml b/data/monster/781/pirate marauder.xml index 77b16fb..3051600 100644 --- a/data/monster/781/pirate marauder.xml +++ b/data/monster/781/pirate marauder.xml @@ -1,73 +1,48 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/pirate skeleton.xml b/data/monster/781/pirate skeleton.xml index 367133d..489b2b2 100644 --- a/data/monster/781/pirate skeleton.xml +++ b/data/monster/781/pirate skeleton.xml @@ -1,55 +1,30 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara constrictor scout.xml b/data/monster/781/quara constrictor scout.xml index 218fb8b..6fa015c 100644 --- a/data/monster/781/quara constrictor scout.xml +++ b/data/monster/781/quara constrictor scout.xml @@ -1,64 +1,39 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara constrictor.xml b/data/monster/781/quara constrictor.xml index dfc321e..3838bd5 100644 --- a/data/monster/781/quara constrictor.xml +++ b/data/monster/781/quara constrictor.xml @@ -1,76 +1,52 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - + - + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara hydromancer scout.xml b/data/monster/781/quara hydromancer scout.xml index 4bdae9f..9fd93ca 100644 --- a/data/monster/781/quara hydromancer scout.xml +++ b/data/monster/781/quara hydromancer scout.xml @@ -1,86 +1,61 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - + - + - + - - - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara hydromancer.xml b/data/monster/781/quara hydromancer.xml index bfcbf16..1200a38 100644 --- a/data/monster/781/quara hydromancer.xml +++ b/data/monster/781/quara hydromancer.xml @@ -1,92 +1,67 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - + - + - + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara mantassin scout.xml b/data/monster/781/quara mantassin scout.xml index d08c660..6b8b723 100644 --- a/data/monster/781/quara mantassin scout.xml +++ b/data/monster/781/quara mantassin scout.xml @@ -1,66 +1,41 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - - - - - + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara mantassin.xml b/data/monster/781/quara mantassin.xml index e0fbaad..32329ba 100644 --- a/data/monster/781/quara mantassin.xml +++ b/data/monster/781/quara mantassin.xml @@ -1,75 +1,51 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara pincher scout.xml b/data/monster/781/quara pincher scout.xml index cb92363..964beb7 100644 --- a/data/monster/781/quara pincher scout.xml +++ b/data/monster/781/quara pincher scout.xml @@ -1,73 +1,48 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - - - - - - - - + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara pincher.xml b/data/monster/781/quara pincher.xml index 4bc7e2c..0a93593 100644 --- a/data/monster/781/quara pincher.xml +++ b/data/monster/781/quara pincher.xml @@ -1,73 +1,47 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - - - - + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara predator scout.xml b/data/monster/781/quara predator scout.xml index 834c696..e50b854 100644 --- a/data/monster/781/quara predator scout.xml +++ b/data/monster/781/quara predator scout.xml @@ -1,65 +1,39 @@ - - - + + - + - - - - - - - - - - + + + + + + + + + + - + - - - - - + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/quara predator.xml b/data/monster/781/quara predator.xml index 2db39b1..4558283 100644 --- a/data/monster/781/quara predator.xml +++ b/data/monster/781/quara predator.xml @@ -1,78 +1,48 @@ - - - + + - + - - - - - - - - - - + + + + + + + + + + - + - + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/data/monster/781/ron the ripper.xml b/data/monster/781/ron the ripper.xml index 4d9284a..2a3cdf2 100644 --- a/data/monster/781/ron the ripper.xml +++ b/data/monster/781/ron the ripper.xml @@ -1,42 +1,41 @@ - - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - + - + - + - - - - - - - + + + + + + + - + \ No newline at end of file diff --git a/data/monster/781/seagull.xml b/data/monster/781/seagull.xml index 2f5cc89..a64e4a6 100644 --- a/data/monster/781/seagull.xml +++ b/data/monster/781/seagull.xml @@ -1,19 +1,18 @@ - - - + + - - - - - - - - - + + + + + + + + + - - + + \ No newline at end of file diff --git a/data/monster/781/thornback tortoise.xml b/data/monster/781/thornback tortoise.xml index 278238b..51d578e 100644 --- a/data/monster/781/thornback tortoise.xml +++ b/data/monster/781/thornback tortoise.xml @@ -1,53 +1,31 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + \ No newline at end of file diff --git a/data/monster/781/thul.xml b/data/monster/781/thul.xml index ff31fee..889e519 100644 --- a/data/monster/781/thul.xml +++ b/data/monster/781/thul.xml @@ -1,31 +1,30 @@ - - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - + - + @@ -34,20 +33,20 @@ - - - - + + + + - + - + - - - + + + - + \ No newline at end of file diff --git a/data/monster/781/tiquandas revenge.xml b/data/monster/781/tiquandas revenge.xml index 341636d..c257d46 100644 --- a/data/monster/781/tiquandas revenge.xml +++ b/data/monster/781/tiquandas revenge.xml @@ -1,71 +1,48 @@ - - - - - + + + + - - - - - - - - - - + + + + + + + + + + - - + + - - + + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + \ No newline at end of file diff --git a/data/monster/781/toad.xml b/data/monster/781/toad.xml index 1dbb1ef..9b4f224 100644 --- a/data/monster/781/toad.xml +++ b/data/monster/781/toad.xml @@ -1,58 +1,34 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + \ No newline at end of file diff --git a/data/monster/781/tortoise.xml b/data/monster/781/tortoise.xml index b1703b4..876b0aa 100644 --- a/data/monster/781/tortoise.xml +++ b/data/monster/781/tortoise.xml @@ -1,52 +1,30 @@ - - - + + - - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + \ No newline at end of file diff --git a/data/monster/ferumbras.xml b/data/monster/ferumbras.xml index 22a64cd..cc11d19 100644 --- a/data/monster/ferumbras.xml +++ b/data/monster/ferumbras.xml @@ -1,7 +1,7 @@ - + - +