Tome of Death #155

Parent #5Owner #2Flags read, fertileSource QuestCore.db

Aliases: Tome of Death, deathtome

2 verbs · 19 properties · 0 children

Verbs

VerbSpecFlagsDefinerLines
titlethis none thisrxd#1551
ca*stthis on top of/on/onto/upon anyrxd#15567

Properties

PropertyDefinerFlagsOwnerValue
drop_failed_msg#5rc#2<clear>
drop_succeeded_msg#5rc#2<clear>
odrop_failed_msg#5rc#2<clear>
odrop_succeeded_msg#5rc#2<clear>
otake_succeeded_msg#5rc#2<clear>
otake_failed_msg#5rc#2<clear>
take_succeeded_msg#5rc#2<clear>
take_failed_msg#5rc#2<clear>
value_base#102r#28000.0
damage_base#102r#2<clear>
x_loc#102r#36<clear>
y_loc#102r#36<clear>
ansi_title#102r#36<clear>
obvious#102r#36<clear>
build_help#102rc#2<clear>
key#1c#20
aliases#1rc#2{"Tome of Death", "deathtome"}
description#1rc#2"[green]You see a large tome bound in heavy leather containing thousands of pages of magical text.[normal] [Spell: Death]"
object_size#1r#36{0, 0}

Ancestry

Ancestors (nearest first): #5 generic thing#102 subthing#1 Root Class

Children: none

Call graph

calls n155_1 #155:ca*st n6_18 #6:tell n155_1->n6_18 n155_0 #155:title n155_1->n155_0 n20_19 #20:match_object n155_1->n20_19 n52_0 #52:has_property n155_1->n52_0 n102_4 #102:title n155_1->n102_4

Source

title

Spec this none thisFlags rxdOwner #2Definer #155

Referenced by

Source

1return tostr("[yellow]", this.name, "[normal]");

ca*st

Spec this on top of/on/onto/upon anyFlags rxdOwner #2Definer #155

Referenced by

none

Source

1if ((this in player.contents) && (player.stats_current[2][3] >= 16.0))
2player:tell("You prepare to cast ", this:title(), "[normal]...");
3elseif (player.stats_current[2][3] < 16.0)
4player:tell("You do not have a high enough INT ability! This spell requires at least 16.0.");
5return;
6else
7player:tell("You are not carrying that.");
8return;
9endif
10target = $string_utils:match_object(iobjstr, player.location);
11if (!valid(target))
12player:tell("The target is invalid.");
13return;
14endif
15if ((((iobjstr == "me") || (iobjstr == "self")) || (iobjstr == "myself")) || (target == player))
16player:tell("You cannot cast this spell on yourself!");
17return;
18endif
19if (target in players())
20player:tell(target:title(), " is a player and cannot be the target of this spell!");
21return;
22endif
23if ($object_utils:has_property(target, "magic_immunity"))
24if (target.magic_immunity)
25player:tell(target:title(), " is immune to magic!");
26return;
27endif
28endif
29if (((target in player.location.contents) && $object_utils:has_property(target, "alive")) && $object_utils:has_property(target, "alert"))
30player:tell("You cast [yellow]Death[normal] on ", target:title(), "!");
31player.location:announce(player:title(), " casts [yellow]Death[normal] on ", target:title(), "!");
32player:tell("Intense energy builds around you...");
33suspend(3);
34if (target.alive)
35player.location:announce_all("A mass of dark energy jolts at ", target:title(), "!");
36target:die();
37player:tell("You have defeated ", target:title(), "!");
38player.experience = player.experience + toobj(target).exp;
39player:tell("You gain [cyan]", tostr(target.exp), "[normal] experience points!");
40endif
41newlevel = player.level + 1;
42if ((player.experience >= ($server_options.level_info[newlevel][2] + 1)) && (newlevel < $server_options.max_player_level))
43player.level = player.level + 1;
44player:tell("");
45player:tell("[bold][purple]YOU HAVE REACHED [cyan]LEVEL ", tostr(newlevel), "[purple]![normal]");
46player.adv_points = player.adv_points + $server_options.level_info[player.level][3];
47player:tell("[purple]You have received ", $server_options.level_info[player.level][3], " Advancement Points!");
48player.stats_current == player.stats;
49player:tell("");
50endif
51player:tell("You collect [bold][yellow]", target.money[1][2], "[normal] Gold!");
52player.money = {{"gold", player.money[1][2] + target.money[1][2]}};
53dropstr = "";
54if (target.contents == {})
55drop = "nothing";
56else
57drop = $string_utils:title_list(target.contents);
58for i in (target.contents)
59move(i, target.location);
60endfor
61endif
62player:tell(target:title(), " drops ", drop, ".");
63player.killcount = player.killcount + 1;
64else
65player:tell("No effect.");
66player:tell("The target must be a living being.");
67endif