generic collective thing #113

Parent #5Owner #2Flags Source RPG Core/rpgcore-patched.db

Aliases: generic collective thing, collective

6 verbs · 22 properties · 2 children

Verbs

VerbSpecFlagsDefinerLines
combinethis none thisrxd#11321
g*et t*akethis none nonerxd#1132
dr*op th*rowthis none nonerxd#1132
gi*ve ha*ndthis at/to anyrxd#1132
valuethis none thisrxd#1136
descriptionthis none thisrxd#11322

Properties

PropertyDefinerFlagsOwnerValue
help_msg#113rc#2"This object will combine with others of it's type when placed in the same container/room/etc."
been_told#113r#20
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#2<clear>
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
list of 2{" Use your the Generic Collective Thing to create your own parent object. Remember to to \"@chmod <new parent object> rf\", because infertile objects get EATEN when an object with the same parent is placed in their area!", " If you want to keep track of the quantity of collective units, add an integer property named \".rounds\" or \".units\" to the parent object. If you want the number of units displayed in the title, you must write a custom :title() verb for the object."}
key#1c#20
aliases#1rc#2{"generic collective thing", "collective"}
description#1rc#2<clear>
object_size#1r#36{3981, -1090650497}
html#1rc#2<clear>

Ancestry

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

Children: #114 generic ammunition, #131 generic food and drink

Call graph

calls n113_0 #113:combine n52_3 #52:has_callable_verb n113_0->n52_3 n52_0 #52:has_property n113_0->n52_0 n63_1 #63:_recycle n113_0->n63_1 n113_1 #113:g*et n113_1->n113_0 n5_0 #5:g*et n113_1->n5_0 n113_2 #113:dr*op n113_2->n113_0 n5_1 #5:dr*op n113_2->n5_1 n113_3 #113:gi*ve n113_3->n113_0 n5_4 #5:gi*ve n113_3->n5_4

Source

combine

Spec this none thisFlags rxdOwner #2Definer #113

Referenced by

Source

1if (this.been_told)
2return;
3endif
4this.been_told = 1;
5if ($object_utils:has_callable_verb(this.location, "contents"))
6peers = this.location:contents();
7else
8peers = this.location.contents;
9endif
10for x in (peers)
11if (((parent(x) == parent(this)) && (x != this)) && (!x.f))
12if ($object_utils:has_property(this, "rounds"))
13this.rounds = this.rounds + x.rounds;
14elseif ($object_utils:has_property(this, "units"))
15this.units = this.units + x.units;
16endif
17$recycler:_recycle(x);
18endif
19endfor
20suspend(1);
21this.been_told = 0;

g*et t*ake

Spec this none noneFlags rxdOwner #2Definer #113

Referenced by

none

Source

1pass(@args);
2this:combine();

dr*op th*row

Spec this none noneFlags rxdOwner #2Definer #113

Referenced by

none

Source

1pass(@args);
2this:combine();

gi*ve ha*nd

Spec this at/to anyFlags rxdOwner #2Definer #113

Referenced by

none

Source

1pass(@args);
2this:combine();

value

Spec this none thisFlags rxdOwner #2Definer #113

Referenced by

none

Source

1if (`this.rounds ! E_PROPNF')
2return tofloat(this.rounds) * this.value_base;
3elseif (`this.units ! E_PROPNF')
4return tofloat(this.units) * this.value_base;
5endif
6return this.value_base;

description

Spec this none thisFlags rxdOwner #2Definer #113

Referenced by

none

Source

1desc = (typeof(this.description) == LIST) ? this.description | {this.description};
2amountstr = "";
3if (`this.rounds ! E_PROPNF')
4if (this.rounds == 1)
5kind = "round";
6voib = "is";
7else
8kind = "rounds";
9voib = "are";
10endif
11amountstr = tostr("There ", voib, " ", this.rounds, " ", kind, ".");
12elseif (`this.units ! E_PROPNF')
13if (this.units == 1)
14kind = "unit";
15voib = "is";
16else
17kind = "units";
18voib = "are";
19endif
20amountstr = tostr("There ", voib, " ", this.units, " ", kind, ".");
21endif
22return amountstr ? {@desc, amountstr} | this.description;