Book of Speed #170

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

Aliases: Book of Speed, speedbook

2 verbs · 20 properties · 0 children

Verbs

VerbSpecFlagsDefinerLines
titlethis none thisrxd#1701
ca*stthis on top of/on/onto/upon anyrxd#17040

Properties

PropertyDefinerFlagsOwnerValue
spellcounter#170rc#210
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#2325.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{"Book of Speed", "speedbook"}
description#1rc#2"[green]You see a book bound in leather with magical text.[normal] [Spell: Speed]"
object_size#1r#36{0, 0}

Ancestry

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

Children: none

Call graph

calls n170_1 #170:ca*st n6_18 #6:tell n170_1->n6_18 n170_0 #170:title n170_1->n170_0 n20_19 #20:match_object n170_1->n20_19 n52_0 #52:has_property n170_1->n52_0 n102_4 #102:title n170_1->n102_4 n63_1 #63:_recycle n170_1->n63_1

Source

title

Spec this none thisFlags rxdOwner #2Definer #170

Referenced by

Source

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

ca*st

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

Referenced by

none

Source

1if ((this in player.contents) && (player.stats_current[2][3] >= 13.0))
2player:tell("You prepare to cast ", this:title(), "[normal]...");
3elseif (player.stats_current[2][3] < 13.0)
4player:tell("You do not have a high enough INT ability! This spell requires at least 13.0.");
5return;
6else
7player:tell("You are not carrying that.");
8return;
9endif
10target = $string_utils:match_object(iobjstr, player.location);
11if (((iobjstr == "me") || (iobjstr == "self")) || (iobjstr == "myself"))
12target = player;
13endif
14if (!$object_utils:has_property(target, "stats"))
15player:tell("The target is invalid!");
16return;
17endif
18if ((target in player.location.contents) && target.alive)
19before = target.stats_current[2][2];
20target.stats_current[2][2] = target.stats_current[2][2] + 4.0;
21player:tell("You cast [yellow]Speed[normal] on ", target:title(), "!");
22player.location:announce(player:title(), " casts [yellow]Speed[normal] on ", target:title(), "!");
23target:tell(player:title(), " casts [yellow]Speed[normal] on you!");
24player:tell(target:title(), " receives +4 to Dexterity!");
25player.location:announce(target:title(), " receives +4 to Dexterity!");
26target:tell("You receive +4 to Dexterity!");
27fork (180)
28target.stats_current[2][2] = before;
29player:tell("The [yellow]Speed[normal] spell cast on ", target:title(), " wears off!");
30target.location:announce("The [yellow]Speed[normal] spell cast on ", target:title(), " wears off!");
31target.location:announce("The [yellow]Speed[normal] spell ", player:title(), " cast on you wears off!");
32endfork
33if (!this.f)
34this.spellcounter = this.spellcounter - 1;
35if (!this.spellcounter)
36player:tell("The ", this:title(), " crumbles into dust!");
37$recycler:_recycle(this);
38endif
39endif
40endif