11 alias ob_cb
= void delegate(ref Item self
, ref Being pickerupper
, ref list
!Being monsters
, ref Map map
);
37 string name
, description
;
43 this(Item_type type
, string name
, string description
, Glyph glyph
, ob_cb pickup
, ob_cb drop
) {
46 this.description
= description
;
48 this._on_pick_up
= pickup
;
53 mixin funcwrapper
!_on_pick_up
;
54 mixin funcwrapper
!_on_drop
;
57 class Toolspec
: Itemspec
{
58 this(string name
, string description
, Glyph glyph
, ob_cb pickup
, ob_cb drop
= null) {
59 super(Item_type
.Weapon
, name
, description
, glyph
, pickup
, drop
);
67 shared static this() {
69 new Toolspec("Lamp", "What more do you want, it's a fucking lamp", Glyph
.paren_left
, (ref Item self
, ref Being pickerupper
, ref list
!Being monsters
, ref Map map
) { pickerupper
.light_dist
+= 4; }),