view release on metacpan or search on metacpan
Deliantra.pm view on Meta::CPAN
path_attuned path_repelled path_denied material materialname
value carrying weight invisible state magic
last_heal last_sp last_grace last_eat
connected glow_radius randomitems tresure_env npx_status npc_program
run_away pick_up container will_apply smoothlevel
current_weapon_script weapontype tooltype elevation client_type
item_power duration range
range_modifier duration_modifier dam_modifier gen_sp_armour
move_type move_block move_allow move_on move_off move_on move_slow move_slow_penalty
alive wiz was_wiz applied unpaid can_use_shield no_pick is_animated monster
friendly generator is_thrown auto_apply treasure player sold see_invisible
can_roll overlay_floor is_turnable is_used_up identified reflecting changing
splitting hitback startequip blocksview undead scared unaggressive
reflect_missile reflect_spell no_magic no_fix_player is_lightable tear_down
run_away pick_up unique no_drop can_cast_spell can_use_scroll can_use_range
can_use_bow can_use_armour can_use_weapon can_use_ring has_ready_range
has_ready_bow xrays is_floor lifesave no_strength sleep stand_still
random_move only_attack confused stealth cursed damned see_anywhere
known_magical known_cursed can_use_skill been_applied has_ready_scroll
can_use_rod can_use_horn make_invisible inv_locked is_wooded is_hilly
Deliantra.pm view on Meta::CPAN
my $attr = { };
my $arch = $ARCH{ $obj->{_name} };
my $type = $obj->{type} || $arch->{type};
if ($type > 0) {
$root = $Deliantra::Data::ATTR{$type};
} else {
my %a = (%$arch, %$obj);
if ($a{is_floor} && !$a{alive}) {
$root = $Deliantra::Data::TYPE{Floor};
} elsif (!$a{is_floor} && $a{alive} && !$a{tear_down}) {
$root = $Deliantra::Data::TYPE{"Monster & NPC"};
} elsif (!$a{is_floor} && !$a{alive} && $a{move_block}) {
$root = $Deliantra::Data::TYPE{Wall};
} elsif (!$a{is_floor} && $a{alive} && $a{tear_down}) {
$root = $Deliantra::Data::TYPE{"Weak Wall"};
} else {
$root = $Deliantra::Data::TYPE{Misc};
}
}
my (%ignore);
my @import = ($root);
my @new_import;
Deliantra/Data.pm view on Meta::CPAN
'grace',
{
desc => 'Positive <grace regen.> bonus speeds up the player\'s grace regeneration. Negative values slow it down. Since grace can be regenerated rather easy with praying, additional <grace regen.> bonus should be VERY RARE!!',
name => 'grace regen.',
type => 'int'
}
],
[
'food',
{
desc => 'Positive <food bonus> slows down the player\'s digestion, thus he consumes less food. Negative values speed it up. Note that food is consumed not only for "being alive", but also for healing and mana-regeneration. <food bonus> only af...
name => 'food bonus',
type => 'int'
}
],
[
'xrays',
{
desc => 'Xray vision allows the player to see through obstacles in a two-square-wide radius. This is extremely helpful and desirable, so don\'t give it away for cheap on equipment.',
name => 'xray vision',
type => 'bool'
Deliantra/Data.pm view on Meta::CPAN
Door => {
attr => [
[
'no_pick',
{
type => 'fixed',
value => 1
}
],
[
'alive',
{
type => 'fixed',
value => 1
}
],
[
'move_block',
{
desc => 'Objects using these movement types cannot move over this space.',
name => 'blocked movement',
Deliantra/Data.pm view on Meta::CPAN
ignore => [
$IGNORE_LIST{non_pickable},
'connected'
],
name => 'Magic Wall',
section => [
[
'destroyable',
[
[
'alive',
{
desc => 'Walls with <is destroyable> enabled can be attacked and (eventually) destroyed by the player. If disabled, all other attributes on this tab, as well as resistances, are meaningless.',
name => 'is destroyable',
type => 'bool'
}
],
[
'hp',
{
desc => 'The more <hitpoints> the wall has, the longer it takes to be destroyed.',
Deliantra/Data.pm view on Meta::CPAN
],
desc => 'Items of the type Money are handled as currency. Money cannot be sold/bought in shops. When money is dropped in a shop, it stays the same.<br> When a player picks an item from a shop and attempts to walk over the shop mat, the item\'s se...
ignore => [
'unpaid'
],
name => 'Money'
},
'Monster & NPC' => {
attr => [
[
'alive',
{
type => 'fixed',
value => 1
}
],
[
'randomitems',
{
desc => 'When the monster is killed, items from the treasurelist will drop to the ground. This is a common way to reward players for killing (masses of) monsters. Note that you can always put items into the monster\'s inventory. Those will drop-at...
name => 'treasurelist',
Deliantra/Data.pm view on Meta::CPAN
}
]
],
desc => 'Wands contain a certain spell. The player can apply (ready) and fire the wand. After a defined number of casts, the wand is "used up". It is possible to recharge a wand with scrolls of charging, but usually that isn\'t worth the cost.',
name => 'Wand & Staff',
use => 'Wands are quite seldomly used. The reason prolly is that they\'re generally not cost-efficient. Handing out high-level wands with powerful special spells isn\'t a good idea either, because of the recharge ability. <br><br> For low levels,...
},
'Weak Wall' => {
attr => [
[
'alive',
{
type => 'fixed',
value => 1
}
],
[
'no_pick',
{
type => 'fixed',
value => 1
Deliantra/Data.pm view on Meta::CPAN
'grace',
{
desc => 'Positive <grace regen.> bonus speeds up the player\'s grace regeneration. Negative values slow it down. Since grace can be regenerated rather easy with praying, additional <grace regen.> bonus should be VERY RARE!!',
name => 'grace regen.',
type => 'int'
}
],
[
'food',
{
desc => 'Positive <food bonus> slows down the player\'s digestion, thus he consumes less food. Negative values speed it up. Note that food is consumed not only for "being alive", but also for healing and mana-regeneration. <food bonus> only af...
name => 'food bonus',
type => 'int'
}
],
[
'xrays',
{
desc => 'Xray vision allows the player to see through obstacles in a two-square-wide radius. This is extremely helpful and desirable, so don\'t give it away for cheap on equipment.',
name => 'xray vision',
type => 'bool'
res/types.xml view on Meta::CPAN
<attribute arch="grace" editor="grace regen." type="int">
Positive <grace regen.> bonus speeds up the
player's grace regeneration. Negative values slow it down.
Since grace can be regenerated rather easy with praying,
additional <grace regen.> bonus should be VERY RARE!!
</attribute>
<attribute arch="food" editor="food bonus" type="int">
Positive <food bonus> slows down the player's digestion,
thus he consumes less food. Negative values speed it up.
Note that food is consumed not only for "being alive", but
also for healing and mana-regeneration.
<food bonus> only affects the amount of food consumed
for "being alive". Hence, even with high <food bonus>,
during a fight a player can run out of food quickly.
</attribute>
<attribute arch="xrays" editor="xray vision" type="bool">
Xray vision allows the player to see through obstacles
in a two-square-wide radius. This is extremely helpful and
desirable, so don't give it away for cheap on equipment.
</attribute>
<attribute arch="stealth" editor="stealth" type="bool">
Stealth allows the player to move silently.
This comes to effect if a player turns himself
res/types.xml view on Meta::CPAN
<ignore>
<ignore_list name="non_pickable" />
</ignore>
<description><![CDATA[
A door can be opened with any normal key. It also can be broken by attacking
it, and it can be defeated with the lockpicking skill. If a door is
defeated, horizontally and vertically adjacent doors are automatically
removed.]]>
</description>
<attribute arch="no_pick" value="1" type="fixed" />
<attribute arch="alive" value="1" type="fixed" />
&movement_types_terrain;
<attribute arch="hp" editor="hitpoints" type="int">
The more <hitpoints> the door has, the longer it takes to be broken.
</attribute>
<attribute arch="ac" editor="armour class" type="int">
Doors of high <armour class> are less likely to get hit.
<armour class> can be considered the "counterpiece" to
<weapon class>.
</attribute>
<attribute arch="other_arch" editor="drop arch" type="string">
res/types.xml view on Meta::CPAN
&resistances_flesh_section;
<attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text">
This text may describe the item.
</attribute>
</type>
<!--####################################################################-->
<type number="0" name="Floor">
<required>
<attribute arch="is_floor" value="1" />
<attribute arch="alive" value="0" />
</required>
<ignore>
<ignore_list name="non_pickable" />
</ignore>
<description><![CDATA[
Floor is a very basic thing whithout too much
functionality. It's a floor - you stand on it.]]>
</description>
<attribute arch="is_floor" value="1" type="fixed" />
<attribute arch="no_pick" value="1" type="fixed" />
res/types.xml view on Meta::CPAN
trigger) via connected lever/button/etc, you must set "speed 0".
</attribute>
&speed_left;
<attribute arch="sp" editor="direction" type="list_direction">
The magic wall will cast it's spells always in the specified
<direction>. A magic wall with direction set to <none> will
always fire in a random direction.
</attribute>
&movement_types_terrain;
<section name="destroyable">
<attribute arch="alive" editor="is destroyable" type="bool">
Walls with <is destroyable> enabled can be attacked and (eventually)
destroyed by the player. If disabled, all other attributes on
this tab, as well as resistances, are meaningless.
</attribute>
<attribute arch="hp" editor="hitpoints" type="int">
The more <hitpoints> the wall has, the longer
it takes to be destroyed.
</attribute>
<attribute arch="maxhp" editor="max hitpoints" type="int">
<max hitpoints> are the maximum amount of hitpoints the wall
res/types.xml view on Meta::CPAN
For money, always use the default arches.
Don't modify them.]]>
</description>
<attribute arch="race" value="gold and jewels" type="fixed" />
</type>
<!--####################################################################-->
<type number="0" name="Monster & NPC">
<required>
<attribute arch="is_floor" value="0" />
<attribute arch="alive" value="1" />
<attribute arch="tear_down" value="0" />
</required>
<ignore>
<attribute arch="material" />
<attribute arch="name_pl" />
<attribute arch="nrof" />
<attribute arch="value" />
<attribute arch="unpaid" />
</ignore>
<description><![CDATA[
res/types.xml view on Meta::CPAN
hold. Design your maps in a way that high experience
is always well-defended. Don't make large rooms full with only one kind
of monster. Keep in mind the different abilities/techniques players
can use.
</UL>
I know it's impossible to make the perfectly balanced map. There's always
some part which is found too easy or too hard for a certain kind of player.
Just give it your best shot. And listen to feedback from players if you
receive some. :-)]]>
</use>
<attribute arch="alive" value="1" type="fixed" />
<attribute arch="randomitems" editor="treasurelist" type="treasurelist">
When the monster is killed, items from the treasurelist will
drop to the ground. This is a common way to reward players
for killing (masses of) monsters.
Note that you can always put items into the monster's
inventory. Those will drop-at-kill just like the stuff
from the <treasurelist>.
</attribute>
<attribute arch="treasure_env" editor="treasure in env" type="bool">
res/types.xml view on Meta::CPAN
In the moment when the player gets marked, this text is displayed
to him. You should really set a message in any marker you create,
because it's the only way for the player to notice what's going on.
</attribute>
</type>
<!--####################################################################-->
<type number="0" name="Wall">
<required>
<attribute arch="is_floor" value="0" />
<attribute arch="alive" value="0" />
<attribute arch="no_pass" value="1" />
</required>
<ignore>
<attribute arch="nrof" />
<attribute arch="title" />
<attribute arch="name_pl" />
<attribute arch="value" />
<attribute arch="unpaid" />
</ignore>
<description><![CDATA[
res/types.xml view on Meta::CPAN
</attribute>
<attribute arch_begin="msg" arch_end="endmsg" editor="description" type="text">
This text may contain a description of the wand.
</attribute>
</type>
<!--####################################################################-->
<type number="0" name="Weak Wall">
<required>
<attribute arch="is_floor" value="0" />
<attribute arch="alive" value="1" />
<attribute arch="tear_down" value="1" />
</required>
<ignore>
<ignore_list name="non_pickable" />
</ignore>
<description><![CDATA[
A weak wall is a breakable spot amidsts a solid wall. Typically
these weak walls look similar to their solid "relatives" except
for a small crack or little chunks of wall on the ground.]]>
</description>
<use><![CDATA[
If you want to create hidden rooms, using weak walls is alot
better than completely indiscernible passages in a wall.<br>
Anyways, there can be a lot more to weak walls than just finding
them: Rising their defensive stats, weak walls can become a
serious obstacle. An ice wall might only be torn down by a fire
attack for example. A granite wall for instance might be very
hard to destroy.]]>
</use>
<attribute arch="alive" value="1" type="fixed" />
<attribute arch="no_pick" value="1" type="fixed" />
<attribute arch="tear_down" value="1" type="fixed" />
<attribute arch="race" editor="race" type="string">
For weak walls, <race> should always be set to "wall",
unless you create something fancy like a building which
is in fact meant to be a huge animal.
Note that shovels slay walls, so they do tripple damage
against weak walls.
</attribute>
<attribute arch="level" editor="level" type="int">
res/types.xml view on Meta::CPAN
<attribute arch="grace" editor="grace regen." type="int">
Positive <grace regen.> bonus speeds up the
player's grace regeneration. Negative values slow it down.
Since grace can be regenerated rather easy with praying,
additional <grace regen.> bonus should be VERY RARE!!
</attribute>
<attribute arch="food" editor="food bonus" type="int">
Positive <food bonus> slows down the player's digestion,
thus he consumes less food. Negative values speed it up.
Note that food is consumed not only for "being alive", but
also for healing and mana-regeneration.
<food bonus> only affects the amount of food consumed
for "being alive". Hence, even with high <food bonus>,
during a fight a player can run out of food quickly.
</attribute>
<attribute arch="xrays" editor="xray vision" type="bool">
Xray vision allows the player to see through obstacles
in a two-square-wide radius. This is extremely helpful and
desirable, so don't give it away for cheap on equipment.
</attribute>
<attribute arch="stealth" editor="stealth" type="bool">
Stealth allows the player to move silently.
This comes to effect if a player turns himself