New monsters and items; balancing will be required
authorMartin Read <martin@blackswordsonics.com>
Thu, 13 Feb 2014 17:20:40 +0000 (17:20 +0000)
committerMartin Read <martin@blackswordsonics.com>
Thu, 13 Feb 2014 17:20:40 +0000 (17:20 +0000)
* display-nc.cc: Updated symbol help to reflect new demon symbols
* pmon_comp: added new flags
* permon.hh: added new flags, added prototypes for test functions (not implemented yet)
* default.permobjs: New items
* default.permons: New items

default.permobjs
default.permons
display-nc.cc
permon.hh
pmon_comp

index 1847bbc..b6858e2 100644 (file)
@@ -1,3 +1,27 @@
+# default.permobjs - preferred form of modification for Victrix Abyssi permobj database 
+# Copyright 2014 Martin Read.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
 WEAPON dagger
 PLURAL daggers
 DESC A long knife, designed for stabbing.
@@ -46,9 +70,35 @@ POWER2 0
 DEPTH 12
 DAMAGEABLE
 
+WEAPON hellglaive
+PLURAL hellglaives
+DESC A black-hafted polearm with a long, wickedly serrated blade. It thrums with infernal power.
+RARITY 80
+ASCII ')'
+UTF8 ")"
+COLOUR d_grey
+POWER 25
+POWER2 0
+DEPTH 30
+NOTIFY_EQUIP
+DAMAGEABLE
+BREAK_REACT
+
+WEAPON plague scythe
+PLURAL plague sycthes
+DESC The few exposed patches of metal on this reeking, filth-encrusted scythe bear an iridescent patina. Only the memory of your battle with its wielder hints at the power it holds.
+RARITY 100
+ASCII ')'
+UTF8 ")"
+COLOUR l_green
+POWER 20
+POWER2 0
+DEPTH 30
+NOTIFY_EQUIP
+
 WEAPON tormentor's lash
 PLURAL tormentor's lashes
-DESC A bone-handled whip that crackles with malefic energies.
+DESC A whip of pale, soft leather that crackles with malefic energies.
 RARITY 80
 ASCII ')'
 UTF8 ")"
@@ -60,6 +110,18 @@ NOTIFY_EQUIP
 DAMAGEABLE
 BREAK_REACT
 
+WEAPON death staff
+PLURAL death staves
+DESC A jet-black staff crowned with a skull.
+RARITY 80
+ASCII ')'
+UTF8 ")"
+COLOUR d_grey
+POWER 18
+POWER2 0
+DEPTH 30
+NOTIFY_EQUIP
+
 WEAPON staff of fire
 PLURAL staves of fire
 DESC A jet-black staff with a red glowing gem in its headpiece.
@@ -380,6 +442,18 @@ POWER2 0
 DEPTH 30
 NOTIFY_EQUIP
 
+ARMOUR infernite armour
+PLURAL suits of infernite armour
+DESC Crafted by Verant, or perhaps one of his hellish apprentices, after his fall from the light, this armour was ancient before your ancestors even came to the lands called Söťerek.
+RARITY 100
+ASCII '['
+UTF8 "["
+COLOUR red
+POWER 25
+POWER2 20
+DEPTH 30
+NOTIFY_EQUIP
+
 # Mr Read would like to note that he invented the following item and its
 # game mechanics *before* becoming aware of the anime series _Kill la Kill_.
 #
@@ -456,6 +530,40 @@ POWER 0
 POWER2 0
 DEPTH 1
 
+RING slime ring
+PLURAL slime rings
+DESC This magical ring, tarnished and filth-spotted, protects its wearer from a poison and pestilence, whether magical or natural.
+RARITY 75
+ASCII '='
+UTF8 "="
+COLOUR l_grey
+POWER 0
+POWER2 0
+DEPTH 15
+
+RING protection ring
+PLURAL protection rings
+DESC This magical ring, engraved with the sigil of Verant the Smith, substantially reduces the severity of all injuries its wearer suffers.
+RARITY 75
+ASCII '='
+UTF8 "="
+COLOUR l_grey
+POWER 0
+POWER2 0
+DEPTH 15
+
+RING imperial seal
+PLURAL imperial seals
+DESC This rarest and most ancient of magical rings was forged in the days before the Archon Inferni was imprisoned in this dismal place. Of the nature of its power, there are not even rumours.
+RARITY 100
+ASCII '='
+UTF8 "="
+COLOUR purple
+POWER 0
+POWER2 0
+DEPTH 30
+NOTIFY_EQUIP
+
 FOOD iron ration
 PLURAL iron rations
 DESC A parcel of hardtack and beef jerky. Dull but nutritious.
index aed7925..7201328 100644 (file)
@@ -1,3 +1,26 @@
+# default.permons - preferred form of modification for Victrix Abyssi permon database 
+# Copyright 2014 Martin Read.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 monster newt
 ascii 'n'
 utf8 "n"
@@ -12,6 +35,8 @@ defence 1
 exp 1
 speed 0
 STUPID
+SMALL
+QUADRUPED
 
 monster rat
 ascii 'r'
@@ -27,6 +52,8 @@ defence 4
 exp 2
 speed 2
 STUPID
+SMALL
+QUADRUPED
 
 monster wolf
 plural wolves
@@ -42,6 +69,7 @@ mdam 10
 defence 6
 exp 15
 speed 2
+QUADRUPED
 
 monster snake
 desc Probably venomous. You'd prefer to not find out.
@@ -57,6 +85,7 @@ defence 9
 experience 40
 speed 2
 STUPID
+SERPENTINE
 
 monster thug
 desc Likes pushing people's faces through the backs of their heads.
@@ -71,6 +100,7 @@ mdam 5
 defence 4
 experience 5
 speed 1
+HUMANOID
 
 monster goon
 desc Really good at pushing people's faces through the backs of their heads.
@@ -85,6 +115,7 @@ mdam 7
 defence 8
 experience 10
 speed 1
+HUMANOID
 
 monster hunter
 desc More at home in other people's forests, the glint in his eye as he nocks an arrow tells you princesses are in season.
@@ -103,6 +134,7 @@ defence 10
 experience 50
 speed 1
 ARCHER
+HUMANOID
 
 monster duellist
 desc A talented swordsman with a fondness for single combat.
@@ -118,6 +150,7 @@ defence 15
 experience 130
 speed 1
 SMART
+HUMANOID
 
 monster warlord
 desc A truly exceptional warrior, strong of arm and fleet of foot.
@@ -133,6 +166,7 @@ defence 20
 experience 400
 speed 2
 SMART
+HUMANOID
 
 monster goblin
 desc A short, scrawny humanoid with no love for surface folk.
@@ -147,6 +181,7 @@ mdam 3
 defence 3
 experience 3
 speed 1
+HUMANOID
 
 monster bad elf
 plural bad elves
@@ -163,6 +198,7 @@ defence 8
 experience 15
 speed 2
 SMART
+HUMANOID
 
 monster troll
 desc Half again as tall as a tall Kafdaran, this lanky green-skinned humanoid is notorious for its indiscriminate appetite. Best do what you can to keep princess off the menu.
@@ -178,6 +214,8 @@ defence 13
 experience 150
 speed 1
 STUPID
+HUMANOID
+HUGE
 
 monster giant
 desc Half again as tall as a towering troll, and scarcely smarter.
@@ -193,6 +231,8 @@ defence 20
 experience 500
 speed 1
 STUPID
+HUMANOID
+HUGE
 
 monster giant jarl
 desc A rarity among giants, this one has used its great strength and unusually sharp wits to persuade its dimmer brethren to obey.
@@ -207,6 +247,8 @@ mdam 30
 defence 22
 experience 1000
 speed 1
+HUMANOID
+HUGE
 
 monster wizard
 desc A practitioner of the arcane arts. Beware his command over the power of the storm!
@@ -227,6 +269,7 @@ experience 200
 speed 1
 SMART
 MAGICIAN
+HUMANOID
 
 monster archmage
 plural archmagi
@@ -249,6 +292,7 @@ speed 1
 SMART
 MAGICIAN
 RESIST_ELEC
+HUMANOID
 
 monster zombie
 desc A half-rotted corpse, galvanized to a mockery of life by forbidden magic.
@@ -268,6 +312,7 @@ UNDEAD
 RESIST_COLD
 RESIST_POIS
 RESIST_NECR
+HUMANOID
 
 monster wraith
 desc The ethereal remnant of some long-dead unfortunate, wracked with eternal hunger for the light that shines within the living. No obstacle can bar its path.
@@ -284,9 +329,11 @@ experience 100
 speed 0
 SMART
 UNDEAD
+ETHEREAL
 RESIST_COLD
 RESIST_POIS
 RESIST_NECR
+HUMANOID
 
 monster lich
 plural liches
@@ -312,6 +359,7 @@ RESIST_COLD
 RESIST_POIS
 RESIST_NECR
 MAGICIAN
+HUMANOID
 
 monster master lich
 plural master liches
@@ -337,6 +385,7 @@ RESIST_COLD
 RESIST_POIS
 RESIST_NECR
 MAGICIAN
+HUMANOID
 
 monster vampire
 desc A gaunt red-eyed figure with throat-tearing fangs, afflicted by an eternal hunger for the blood of the living.
@@ -356,6 +405,25 @@ UNDEAD
 RESIST_COLD
 RESIST_POIS
 RESIST_NECR
+HUMANOID
+
+monster fire imp
+desc A small, bat-winged humanoid with a flame-tipped tail, spawned in some fiery corner of the Hells.
+ascii '4'
+utf8 "4"
+colour red
+rarity 60
+power 9
+hp 20
+mhit 10
+mdam 10
+defence 12
+experience 30
+speed 2
+DEMONIC
+RESIST_FIRE
+FLYING
+HUMANOID
 
 monster demon
 desc A red-skinned and long-taloned horror spat up from some corner or other of the Hells. Presented with prey, it is quick to call its brethren into the world.
@@ -373,6 +441,7 @@ speed 1
 SMART
 DEMONIC
 RESIST_FIRE
+HUMANOID
 
 monster defiler
 desc Whatever shape this hellish horror has, it can scarcely be seen through the foetid green haze that surrounds it.
@@ -391,6 +460,61 @@ SMART
 DEMONIC
 MAGICIAN
 RESIST_POIS
+AMORPHOUS
+
+monster putrid emissary
+desc The stench of decay and pestilence hangs heavily around this misshapen figure in stained, half-rotted rags. It wields its scythe with an air of deadly purpose.
+ascii '1'
+utf8 "1"
+colour l_green
+rarity 90
+hp 250
+mhit 20
+mdam 20
+defence 20
+experience 5000
+speed 1
+SMART
+DEMONIC
+RESIST_POIS
+HUMANOID
+
+monster tormentor
+desc The faceless violet-skinned figure before you wears a strangely cut garment of pale, supple leather which would be far beyond the limits of decency if there were any indecent parts to reveal. With one hand it beckons to you, while from the other it trails a long whip of the same leather as its garment.
+ascii '1'
+utf8 "1"
+colour purple
+rarity 90
+hp 150
+mhit 50
+mdam 10
+defence 25
+experience 5000
+speed 2
+SMART
+DEMONIC
+RESIST_POIS
+HUMANOID
+
+monster iron lord
+desc This loyal and unwavering servant of Verant, Great Smith of the Hells, bears arms and armour from its master's forges. Fear the iron lord!
+ascii '1'
+utf8 "1"
+colour iron
+rarity 90
+hp 300
+mhit 30
+mdam 30
+defence 30
+experience 5000
+speed 1
+SMART
+DEMONIC
+RESIST_POIS
+RESIST_FIRE
+RESIST_COLD
+RESIST_SLAM
+HUMANOID
 
 monster centaur
 desc A strange magical hybrid of horse and man.
@@ -405,6 +529,7 @@ mdam 10
 defence 10
 experience 50
 speed 2
+CENTAUROID
 
 monster ice monster
 desc A ponderous, shambling half-humanoid figure of ice and snow.
@@ -425,6 +550,7 @@ experience 35
 speed 0
 RESIST_COLD
 ARCHER
+HUMANOID
 
 monster dragon
 desc A bulky beast of scales and fangs and fumes, capable of spewing searing flames to roast its enemies and rumoured to have a preference for char-grilled princess.
@@ -445,6 +571,8 @@ experience 300
 speed 1
 RESIST_FIRE
 ARCHER
+QUADRUPED
+HUGE
 
 monster moondrake
 desc A bat-winged serpent with eyes that shimmer like quicksilver and a breath that chills the living to the bone.
@@ -466,4 +594,6 @@ speed 2
 RESIST_FIRE
 RESIST_COLD
 RESIST_NECR
+FLYING
 ARCHER
+SERPENTINE
index d028419..65c1d92 100644 (file)
@@ -1330,7 +1330,7 @@ void print_help(void)
     print_msg("?   a scroll\n");
     print_msg("!   a potion\n");
     print_msg("%%   some food\n");
-    print_msg("&   a demon\n");
+    print_msg("1-4 demons (smaller numbers are stronger)\n");
     print_msg("\nMost other monsters are shown as letters.\n");
     print_msg("\nThis is all the help you get. Good luck!\n");
 }
index aac0697..9b8c058 100644 (file)
--- a/permon.hh
+++ b/permon.hh
 #define PMF_STUPID      0x00200000
 #define PMF_ETHEREAL    0x00400000
 #define PMF_FLYING      0x00800000
+#define PMF_HUMANOID    0x01000000
+#define PMF_CENTAUROID  0x02000000
+#define PMF_SERPENTINE  0x04000000
+#define PMF_AMORPHOUS   0x08000000
+#define PMF_QUADRUPED   0x10000000
+#define PMF_SKITTERISH  0x20000000
+#define PMF_HUGE        0x40000000
+#define PMF_SMALL       0x80000000
 
-#define PERMON_FLAG_FIELDS 1
+#define PERMON_FLAG_FIELDS 2
 struct Permon {
     char const *name;
     char const *plural;
@@ -89,16 +97,28 @@ extern bool pmon_is_archer(int pm);
 extern bool pmon_is_magician(int pm);
 extern bool pmon_is_smart(int pm);
 extern bool pmon_is_stupid(int pm);
-extern bool pmon_is_undead(int pm);
+
 extern bool pmon_resists_cold(int pm);
 extern bool pmon_resists_fire(int pm);
 extern bool pmon_resists_poison(int pm);
 extern bool pmon_resists_necro(int pm);
 extern bool pmon_resists_elec(int pm);
 extern bool pmon_resists_drowning(int pm);
+extern bool pmon_resists_knockback(int pm);
+
 extern bool pmon_can_fly(int pm);
+
 extern bool pmon_is_ethereal(int pm);
-extern bool pmon_resists_knockback(int pm);
+extern bool pmon_is_undead(int pm);
+extern bool pmon_is_demonic(int pm);
+
+extern bool pmon_has_hands(int pm);
+extern bool pmon_is_humanoid(int pm);
+extern bool pmon_is_quadruped(int pm);
+extern bool pmon_is_skitterish(int pm);
+extern bool pmon_is_amorphous(int pm);
+extern bool pmon_is_huge(int pm);
+extern bool pmon_is_small(int pm);
 
 #endif
 
index ac55ef8..e2405e1 100755 (executable)
--- a/pmon_comp
+++ b/pmon_comp
@@ -29,7 +29,15 @@ our %flag_indices =
     'SMART' => 0,
     'STUPID' => 0,
     'ETHEREAL' => 0,
-    'FLYING' => 0
+    'FLYING' => 0,
+    'HUMANOID' => 0,
+    'CENTAUROID' => 0,
+    'SERPENTINE' => 0,
+    'AMORPHOUS' => 0,
+    'QUADRUPED' => 0,
+    'SKITTERISH' => 0,
+    'HUGE' => 0,
+    'SMALL' => 0,
 );