diff options
23 files changed, 229 insertions, 6 deletions
diff --git a/effects.xml b/effects.xml index 1510bdde..9dd413f3 100644 --- a/effects.xml +++ b/effects.xml @@ -91,6 +91,8 @@ <effect id="55" particle="graphics/particles/snowball-crit.particle.xml"/> <effect id="56" audio="system/levelup-long.ogg" particle="graphics/particles/levelup.particle.xml"/> <effect id="69" particle="graphics/particles/python.xml" audio="env/fart.ogg"/> + <effect id="70" particle="graphics/particles/monster-rotter-hit.xml" audio="monsters/slime/slime-hurt1.ogg"/> + <effect id="71" particle="graphics/particles/monster-rotter-crit.xml" audio="monsters/rotter/crit1.ogg"/> <!-- #betsanc (protect) end --> <effect id="111" audio="magic/betsanc-off.ogg" particle="graphics/particles/magic.shield.xml"/> <!-- <effect id="112" particle="graphics/particles/magic.haste-ends.xml"/>--> diff --git a/graphics/particles/monster-rotter-crit.png b/graphics/particles/monster-rotter-crit.png Binary files differnew file mode 100644 index 00000000..379743fe --- /dev/null +++ b/graphics/particles/monster-rotter-crit.png diff --git a/graphics/particles/monster-rotter-crit.xml b/graphics/particles/monster-rotter-crit.xml new file mode 100644 index 00000000..7f265f1a --- /dev/null +++ b/graphics/particles/monster-rotter-crit.xml @@ -0,0 +1,50 @@ +<?xml version="1.0"?> +<effect> + <!-- Criticle hit effect for the Rotter. Green slime coating falls to the ground. --> + <particle position-x="0" position-y="32" position-z="32" lifetime="80"> + <emitter> + <property name="position-x" min="0" max="0"/> + <property name="position-y" min="32" max="32"/> + <property name="position-z" min="32" max="32"/> + <property name="lifetime" value="20"/> + <property name="output" value="1"/> + <property name="output-pause" value="0"/> + <animation imageset="graphics/particles/monster-rotter-crit.png" width="64" height="64"> + <frame index="0" delay="10"/> + </animation> + </emitter> + <emitter> + <property name="position-x" min="0" max="0"/> + <property name="position-y" min="32" max="32"/> + <property name="position-z" min="32" max="32"/> + <property name="lifetime" value="40"/> + <property name="output" value="1"/> + <property name="output-pause" value="20"/> + <animation imageset="graphics/particles/monster-rotter-crit.png" width="64" height="64"> + <frame index="1" delay="10"/> + </animation> + </emitter> + <emitter> + <property name="position-x" min="0" max="0"/> + <property name="position-y" min="32" max="32"/> + <property name="position-z" min="32" max="32"/> + <property name="lifetime" value="60"/> + <property name="output" value="1"/> + <property name="output-pause" value="40"/> + <animation imageset="graphics/particles/monster-rotter-crit.png" width="64" height="64"> + <frame index="2" delay="10"/> + </animation> + </emitter> + <emitter> + <property name="position-x" min="0" max="0"/> + <property name="position-y" min="32" max="32"/> + <property name="position-z" min="32" max="32"/> + <property name="lifetime" value="80"/> + <property name="output" value="1"/> + <property name="output-pause" value="60"/> + <animation imageset="graphics/particles/monster-rotter-crit.png" width="64" height="64"> + <frame index="3" delay="0"/> + </animation> + </emitter> + </particle> +</effect> diff --git a/graphics/particles/monster-rotter-hit.xml b/graphics/particles/monster-rotter-hit.xml new file mode 100644 index 00000000..5a4f3159 --- /dev/null +++ b/graphics/particles/monster-rotter-hit.xml @@ -0,0 +1,32 @@ +<?xml version="1.0"?> +<!-- +An explosion of green slime particles. +--> +<effect> + <particle position-x="0" position-y="32" position-z="32" lifetime="3"> + <emitter> + <property name="position-x" min="-8" max="8"/> + <property name="position-y" min="-8" max="8"/> + <property name="position-z" min="-8" max="8"/> + <property name="vertical-angle" min="30" max="90"/> + <property name="horizontal-angle" min="0" max="360"/> + <property name="power" min="0" max="5"/> + <property name="gravity" value="0.2"/> + <property name="image" value="graphics/particles/orb-small.png|W:#404D2C,404D2C,4E7237"/> + <property name="lifetime" min="0" max="200"/> + <property name="output" min="8" max="16"/> + </emitter> + <emitter> + <property name="position-x" min="-8" max="8"/> + <property name="position-y" min="-8" max="8"/> + <property name="position-z" min="-8" max="8"/> + <property name="vertical-angle" min="45" max="90"/> + <property name="horizontal-angle" min="0" max="360"/> + <property name="power" min="0" max="3"/> + <property name="gravity" value="0.5"/> + <property name="image" value="graphics/particles/orb-medium.png|W:#4E7237,4E7237,4E7237"/> + <property name="lifetime" min="0" max="120"/> + <property name="output" min="6" max="12"/> + </emitter> + </particle> +</effect> diff --git a/graphics/particles/monster-rotter-trail.xml b/graphics/particles/monster-rotter-trail.xml new file mode 100644 index 00000000..287e48b6 --- /dev/null +++ b/graphics/particles/monster-rotter-trail.xml @@ -0,0 +1,17 @@ +<?xml version="1.0"?> +<!-- A thin trail of green slime. --> +<effect> + <particle position-x="0" position-y="0" position-z="5"> + <emitter> + <property name="position-y" min="-1" max="5"/> + <property name="position-x" min="-3" max="3"/> + <property name="lifetime" value="1000"/> + <property name="fade-out" value="800"/> + <property name="fade-in" value="100"/> + <property name="output" min="1" max="5"/> + <property name="output-pause" min="10" max="30"/> + <property name="image" value="graphics/particles/orb-medium.png|W:#4E7237,4E7237,4E7237"/> + <property name="alpha" value=".5"/> + </emitter> + </particle> +</effect> diff --git a/graphics/particles/monster-rotter-vomit.png b/graphics/particles/monster-rotter-vomit.png Binary files differnew file mode 100644 index 00000000..906ae472 --- /dev/null +++ b/graphics/particles/monster-rotter-vomit.png diff --git a/graphics/particles/monster-rotter-vomit.xml b/graphics/particles/monster-rotter-vomit.xml new file mode 100644 index 00000000..48e91a1b --- /dev/null +++ b/graphics/particles/monster-rotter-vomit.xml @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<!-- Expelled glob of green vomit --> +<effect> + <particle position-x="0" position-y="0" position-z="32" lifetime="128"> + <rotation imageset="graphics/particles/monster-rotter-vomit.png" width="32" height="32"> + <sequence start="0" end="7"/> + </rotation> + </particle> +</effect> diff --git a/graphics/sprites/monsters/rot.png b/graphics/sprites/monsters/rot.png Binary files differnew file mode 100644 index 00000000..89d582cb --- /dev/null +++ b/graphics/sprites/monsters/rot.png diff --git a/graphics/sprites/monsters/rot.xml b/graphics/sprites/monsters/rot.xml new file mode 100644 index 00000000..fadc8711 --- /dev/null +++ b/graphics/sprites/monsters/rot.xml @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<sprite> + <imageset name="base" src="graphics/sprites/monsters/rot.png" width="20" height="20"/> + <action name="stand" imageset="base"> + <animation> + <frame index="0"/> + </animation> + </action> + <action name="attack" imageset="base"> + <animation direction="default"> + <sequence start="1" end="2" delay="100"/> + <end/> + </animation> + </action> + <action name="dead" imageset="base"> + <animation> + <frame index="2" delay="5000"/> + </animation> + </action> +</sprite> diff --git a/graphics/sprites/monsters/rotter.png b/graphics/sprites/monsters/rotter.png Binary files differnew file mode 100644 index 00000000..b8ab10bc --- /dev/null +++ b/graphics/sprites/monsters/rotter.png diff --git a/graphics/sprites/monsters/rotter.xml b/graphics/sprites/monsters/rotter.xml new file mode 100644 index 00000000..c9eb1cce --- /dev/null +++ b/graphics/sprites/monsters/rotter.xml @@ -0,0 +1,56 @@ +<?xml version="1.0"?> +<sprite variants="56" variant_offset="1"> + <imageset name="base" src="graphics/sprites/monsters/rotter.png" width="64" height="64"/> + <action name="stand" imageset="base"> + <animation direction="down"> + <frame index="0"/> + </animation> + <animation direction="right"> + <frame index="7"/> + </animation> + <animation direction="left"> + <frame index="14"/> + </animation> + <animation direction="up"> + <frame index="21"/> + </animation> + </action> + <action name="walk" imageset="base"> + <animation direction="down"> + <sequence start="1" end="6" delay="300"/> + </animation> + <animation direction="right"> + <sequence start="8" end="13" delay="300"/> + </animation> + <animation direction="left"> + <sequence start="15" end="20" delay="300"/> + </animation> + <animation direction="up"> + <sequence start="22" end="27" delay="300"/> + </animation> + </action> + <action name="dead" imageset="base"> + <animation> + <sequence start="44" end="55" delay="200"/> + <frame index="55" delay="5000"/> + </animation> + </action> + <action name="attack" imageset="base"> + <animation direction="down"> + <sequence start="28" end="31" delay="100"/> + <end/> + </animation> + <animation direction="right"> + <sequence start="32" end="35" delay="100"/> + <end/> + </animation> + <animation direction="left"> + <sequence start="36" end="39" delay="100"/> + <end/> + </animation> + <animation direction="up"> + <sequence start="40" end="43" delay="100"/> + <end/> + </animation> + </action> +</sprite> @@ -612,6 +612,8 @@ File | Artists | Licenses `graphics/particles/mist-face-a.png` | Nmaligec | GPLv2 `graphics/particles/mist-face-b.png` | Nmaligec | GPLv2 `graphics/particles/monster-troll-foefire.particle.png` | FotherJ | GPLv2, CC BY-SA 3.0 +`graphics/particles/monster-rotter-crit.png` | Ledmitz | GPLv2, CC BY-SA 3.0 +`graphics/particles/monster-rotter-vomit.png` | Ledmitz | GPLv2, CC BY-SA 3.0 `graphics/particles/orb-large.png` | Crush | GPLv2, CC BY-SA 3.0 `graphics/particles/orb-medium.png` | Crush | GPLv2, CC BY-SA 3.0 `graphics/particles/orb-small.png` | Crush | GPLv2, CC BY-SA 3.0 @@ -968,6 +970,8 @@ File | Artists | Licenses `graphics/sprites/monsters/pinkie.png` | Crush | GPLv2, CC BY-SA 3.0 `graphics/sprites/monsters/plant.png` | Crush, Seradest | GPLv2 `graphics/sprites/monsters/reaper.png` | Alige, Len, Reid, Skipy | GPLv2 +`graphics/sprites/monsters/rot.png` | Ledmitz | GPLv2, CC BY-SA 3.0 +`graphics/sprites/monsters/rotter.png` | Ledmitz | GPLv2, CC BY-SA 3.0 `graphics/sprites/monsters/sasquatch.png` | Xtreem | GPLv2, CC BY-SA 3.0 `graphics/sprites/monsters/serqet.png` | ChefChelios | GPLv2, CC BY-SA 3.0 `graphics/sprites/monsters/silkworm.png` | Fate | GPLv2, CC BY-SA 3.0 @@ -1287,6 +1291,16 @@ File | Artists | Licenses `sfx/monsters/reaper/reaper-hit1.ogg` | Ledmitz, nmaligec | GPLv2, CC BY-SA 3.0 `sfx/monsters/reaper/reaper-hurt1.ogg` | nmaligec | GPLv2 `sfx/monsters/reaper/reaper-move1.ogg` | Ledmitz, nmaligec | GPLv2, CC BY-SA 3.0 +`sfx/monsters/rotter/crit1.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 +`sfx/monsters/rotter/die1.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 +`sfx/monsters/rotter/die2.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 +`sfx/monsters/rotter/hit1.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 +`sfx/monsters/rotter/hit2.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 +`sfx/monsters/rotter/miss1.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 +`sfx/monsters/rotter/miss2.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 +`sfx/monsters/rotter/move1.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 +`sfx/monsters/rotter/move2.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 +`sfx/monsters/rotter/move3.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 `sfx/monsters/sasquatch/sasquatch-move1.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 `sfx/monsters/sasquatch/sasquatch-move2.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0 `sfx/monsters/scorpion/scorpion-hit1.ogg` | Cosmostrator | GPLv2 diff --git a/monsters.xml b/monsters.xml index 3d073dcb..4c81899c 100644 --- a/monsters.xml +++ b/monsters.xml @@ -1576,13 +1576,13 @@ <sound event="miss">monsters/golem/miss1.ogg</sound> </monster> - <monster id="1172" name="Bif" targetCursor="medium"> - <sprite>monsters/bif.xml</sprite> - </monster> + <monster id="1172" name="Bif" targetCursor="medium"> + <sprite>monsters/bif.xml</sprite> + </monster> - <monster id="1173" name="Mont Blanc" targetCursor="large"> - <sprite>monsters/montblanc.xml</sprite> - </monster> + <monster id="1173" name="Mont Blanc" targetCursor="large"> + <sprite>monsters/montblanc.xml</sprite> + </monster> <monster id="1174" name="Emo"> <sprite>model/male.xml|#166876,32992e,23a988,70cd87,a7f1b2;#0e0036,4c264b,a04f62,d2a391,e6d7b8;#3a3a3a,d5d5d5</sprite> @@ -1607,6 +1607,29 @@ <sprite>monsters/accessories/generic-shadow-medium-circle.xml</sprite> <particlefx>graphics/particles/manadust.particle.xml</particlefx> </monster> + + <monster id="1176" name="Rotter"> + <sprite>monsters/rotter.xml</sprite> + <particlefx>graphics/particles/monster-rotter-trail.xml</particlefx> + <sound event="die">monsters/rotter/die1.ogg</sound> + <sound event="die">monsters/rotter/die2.ogg</sound> + <sound event="hit">monsters/rotter/hit1.ogg</sound> + <sound event="hit">monsters/rotter/hit2.ogg</sound> + <sound event="hurt">monsters/slime/hurt2.ogg</sound> + <sound event="hurt">monsters/slime/hurt3.ogg</sound> + <sound event="miss">monsters/rotter/miss1.ogg</sound> + <sound event="miss">monsters/rotter/miss2.ogg</sound> + <sound event="move">monsters/rotter/move1.ogg</sound> + <sound event="move">monsters/rotter/move2.ogg</sound> + <sound event="move">monsters/rotter/move3.ogg</sound> + <attack id="1" critical-hit-effect-id="71" hit-effect-id="70" missile-particle="graphics/particles/monster-rotter-vomit.xml" action="attack"/> + </monster> + + <monster id="1177" name="Rot"> + <sprite>monsters/rot.xml</sprite> + <sound event="die">monsters/slime/slime-die1.ogg</sound> + <attack id="1" critical-hit-effect-id="71" hit-effect-id="70" action="attack"/> + </monster> <!-- Mods should use the following code --> <include name="mods/monsters.xml" /> diff --git a/sfx/monsters/rotter/crit1.ogg b/sfx/monsters/rotter/crit1.ogg Binary files differnew file mode 100644 index 00000000..9a6f6a7d --- /dev/null +++ b/sfx/monsters/rotter/crit1.ogg diff --git a/sfx/monsters/rotter/die1.ogg b/sfx/monsters/rotter/die1.ogg Binary files differnew file mode 100644 index 00000000..eb025f17 --- /dev/null +++ b/sfx/monsters/rotter/die1.ogg diff --git a/sfx/monsters/rotter/die2.ogg b/sfx/monsters/rotter/die2.ogg Binary files differnew file mode 100644 index 00000000..0199ec62 --- /dev/null +++ b/sfx/monsters/rotter/die2.ogg diff --git a/sfx/monsters/rotter/hit1.ogg b/sfx/monsters/rotter/hit1.ogg Binary files differnew file mode 100644 index 00000000..6b848f25 --- /dev/null +++ b/sfx/monsters/rotter/hit1.ogg diff --git a/sfx/monsters/rotter/hit2.ogg b/sfx/monsters/rotter/hit2.ogg Binary files differnew file mode 100644 index 00000000..de17c9d5 --- /dev/null +++ b/sfx/monsters/rotter/hit2.ogg diff --git a/sfx/monsters/rotter/miss1.ogg b/sfx/monsters/rotter/miss1.ogg Binary files differnew file mode 100644 index 00000000..1f8ed433 --- /dev/null +++ b/sfx/monsters/rotter/miss1.ogg diff --git a/sfx/monsters/rotter/miss2.ogg b/sfx/monsters/rotter/miss2.ogg Binary files differnew file mode 100644 index 00000000..f0546824 --- /dev/null +++ b/sfx/monsters/rotter/miss2.ogg diff --git a/sfx/monsters/rotter/move1.ogg b/sfx/monsters/rotter/move1.ogg Binary files differnew file mode 100644 index 00000000..2c24392d --- /dev/null +++ b/sfx/monsters/rotter/move1.ogg diff --git a/sfx/monsters/rotter/move2.ogg b/sfx/monsters/rotter/move2.ogg Binary files differnew file mode 100644 index 00000000..2112e78f --- /dev/null +++ b/sfx/monsters/rotter/move2.ogg diff --git a/sfx/monsters/rotter/move3.ogg b/sfx/monsters/rotter/move3.ogg Binary files differnew file mode 100644 index 00000000..5080a62a --- /dev/null +++ b/sfx/monsters/rotter/move3.ogg |