summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/particles/monster-virus-foefire.particle.xml31
-rw-r--r--graphics/sprites/equipment/weapons/sandcutter.pngbin0 -> 36057 bytes
-rw-r--r--graphics/sprites/equipment/weapons/sandcutter.xml80
-rw-r--r--graphics/sprites/monsters/virus.pngbin0 -> 313913 bytes
-rw-r--r--graphics/sprites/monsters/virus.xml104
-rw-r--r--items/equip-1hand/_include.xml1
-rw-r--r--items/equip-1hand/item578_SandCutter.xml16
-rw-r--r--items/equip-2hand/item878_BansheeBow.xml2
-rw-r--r--items/equip-arms/item756_AssassinGloves.xml2
-rw-r--r--items/equip-feet/item757_AssassinBoots.xml2
-rw-r--r--items/equip-torso/item731_AssassinPants.xml2
-rw-r--r--items/equip-torso/item755_AssassinShirt.xml2
-rw-r--r--license.md4
-rw-r--r--monsters/_include.xml1
-rw-r--r--monsters/monster1139_Virus.xml8
-rw-r--r--sfx/weapons/swords/sandcutter-hit7.oggbin0 -> 11089 bytes
-rw-r--r--sfx/weapons/swords/sandcutter-hit8.oggbin0 -> 10583 bytes
-rw-r--r--sfx/weapons/swords/sandcutter-hit9.oggbin0 -> 12268 bytes
18 files changed, 250 insertions, 5 deletions
diff --git a/graphics/particles/monster-virus-foefire.particle.xml b/graphics/particles/monster-virus-foefire.particle.xml
new file mode 100644
index 00000000..fdb76438
--- /dev/null
+++ b/graphics/particles/monster-virus-foefire.particle.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+A horizontal flame burst with a range of about 60 pixels.
+Creates up to 400 particles but only for a very brief moment.
+used for the foefire attack of the Virus.
+-->
+<effect>
+ <particle position-x="0" position-y="0" position-z="16" lifetime="25">
+ <emitter>
+ <property name="position-x" min="0" max="0"/>
+ <property name="position-y" min="-8" max="-8"/>
+ <property name="horizontal-angle" min="80" max="100"/>
+ <property name="vertical-angle" min="-20" max="20"/>
+ <property name="power" min="1" max="1.5"/>
+ <property name="momentum" value="0.99"/>
+ <property name="gravity" value="-0.02"/>
+ <animation imageset="graphics/particles/mist-face-b.particle.png|W:#00FF22" width="30" height="30">
+ <frame index="0" delay="20"/>
+ <frame index="1" delay="30"/>
+ <frame index="2" delay="35"/>
+ <frame index="3" delay="45"/>
+ <frame index="2" delay="105"/>
+ <frame index="3" delay="9999"/>
+ </animation>
+ <property name="lifetime" min="0" max="110"/>
+ <property name="output" min="5" max="10"/>
+ <property name="fade-in" value="0"/>
+ <property name="fade-out" value="90"/>
+ </emitter>
+ </particle>
+</effect>
diff --git a/graphics/sprites/equipment/weapons/sandcutter.png b/graphics/sprites/equipment/weapons/sandcutter.png
new file mode 100644
index 00000000..2b6d1654
--- /dev/null
+++ b/graphics/sprites/equipment/weapons/sandcutter.png
Binary files differ
diff --git a/graphics/sprites/equipment/weapons/sandcutter.xml b/graphics/sprites/equipment/weapons/sandcutter.xml
new file mode 100644
index 00000000..854e1f57
--- /dev/null
+++ b/graphics/sprites/equipment/weapons/sandcutter.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0"?>
+<sprite>
+ <imageset name="sword" src="graphics/sprites/equipment/weapons/sandcutter.png" width="64" height="64"/>
+ <action name="default" imageset="sword">
+ </action>
+ <action name="stand" imageset="sword">
+ <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="sword">
+ <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="sword">
+ <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="dead" imageset="sword">
+ <animation direction="down">
+ <frame index="8" offsetX="0" offsetY="32"/>
+ </animation>
+ <animation direction="left">
+ <frame index="8" offsetX="0" offsetY="32"/>
+ </animation>
+ <animation direction="up">
+ <frame index="8" offsetX="0" offsetY="32"/>
+ </animation>
+ <animation direction="right">
+ <frame index="8" offsetX="0" offsetY="32"/>
+ </animation>
+ </action>
+ <action name="attack" imageset="sword">
+ <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>
+</sprite>
diff --git a/graphics/sprites/monsters/virus.png b/graphics/sprites/monsters/virus.png
new file mode 100644
index 00000000..e0f072ae
--- /dev/null
+++ b/graphics/sprites/monsters/virus.png
Binary files differ
diff --git a/graphics/sprites/monsters/virus.xml b/graphics/sprites/monsters/virus.xml
new file mode 100644
index 00000000..2cb4d627
--- /dev/null
+++ b/graphics/sprites/monsters/virus.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Authors: Micksha
+Copyright (C) 2011-2020 Evol Online -->
+<sprite>
+ <imageset name="mob" src="graphics/sprites/monsters/virus.png" width="48" height="48"/>
+ <action name="spawn" imageset="mob">
+ <animation direction="default">
+ <sequence start="156" end="161" delay="100"/>
+ </animation>
+ </action>
+ <action name="stand" imageset="mob">
+ <animation direction="down">
+ <frame index="0"/>
+ </animation>
+ <animation direction="downleft">
+ <frame index="7"/>
+ </animation>
+ <animation direction="left">
+ <frame index="6"/>
+ </animation>
+ <animation direction="upleft">
+ <frame index="5"/>
+ </animation>
+ <animation direction="up">
+ <frame index="4"/>
+ </animation>
+ <animation direction="upright">
+ <frame index="3"/>
+ </animation>
+ <animation direction="right">
+ <frame index="2"/>
+ </animation>
+ <animation direction="downright">
+ <frame index="1"/>
+ </animation>
+ </action>
+ <action name="walk" imageset="mob">
+ <animation direction="down">
+ <sequence start="12" end="23" delay="100"/>
+ </animation>
+ <animation direction="downleft">
+ <sequence start="96" end="107" delay="100"/>
+ </animation>
+ <animation direction="left">
+ <sequence start="84" end="95" delay="100"/>
+ </animation>
+ <animation direction="upleft">
+ <sequence start="72" end="83" delay="100"/>
+ </animation>
+ <animation direction="up">
+ <sequence start="60" end="71" delay="100"/>
+ </animation>
+ <animation direction="upright">
+ <sequence start="48" end="59" delay="100"/>
+ </animation>
+ <animation direction="right">
+ <sequence start="36" end="47" delay="100"/>
+ </animation>
+ <animation direction="downright">
+ <sequence start="24" end="35" delay="100"/>
+ </animation>
+ </action>
+ <action name="attack" imageset="mob">
+ <animation direction="down">
+ <sequence start="108" end="112" delay="70"/>
+ <end/>
+ </animation>
+ <animation direction="downleft">
+ <sequence start="149" end="153" delay="70"/>
+ <end/>
+ </animation>
+ <animation direction="left">
+ <sequence start="144" end="148" delay="70"/>
+ <end/>
+ </animation>
+ <animation direction="upleft">
+ <sequence start="137" end="141" delay="70"/>
+ <end/>
+ </animation>
+ <animation direction="up">
+ <sequence start="132" end="136" delay="70"/>
+ <end/>
+ </animation>
+ <animation direction="upright">
+ <sequence start="125" end="129" delay="70"/>
+ <end/>
+ </animation>
+ <animation direction="right">
+ <sequence start="120" end="124" delay="70"/>
+ <end/>
+ </animation>
+ <animation direction="downright">
+ <sequence start="113" end="117" delay="70"/>
+ <end/>
+ </animation>
+ </action>
+ <action name="dead" imageset="mob">
+ <animation direction="default">
+ <sequence start="162" end="166" delay="100"/>
+ <frame index="154"/>
+ <end/>
+ </animation>
+ </action>
+</sprite>
diff --git a/items/equip-1hand/_include.xml b/items/equip-1hand/_include.xml
index acb77858..93211993 100644
--- a/items/equip-1hand/_include.xml
+++ b/items/equip-1hand/_include.xml
@@ -12,6 +12,7 @@
<include name="items/equip-1hand/item549_Axe.xml"/>
<include name="items/equip-1hand/item570_BoneKnife.xml"/>
<include name="items/equip-1hand/item571_Setzer.xml"/>
+ <include name="items/equip-1hand/item578_SandCutter.xml"/>
<include name="items/equip-1hand/item579_RockKnife.xml"/>
<include name="items/equip-1hand/item587_Sword.xml"/>
<include name="items/equip-1hand/item591_LongSword.xml"/>
diff --git a/items/equip-1hand/item578_SandCutter.xml b/items/equip-1hand/item578_SandCutter.xml
new file mode 100644
index 00000000..1b78e10c
--- /dev/null
+++ b/items/equip-1hand/item578_SandCutter.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<items>
+ <its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
+ <its:translateRule selector="//item/@name" translate="yes"/>
+ <its:translateRule selector="//item/@description" translate="yes"/>
+ <its:translateRule selector="//item/@effect" translate="yes"/>
+ <its:translateRule selector="//*" translate="no"/>
+ </its:rules>
+ <item id="578" image="equipment/weapon/sword-sandcutter.png" name="Sand Cutter" description="An ancient longsword with moon-shaped blade, frequently used by desert night warriors." attack="130" type="equip-1hand" attack-action="attack" attack-range="2" weight="1500" sellProtected="true">
+ <sprite gender="unisex">equipment/weapons/sandcutter.xml</sprite>
+ <sound event="hit">weapons/swords/sandcutter-hit7.ogg</sound>
+ <sound event="hit">weapons/swords/sandcutter-hit8.ogg</sound>
+ <sound event="hit">weapons/swords/sandcutter-hit9.ogg</sound>
+ <sound event="miss">weapons/swords/short-sword-miss1.ogg</sound>
+ </item>
+</items>
diff --git a/items/equip-2hand/item878_BansheeBow.xml b/items/equip-2hand/item878_BansheeBow.xml
index 53dd6ed1..5282ba53 100644
--- a/items/equip-2hand/item878_BansheeBow.xml
+++ b/items/equip-2hand/item878_BansheeBow.xml
@@ -6,7 +6,7 @@
<its:translateRule selector="//item/@effect" translate="yes"/>
<its:translateRule selector="//*" translate="no"/>
</its:rules>
- <item id="878" image="equipment/weapon/bow-bansheebow.png" name="Banshee Bow" description="A bow that has been enchanted by the dark powers of a witch." effect="Attack Speed +20% / Defense -40% / VIT Defense -35% / Vanishes HP by 4% of damages dealt" type="equip-2hand" req-dex="80+" maxhp="-150" attack-action="attack_bow" attack-range="6" criticalattack="70" attack="85" level="90" weight="900" missile-particle="graphics/particles/arrow-banshee.particle.xml" sellProtected="true">
+ <item id="878" image="equipment/weapon/bow-bansheebow.png" name="Banshee Bow" description="A bow that has been enchanted by the dark powers of a witch." effect="Attack Speed +20% / Defense -40% / VIT Defense -35% / Walk Speed +10% / Vanishes HP by 2% of damages dealt" type="equip-2hand" req-dex="80+" maxhp="-150" attack-action="attack_bow" attack-range="6" attack="140" level="90" weight="900" missile-particle="graphics/particles/arrow-banshee.particle.xml" sellProtected="true">
<sprite gender="unisex">equipment/weapons/bow-banshee.xml|#27113e,7442a7,b498d1</sprite>
<sprite gender="female">equipment/weapons/bow-banshee-female.xml|#27113e,7442a7,b498d1</sprite>
</item>
diff --git a/items/equip-arms/item756_AssassinGloves.xml b/items/equip-arms/item756_AssassinGloves.xml
index bbc49d19..54a6ab14 100644
--- a/items/equip-arms/item756_AssassinGloves.xml
+++ b/items/equip-arms/item756_AssassinGloves.xml
@@ -6,7 +6,7 @@
<its:translateRule selector="//item/@effect" translate="yes"/>
<its:translateRule selector="//*" translate="no"/>
</its:rules>
- <item id="756" image="equipment/hands/assassingloves.png" name="Assassin Gloves" description="Gloves for a master assassin." mattack="-3" type="equip-arms" defense="5" agi="5" weight="9" sellProtected="true">
+ <item id="756" image="equipment/hands/assassingloves.png" name="Assassin Gloves" description="Gloves for a master assassin." mattack="-3" type="equip-arms" defense="3" agi="4" weight="9" sellProtected="true">
<sprite gender="unisex">equipment/hands/assassin.xml</sprite>
<sprite gender="female">equipment/hands/assassin-female.xml</sprite>
</item>
diff --git a/items/equip-feet/item757_AssassinBoots.xml b/items/equip-feet/item757_AssassinBoots.xml
index 6ace272f..20f1b5e8 100644
--- a/items/equip-feet/item757_AssassinBoots.xml
+++ b/items/equip-feet/item757_AssassinBoots.xml
@@ -6,7 +6,7 @@
<its:translateRule selector="//item/@effect" translate="yes"/>
<its:translateRule selector="//*" translate="no"/>
</its:rules>
- <item id="757" image="equipment/feet/assassinboots.png" name="Assassin Boots" description="Boots for a master assassin." mattack="-3" type="equip-feet" defense="5" agi="5" weight="10" sellProtected="true">
+ <item id="757" image="equipment/feet/assassinboots.png" name="Assassin Boots" description="Boots for a master assassin." mattack="-3" type="equip-feet" defense="3" agi="4" weight="10" sellProtected="true">
<sprite gender="unisex">equipment/feet/assassin-boots.xml</sprite>
<sprite gender="female">equipment/feet/assassin-boots-female.xml</sprite>
</item>
diff --git a/items/equip-torso/item731_AssassinPants.xml b/items/equip-torso/item731_AssassinPants.xml
index 83255f13..8e1b7de1 100644
--- a/items/equip-torso/item731_AssassinPants.xml
+++ b/items/equip-torso/item731_AssassinPants.xml
@@ -6,7 +6,7 @@
<its:translateRule selector="//item/@effect" translate="yes"/>
<its:translateRule selector="//*" translate="no"/>
</its:rules>
- <item id="731" image="equipment/legs/assassinpants.png" name="Assassin Pants" description="Pants for a master assassin." mattack="-5" type="equip-torso" defense="5" agi="8" weight="20" sellProtected="true">
+ <item id="731" image="equipment/legs/assassinpants.png" name="Assassin Pants" description="Pants for a master assassin." mattack="-5" type="equip-torso" defense="4" agi="5" weight="20" sellProtected="true">
<sprite gender="unisex">equipment/legs/assassin.xml</sprite>
<sprite gender="female">equipment/legs/assassin-female.xml</sprite>
</item>
diff --git a/items/equip-torso/item755_AssassinShirt.xml b/items/equip-torso/item755_AssassinShirt.xml
index 1d22c604..33dd812b 100644
--- a/items/equip-torso/item755_AssassinShirt.xml
+++ b/items/equip-torso/item755_AssassinShirt.xml
@@ -6,7 +6,7 @@
<its:translateRule selector="//item/@effect" translate="yes"/>
<its:translateRule selector="//*" translate="no"/>
</its:rules>
- <item id="755" image="equipment/chest/assassintop.png" name="Assassin Shirt" description="Shirt for a master assassin." mattack="-5" type="equip-torso" defense="10" agi="10" weight="15" sellProtected="true">
+ <item id="755" image="equipment/chest/assassintop.png" name="Assassin Shirt" description="Shirt for a master assassin." effect="Walk Speed +10%" mattack="-5" type="equip-torso" defense="15" agi="15" weight="15" sellProtected="true">
<sprite gender="unisex">equipment/chest/assassin.xml</sprite>
<sprite gender="female">equipment/chest/assassin-female.xml</sprite>
</item>
diff --git a/license.md b/license.md
index 10d0c8cf..9380bc23 100644
--- a/license.md
+++ b/license.md
@@ -907,6 +907,7 @@ File | Artists | Licenses
`graphics/sprites/monsters/troll.png` | FotherJ | GPLv2, CC BY-SA 3.0
`graphics/sprites/monsters/vampire-bat.png` | Meway | GPLv2
`graphics/sprites/monsters/vespa.png` | Arikel | GPLv2, CC BY-SA 3.0
+`graphics/sprites/monsters/virus.png` | Hocus | GPLv2, CC BY-SA 3.0
`graphics/sprites/monsters/wisp.png` | Crush | GPLv2, CC BY-SA 3.0
`graphics/sprites/monsters/wolvern.png` | Pateame | GPLv2
`graphics/sprites/monsters/yeti.png` | Bcs86, Hkurn, Skipy | GPLv2
@@ -1156,6 +1157,9 @@ File | Artists | Licenses
`sfx/weapons/swords/longsword-miss1.ogg` | Krazyjakee | GPLv2
`sfx/weapons/swords/rapier-hit1.ogg` | Krazyjakee | GPLv2
`sfx/weapons/swords/sabre-hit1.ogg` | Krazyjakee | GPLv2
+`sfx/weapons/swords/sandcutter-hit7.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0
+`sfx/weapons/swords/sandcutter-hit8.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0
+`sfx/weapons/swords/sandcutter-hit9.ogg` | Ledmitz | GPLv2, CC BY-SA 3.0
`sfx/weapons/swords/short-sword-hit1.ogg` | Cosmostrator | GPLv2
`sfx/weapons/swords/short-sword-miss1.ogg` | Cosmostrator | GPLv2
diff --git a/monsters/_include.xml b/monsters/_include.xml
index 5e472147..d149e455 100644
--- a/monsters/_include.xml
+++ b/monsters/_include.xml
@@ -133,4 +133,5 @@
<include name="monsters/monster1136_LesserGhost.xml"/>
<include name="monsters/monster1137_Tormenta.xml"/>
<include name="monsters/monster1138_ManaGuardian.xml"/>
+ <include name="monsters/monster1139_Virus.xml"/>
</monsters>
diff --git a/monsters/monster1139_Virus.xml b/monsters/monster1139_Virus.xml
new file mode 100644
index 00000000..ba8067e0
--- /dev/null
+++ b/monsters/monster1139_Virus.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<monsters offset="0">
+ <monster id="1139" name="Virus">
+ <sprite>monsters/virus.xml</sprite>
+ <sound event="hit">monsters/slime/slime-hit1.ogg</sound>
+ <attack id="1" missile-particle="graphics/particles/monster-virus-foefire.particle.xml" action="attack"/>
+ </monster>
+</monsters>
diff --git a/sfx/weapons/swords/sandcutter-hit7.ogg b/sfx/weapons/swords/sandcutter-hit7.ogg
new file mode 100644
index 00000000..ab89739f
--- /dev/null
+++ b/sfx/weapons/swords/sandcutter-hit7.ogg
Binary files differ
diff --git a/sfx/weapons/swords/sandcutter-hit8.ogg b/sfx/weapons/swords/sandcutter-hit8.ogg
new file mode 100644
index 00000000..6b1a161a
--- /dev/null
+++ b/sfx/weapons/swords/sandcutter-hit8.ogg
Binary files differ
diff --git a/sfx/weapons/swords/sandcutter-hit9.ogg b/sfx/weapons/swords/sandcutter-hit9.ogg
new file mode 100644
index 00000000..4a477289
--- /dev/null
+++ b/sfx/weapons/swords/sandcutter-hit9.ogg
Binary files differ