+# 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.
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 ")"
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.
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_.
#
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.
+# 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"
exp 1
speed 0
STUPID
+SMALL
+QUADRUPED
monster rat
ascii 'r'
exp 2
speed 2
STUPID
+SMALL
+QUADRUPED
monster wolf
plural wolves
defence 6
exp 15
speed 2
+QUADRUPED
monster snake
desc Probably venomous. You'd prefer to not find out.
experience 40
speed 2
STUPID
+SERPENTINE
monster thug
desc Likes pushing people's faces through the backs of their heads.
defence 4
experience 5
speed 1
+HUMANOID
monster goon
desc Really good at pushing people's faces through the backs of their heads.
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.
experience 50
speed 1
ARCHER
+HUMANOID
monster duellist
desc A talented swordsman with a fondness for single combat.
experience 130
speed 1
SMART
+HUMANOID
monster warlord
desc A truly exceptional warrior, strong of arm and fleet of foot.
experience 400
speed 2
SMART
+HUMANOID
monster goblin
desc A short, scrawny humanoid with no love for surface folk.
defence 3
experience 3
speed 1
+HUMANOID
monster bad elf
plural bad elves
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.
experience 150
speed 1
STUPID
+HUMANOID
+HUGE
monster giant
desc Half again as tall as a towering troll, and scarcely smarter.
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.
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!
speed 1
SMART
MAGICIAN
+HUMANOID
monster archmage
plural archmagi
SMART
MAGICIAN
RESIST_ELEC
+HUMANOID
monster zombie
desc A half-rotted corpse, galvanized to a mockery of life by forbidden magic.
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.
speed 0
SMART
UNDEAD
+ETHEREAL
RESIST_COLD
RESIST_POIS
RESIST_NECR
+HUMANOID
monster lich
plural liches
RESIST_POIS
RESIST_NECR
MAGICIAN
+HUMANOID
monster master lich
plural master liches
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.
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.
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.
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.
defence 10
experience 50
speed 2
+CENTAUROID
monster ice monster
desc A ponderous, shambling half-humanoid figure of ice and snow.
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.
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.
RESIST_FIRE
RESIST_COLD
RESIST_NECR
+FLYING
ARCHER
+SERPENTINE
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");
}
#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;
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
'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,
);