furnace #367

Parent #54Owner #361Flags readSource hellcore/hellcore.db

Aliases: furnace

8 verbs · 72 properties · 0 children

Verbs

VerbSpecFlagsDefinerLines
look_selfthis none thisrxd#3672
watch_tellthis none thisrxd#36720
openthis none nonerxd#3678
closethis none nonerxd#3674
view watchthis none nonerxd#36719
heartbeatthis none thisrxd#3675
alertthis none thisrxd#36718
new_playerthis none thisrxd#3677

Properties

PropertyDefinerFlagsOwnerValue
fail_view_msg#367rc#361"You stare into the viewport on the furnace door -- agh, it's bright! You can't see any details, only the fierce yellow-white of the blaze, before you're forced to look away."
ofail_view_msg#367rc#361"%N looks into the furnace viewport. The heat and light prove too much for %o, and %s looks away after a few seconds."
view_msg#367rc#361"You step up to the furnace and stare in through the viewport."
oview_msg#367rc#361"%N steps up to the furnace viewport and begins watching the fire within."
endview_msg#367rc#361"You step back from the furnace."
oendview_msg#367rc#361"%N steps back from staring into the furnace's viewport. %P eyes glow faintly red for a few moments afterward."
obj_create_msg#367rc#361"In the furnace, [item] forms out of the glowing carbon."
obj_burn_msg#367rc#361"In the furnace, [item] drops out of a pipe and vaporizes in the heat."
flushing#367rc#3610
viewer#367rc#361#-1
capacity#54rc#361<clear>
weight_reduction#54rc#361<clear>
opaque#54rc#361<clear>
dark#54rc#361<clear>
close_msg#54rc#361<clear>
open_msg#54rc#361<clear>
remove_msg#54rc#361<clear>
put_msg#54rc#361<clear>
empty_msg#54rc#361<clear>
contents_msg#54rc#361<clear>
open_fail_msg#54rc#361<clear>
put_fail_msg#54rc#361<clear>
closed_msg#54rc#361<clear>
closable#54rc#361<clear>
open#54rwc#3610
get_from_msg#54rc#361<clear>
max_objects#54rc#361<clear>
spill_on_break#54rc#361<clear>
peek_msg#54rc#361<clear>
clean_start_msg#54rc#361<clear>
oclean_start_msg#54rc#361<clear>
clean_finish_msg#54rc#361<clear>
oclean_finish_msg#54rc#361<clear>
break_msg#255rc#361<clear>
repair_difficulty#255rc#361<clear>
junk_on_break#255rc#361<clear>
rename_on_break#255rc#361<clear>
smashable#255rc#361<clear>
repairable#255rc#361<clear>
armor#255rc#361<clear>
held_break_msg#255rc#361<clear>
oheld_break_msg#255rc#361<clear>
handed#5rc#361<clear>
wield_msg#5rc#361<clear>
unwield_msg#5rc#361<clear>
size#5rc#361<clear>
look_place_msg#5rc#361"The furnace rages with heat and rumble and flickering red."
value#5rc#361<clear>
get_msg#5rc#361<clear>
drop_msg#5rc#361<clear>
get_fail_msg#5rc#361<clear>
junk_ok#5rc#361<clear>
floats#5rc#361<clear>
long_name_msg#5rc#361<clear>
article#5rc#361<clear>
setup_list#5rc#361<clear>
health#5rc#361<clear>
health_max#5rc#361<clear>
min_skill#5rc#361<clear>
skill#5rc#361<clear>
recipe_for#5rc#361<clear>
carried_msg#5rc#361<clear>
aliases#1rc#361{"furnace"}
description#1rc#361<clear>
object_size#1r#29{0, 0}
hidden_verbs#1rc#361<clear>
phelp_msg#1rc#361<clear>
weight#1rc#361<clear>
owner_verbs#1rc#361<clear>
plural_name#1rc#361<clear>
client_image#1rc#361<clear>
listening#1rc#361<clear>

Ancestry

Ancestors (nearest first): #54 generic container#255 generic smashable thing#5 generic thing#1 root

Children: none

Call graph

calls n367_0 #367:look_self n54_2 #54:look_self n367_0->n54_2 n107_43 #107:tell n367_0->n107_43 n20_26 #20:group_number n367_0->n20_26 n367_1 #367:watch_tell n20_61 #20:a_or_an n367_1->n20_61 n367_3 #367:close n367_1->n367_3 n54_5 #54:close n367_3->n54_5 n367_2 #367:open n367_2->n107_43 n54_3 #54:open n367_2->n54_3 n367_4 #367:view n367_4->n107_43 n20_34 #20:pronoun_sub n367_4->n20_34 n1_33 #1:area n367_4->n1_33 n57_23 #57:do_player_watch n367_4->n57_23 n367_7 #367:new_player n1_31 #1:dname n367_7->n1_31

Source

look_self

Spec this none thisFlags rxdOwner #361Definer #367

Referenced by

none

Source

1pass(@args);
2player:tell("You can see about ", $su:gn(length($recycler.contents)), " pieces of coal burning inside.");

watch_tell

Spec this none thisFlags rxdOwner #361Definer #367

Referenced by

none

Source

1if (this.open)
2{sign, itemname, parent, ?location} = args;
3bold = is_a(parent, $actor) ? $ansi.bold_on | "";
4if (!is_a(parent, $decal))
5itemname = ($su:a_or_an(itemname) + " ") + itemname;
6endif
7if (is_a(parent, $weather) && (parent(parent) == $weather))
8itemname = itemname + " sky";
9endif
10if (sign == "+")
11this.location:announce_all($ansi.yellow, bold, $su:subst(this.obj_create_msg, {{"[item]", itemname}}), $ansi.reset);
12else
13this.location:announce_all($ansi.red, bold, $su:subst(this.obj_burn_msg, {{"[item]", itemname}}), $ansi.reset);
14endif
15endif
16if (random(100) < 10)
17if (!this.location:occupants($player))
18this:close();
19endif
20endif

open

Spec this none noneFlags rxdOwner #361Definer #367

Referenced by

none

Source

1if (this.viewer)
2player:tell("You'll have to get ", this.viewer.name, " to step back from the viewport first.");
3return;
4endif
5pass(@args);
6if (this.open)
7$recycler.watchers = setadd($recycler.watchers, this);
8endif

close

Spec this none noneFlags rxdOwner #361Definer #367

Referenced by

Source

1pass(@args);
2if (!this.open)
3$recycler.watchers = setremove($recycler.watchers, this);
4endif

view watch

Spec this none noneFlags rxdOwner #361Definer #367

Referenced by

none

Source

1if (this.open)
2player:tell("You can already see inside, the door is open!");
3return;
4elseif (this.viewer)
5player:tell("You can't do that, ", this.viewed.name, " beat you to it.");
6return;
7elseif (!player.programmer)
8player:tell(this.fail_view_msg);
9this.location:announce_all_but({player}, $su:ps(this.ofail_view_msg));
10this:area():god_check(player, this);
11return;
12endif
13this.viewer = player;
14player:tell(this.view_msg);
15this.location:announce_all_but({player}, $su:ps(this.oview_msg));
16$recycler:do_player_watch(player);
17player:tell(this.endview_msg);
18this.location:announce_all_but({player}, $su:ps(this.oendview_msg));
19this.viewer = #-1;

heartbeat

Spec this none thisFlags rxdOwner #361Definer #367

Referenced by

none

Source

1return;
2if (length($recycler.contents) < 5)
3this.location:broadcast_noise("From %dir you hear a %vol computer voice: WARNING!  BOILER COAL CRITICAL!", 7);
4this.location:announce_all("A loud computer voice erupts from the furnace: WARNING!  BOILER COAL CRITICAL!");
5endif

alert

Spec this none thisFlags rxdOwner #361Definer #367

Referenced by

none

Source

1l = args[1];
2if (l > 100)
3m1 = "The boiler room rumbles, and a blast of heat belches from the furnace, nearly knocking you down.";
4m2 = "A %vol rumble and a blast of heat wash over you from %dir.";
5vol = 9;
6elseif (l > 50)
7m1 = "The boiler shudders, and a wave of heat thrums from the furnace.";
8m2 = "From %dir you hear a %vol rumble and a wave of heat.";
9vol = 5;
10else
11m1 = "The boiler shivers with a low rumble.";
12m2 = "";
13vol = 0;
14endif
15this.location:announce_all(m1);
16if (vol)
17this.location:broadcast_noise(m2, vol);
18endif

new_player

Spec this none thisFlags rxdOwner #361Definer #367

Referenced by

Source

1m1 = tostr("From ", this:dname(), ", a baby screams, then fades into the distance.");
2m2 = "You hear a %vol baby's cry from %dir.";
3vol = 6;
4this.location:announce_all(m1);
5fork (0)
6this.location:broadcast_noise(m2, vol);
7endfork