blob: 23450a7bcf849db12474eea4fd18e727621979bd [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// armour/container_description.c -- armour_container description handling
4//
5// $Id: container_description.c 6306 2007-05-20 11:32:03Z Zesstra $
6
7#pragma strict_types
8#pragma save_types
MG Mud User88f12472016-06-24 23:31:02 +02009#pragma range_check
10#pragma no_clone
11
12inherit "/std/clothing/container_description";
13
14#define NEED_PROTOTYPES
15
16#include <thing/properties.h>
17#include <thing/description.h>
18#include <thing/language.h>
19#include <container.h>
20#include <combat.h>
21#include <thing/material.h>
22#include <defines.h>
23#include <wizlevels.h>
24#include <player/base.h>
25
26string dam_descr() {
27 string re;
28 mixed desc;
29 int maximum,dam,pos;
30
31 if (!QueryProp(P_NAME) || !QueryProp(P_DAMAGED) || !QueryProp(P_SHORT) ||
32 !(desc=QueryProp(P_DAM_DESC)) || (!stringp(desc) && !pointerp(desc)))
33 return "";
34 re = capitalize(name(WER,2))+" ";
35 maximum = QueryProp(P_AC)+(dam=QueryProp(P_DAMAGED));
36 if (stringp(desc))
37 return (dam>(maximum/2))?(re+desc+".\n"):"";
38 pos = (sizeof(desc)*dam/maximum);
39 if (stringp(desc[pos]))
40 return (re+desc[pos]+".\n");
41 return "";
42}
43
44mapping _query_material() {
45 mixed res,at;
46
47 if (mappingp(res=Query(P_MATERIAL)))
48 return res;
49 at=QueryProp(P_ARMOUR_TYPE);
50 switch(at) {
51 case AT_ARMOUR:
52 case AT_HELMET:
53 case AT_RING:
54 case AT_AMULET:
55 case AT_SHIELD:
56 return ([MAT_MISC_METAL:100]);
57 case AT_CLOAK:
58 case AT_TROUSERS:
59 return ([MAT_CLOTH:100]);
60 case AT_GLOVE:
61 case AT_BOOT:
62 return ([MAT_LEATHER:100]);
63 }
64 return ([MAT_LEATHER:100]);
65}
66