Scroll of Enchantment #147
Aliases: Scroll of Enchantment, enchantmentscroll
2 verbs · 19 properties · 0 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
title | this none this | rxd | #147 | 1 |
ca*st | this on top of/on/onto/upon any | rxd | #147 | 67 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
drop_failed_msg | #5 | rc | #2 | <clear> |
drop_succeeded_msg | #5 | rc | #2 | <clear> |
odrop_failed_msg | #5 | rc | #2 | <clear> |
odrop_succeeded_msg | #5 | rc | #2 | <clear> |
otake_succeeded_msg | #5 | rc | #2 | <clear> |
otake_failed_msg | #5 | rc | #2 | <clear> |
take_succeeded_msg | #5 | rc | #2 | <clear> |
take_failed_msg | #5 | rc | #2 | <clear> |
value_base | #102 | r | #2 | 50.0 |
damage_base | #102 | r | #2 | <clear> |
x_loc | #102 | r | #36 | <clear> |
y_loc | #102 | r | #36 | <clear> |
ansi_title | #102 | r | #36 | <clear> |
obvious | #102 | r | #36 | <clear> |
build_help | #102 | rc | #2 | <clear> |
key | #1 | c | #2 | 0 |
aliases | #1 | rc | #2 | {"Scroll of Enchantment", "enchantmentscroll"} |
description | #1 | rc | #2 | "[green]You see a paper scroll with magical writing on it.[normal] [Spell: Enchantment]" |
object_size | #1 | r | #36 | {0, 0} |
Ancestry
Ancestors (nearest first): #5 generic thing → #102 subthing → #1 Root Class
Children: none
Call graph
Source
title
Referenced by
- #147:ca*st line 2:
this:title - #147:ca*st line 30:
this:title - #147:ca*st line 43:
this:title - #147:ca*st line 55:
this:title - #147:ca*st line 64:
this:title
Source
1return tostr("[yellow]", this.name, "[normal]");
ca*st
Referenced by
none
Source
1if ((this in player.contents) && (player.stats_current[2][3] >= 11.0)) 2player:tell("You prepare to cast ", this:title(), "[normal]..."); 3elseif (player.stats_current[2][3] < 11.0) 4player:tell("You do not have a high enough INT ability! This spell requires at least 11.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")) 12player:tell("The target must be armor or a weapon, and you must be carrying it."); 13return; 14endif 15if ($object_utils:has_property(target, "enchant_level")) 16if ((target.enchant_level + 1) > toint(player.stats_current[2][3])) 17player:tell("You cannot enchant ", target.name, " beyond your INT ability."); 18return; 19endif 20endif 21if ((target in player.contents) && $object_utils:has_property(target, "armor")) 22target.armor = target.armor + 1.0; 23target.enchant_level = target.enchant_level + 1; 24target.value_base = target.value_base + 20.0; 25player:tell("You cast [yellow]Enchantment[normal] on ", target.name, "!"); 26player.location:announce(player:title(), " casts [yellow]Enchantment[normal] on ", target.name, "!"); 27player:tell("Your ", target.name, " gets +1.0 to Armor!"); 28player.location:announce(player:title(), " enchants ", player.pp, " ", target.name, "!"); 29if (!this.f) 30player:tell("The ", this:title(), " vaporizes in your hand!"); 31$recycler:_recycle(this); 32endif 33return; 34elseif (((target in player.contents) && $object_utils:has_property(target, "weapon")) && target.shoots) 35target.projectile_dam = target.projectile_dam + 1.0; 36target.enchant_level = target.enchant_level + 1; 37target.value_base = target.value_base + 20.0; 38player:tell("You cast [yellow]Enchantment[normal] on ", target:title(), "!"); 39player.location:announce(player:title(), " casts [yellow]Enchantment[normal] on ", target:title(), "!"); 40player:tell("Your ", target:title(), " gets +1.0 to Projectile Damage!"); 41player.location:announce(player:title(), " enchants ", player.pp, " ", target:title(), "!"); 42if (!this.f) 43player:tell("The ", this:title(), " vaporizes in your hand!"); 44$recycler:_recycle(this); 45endif 46elseif (((target in player.contents) && $object_utils:has_property(target, "weapon")) && (!target.shoots)) 47target.damage_base = target.damage_base + 1.0; 48target.enchant_level = target.enchant_level + 1; 49target.value_base = target.value_base + 20.0; 50player:tell("You cast [yellow]Enchantment[normal] on ", target:title(), "!"); 51player.location:announce(player:title(), " casts [yellow]Enchantment[normal] on ", target:title(), "!"); 52player:tell("Your ", target:title(), " gets +1.0 to Damage!"); 53player.location:announce(player:title(), " enchants ", player.pp, " ", target:title(), "!"); 54if (!this.f) 55player:tell("The ", this:title(), " vaporizes in your hand!"); 56$recycler:_recycle(this); 57return; 58endif 59elseif (!valid(target)) 60player:tell("The target is invalid."); 61player:tell("The target must be armor or a weapon, and you must be carrying it."); 62return; 63else 64player:tell("No effect. The ", this:title(), " is still in your inventory."); 65player:tell("The target must be armor or a weapon, and you must be carrying it."); 66return; 67endif