Monster Maker #138
Aliases: Monster Maker, breeder
8 verbs · 45 properties · 1 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
acceptable | this none this | rxd | #138 | 4 |
breed | this none this | rxd | #138 | 26 |
cull | this none this | rxd | #138 | 22 |
tell | this none this | rxd | #138 | 4 |
group_booguns | this none this | rxd | #138 | 35 |
reset | this none none | rd | #138 | 5 |
init_for_core | this none this | rxd | #138 | 17 |
announce_all_but | this none this | rxd | #138 | 0 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
rooms_to_check | #138 | rc | #36 | {} |
breeding | #138 | r | #2 | 0 |
my_tell | #138 | r | #2 | 1 |
cull_task | #138 | r | #2 | 0 |
pause | #138 | rc | #36 | 15 |
monster_owner | #138 | rc | #36 | #36 |
oclose_msg | #8 | rc | #36 | <clear> |
close_msg | #8 | rc | #36 | <clear> |
oopen_msg | #8 | rc | #36 | <clear> |
open_msg | #8 | rc | #36 | <clear> |
oput_fail_msg | #8 | rc | #36 | <clear> |
put_fail_msg | #8 | rc | #36 | <clear> |
opaque | #8 | r | #2 | <clear> |
dark | #8 | r | #2 | <clear> |
oremove_fail_msg | #8 | rc | #36 | <clear> |
oremove_msg | #8 | rc | #36 | <clear> |
remove_fail_msg | #8 | rc | #36 | <clear> |
remove_msg | #8 | rc | #36 | <clear> |
oput_msg | #8 | rc | #36 | <clear> |
put_msg | #8 | rc | #36 | <clear> |
oopen_fail_msg | #8 | rc | #36 | <clear> |
open_fail_msg | #8 | rc | #36 | <clear> |
empty_msg | #8 | rc | #36 | <clear> |
opened | #8 | r | #2 | <clear> |
open_key | #8 | c | #36 | <clear> |
drop_failed_msg | #5 | rc | #36 | <clear> |
drop_succeeded_msg | #5 | rc | #36 | <clear> |
odrop_failed_msg | #5 | rc | #36 | <clear> |
odrop_succeeded_msg | #5 | rc | #36 | <clear> |
otake_succeeded_msg | #5 | rc | #36 | <clear> |
otake_failed_msg | #5 | rc | #36 | <clear> |
take_succeeded_msg | #5 | rc | #36 | <clear> |
take_failed_msg | #5 | rc | #36 | <clear> |
value_base | #102 | r | #2 | <clear> |
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 | #36 | list of 4{"Put replicating monsters in this item to have them randomly generated for use in player encounters.", "This object is triggered by a breeder relay. See \"help $breeder_relay\" and \"help replicating_monster\" for more details.", "@set breeder.rooms_to_check to a list of room #'s to check for activity. If the rooms are empty, the breeder will begin recycling the monsters.", "@set breeder.monster_owner to a builder character with a high quota. IF THE BREEDER STOPS WORKING, THE MONSTER_OWNER MAY BE OVER QUOTA."} |
key | #1 | c | #36 | 0 |
aliases | #1 | rc | #36 | {"Monster Maker", "breeder"} |
description | #1 | rc | #36 | <clear> |
object_size | #1 | r | #36 | {6593, -1090650497} |
html | #1 | rc | #36 | <clear> |
Ancestry
Ancestors (nearest first): #8 generic container → #5 generic thing → #102 subthing → #1 Root Class
Children: #160 a gaping hole in the fabric of space
Call graph
Source
acceptable
Referenced by
none
Source
1if ($object_utils:isa(args[1], $replicating_monster)) 2return 1; 3endif 4return 0;
breed
Referenced by
- #138:tell line 2:
this:breed
Source
1"wiz-owned"; 2this.my_tell = 1; 3mama = this.contents[random($)]; 4total_chirrens = length(children(mama)); 5make = ((q = mama.child_limit - total_chirrens) > 0) ? random(q) | 0; 6if (make) 7this.breeding = 1; 8for n in [1..make] 9monster = $recycler:_create(mama, this.monster_owner); 10monster.home = this.location; 11monster.name = mama.name; 12monster.aliases = mama.aliases; 13monster.x_loc = this.x_loc; 14monster.y_loc = this.y_loc; 15monster:birth(); 16suspend(this.pause); 17monster.countdown_til_stop = random(10) + 10; 18monster.wander_ok = 1; 19monster:plan_next_move(); 20endfor 21endif 22if (!$scheduler:valid_task(this.cull_task)) 23this.cull_task = $scheduler:schedule(mama.lifespan, this, "cull"); 24endif 25this.breeding = 0; 26this.my_tell = 0;
cull
Referenced by
none
Source
1"wiz-owned"; 2this.my_tell = 1; 3for p in (connected_players()) 4if (p.location in this.rooms_to_check) 5if ($scheduler:valid_task(this.cull_task)) 6$scheduler:kill_task(this.cull_task); 7endif 8return this.cull_task = $scheduler:schedule(60, this, "cull"); 9endif 10endfor 11for mama in (this.contents) 12all_chirrens = children(mama); 13if (all_chirrens) 14for c in (all_chirrens) 15if ((!c.f) && c.alive) 16c:die(); 17endif 18suspend(5); 19endfor 20endif 21endfor 22this.my_tell = 0;
tell
Referenced by
none
Source
1if ((((!this.my_tell) && (!this.breeding)) && (player.location == this.location)) && (player in connected_players())) 2this:breed(); 3endif 4pass(@args);
group_booguns
Referenced by
- #104:tell_contents line 40:
$breeder:group_booguns
Source
1players = args[1]; 2booguns = {}; 3normals = players; 4for p in (players) 5if ($object_utils:isa(p, $replicating_monster)) 6if (i = p.plural_name in $list_utils:slice(booguns)) 7booguns[i][2] = booguns[i][2] + 1; 8else 9booguns = {@booguns, {p.plural_name, 1}}; 10endif 11endif 12endfor 13(ticks_left() < 6000) && suspend(0); 14for p in (players) 15if ($object_utils:isa(p, $replicating_monster)) 16if ((i = p.plural_name in $list_utils:slice(booguns)) && (booguns[i][2] > 1)) 17normals = setremove(normals, p); 18else 19booguns = setremove(booguns, booguns[i]); 20endif 21endif 22endfor 23(ticks_left() < 4000) && suspend(0); 24if (booguns) 25theps = {}; 26for t in (booguns) 27theps = {@theps, (tostr(t[2]) + " ") + t[1]}; 28endfor 29for t in (normals) 30theps = {@theps, t:title()}; 31endfor 32return $string_utils:english_list(theps) + " are here."; 33else 34return tostr($string_utils:title_listc(players), (length(players) == 1) ? " " + $gender_utils:get_conj("is", players[1]) | " are", " here."); 35endif
reset
Referenced by
none
Source
1if (player.programmer || (player == this.owner)) 2this.my_tell = 0; 3this.breeding = 0; 4player:tell("Reset."); 5endif
init_for_core
Referenced by
none
Source
1if (caller_perms().wizard) 2if (this == $breeder) 3this.rooms_to_check = {}; 4this.breeding = 0; 5this.my_tell = 1; 6this.cull_task = 0; 7this.pause = 15; 8this.monster_owner = $hacker; 9else 10for p in (properties($breeder)) 11if ((!p) in {"build_help", "help_msg"}) 12clear_property(this, p); 13endif 14endfor 15endif 16return pass(@args); 17endif
announce_all_but
Referenced by
none
Source
No program (verb defined but unprogrammed).