blob: c18df2dbbb1a58b49158ba82149d9404895ffef6 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001// MorgenGrauen MUDlib
2//
3// shells/human.c -- Human Shell
4//
5// $Id: human.c 9022 2015-01-10 21:50:50Z Zesstra $
6
7#pragma strong_types,save_types
8
9inherit "/std/player/base";
10
11#include <properties.h>
12#include <attributes.h>
13#include <moving.h>
14#include <wizlevels.h>
15#include <health.h>
16#include <new_skills.h>
17#include <language.h>
18#include <defuel.h>
19
20
21
22void create() {
23 if (!clonep() || object_name(this_object()) == __FILE__[0..<3]) {
24 set_next_reset(-1);
25 return;
26 }
27
28 base::create();
29 SetDefaultHome("/gilden/abenteurer");
30 SetDefaultPrayRoom("/d/ebene/room/PortVain/pray_room");
31 SetProp(P_ATTRIBUTES_OFFSETS,([A_INT:1,A_STR:1,A_CON:1,A_DEX:3]));
32 SetProp(P_AVERAGE_SIZE,170);
33 SetProp(P_AVERAGE_WEIGHT,75000);
34 SetProp(P_MATERIAL_KNOWLEDGE,([MATGROUP_WOOD:20,
35 MATGROUP_METAL:20,
36 MATGROUP_ELEMENTAL:20,
37 MATGROUP_CLOTH:20]));
38
39 SetProp(P_MAX_FOOD,120);
40 SetProp(P_MAX_DRINK,120);
41 SetProp(P_MAX_ALCOHOL,120);
42
43 SetProp(P_MAGIC_RESISTANCE_OFFSET,
44 ([ MT_ANGRIFF : 500,
45 MT_ILLUSION : 700,
46 MT_BEHERRSCHUNG : 500,
47 MT_HELLSICHT : 1000,
48 MT_VERWANDLUNG : -500,
49 MT_PSYCHO : -500 ]));
50
51 // Zukuenftig 0, nicht mehr -5. Ark, 04.01.08.
52 SetProp(P_BODY,0);
53
54 /* Groesse wird nur einmal gesetzt */
55 if(!QueryProp(P_SIZE)){
56 SetProp(P_SIZE,160+random(21));
57 Set(P_SIZE,SAVE,F_MODE_AS);
58 }
59
60 /* Dito Gewicht */
61 if(!QueryProp(P_WEIGHT) || (QueryProp(P_WEIGHT) == 75000)){
62 SetProp(P_WEIGHT,65000+random(20001));
63 if(QueryProp(P_GENDER)==FEMALE)
64 SetProp(P_WEIGHT,QueryProp(P_WEIGHT)-5000);
65 Set(P_WEIGHT,SAVE,F_MODE_AS);
66 }
67 SetProp(P_DEFUEL_LIMIT_FOOD,60);
68 SetProp(P_DEFUEL_LIMIT_DRINK,50);
69 SetProp(P_DEFUEL_TIME_FOOD,500);
70 SetProp(P_DEFUEL_TIME_DRINK,245);
71 SetProp(P_DEFUEL_AMOUNT_FOOD,0.75);
72 SetProp(P_DEFUEL_AMOUNT_DRINK,0.5);
73
74}
75
76string _query_race()
77{
78 return "Mensch";
79}
80
81string _query_real_race()
82{
83 return "Mensch";
84}
85
86string *_query_racestring()
87{
88 if (QueryProp(P_GENDER)==2)
89 return ({"Menschenfrau","Menschenfrau","Menschenfrau","Menschenfrau"});
90 return ({"Mensch","Menschen","Mensch","Menschen"});
91}
92
93string _query_racedescr()
94{
95 return "Die Staerke des Menschen ist seine Vielseitigkeit.\n"+
96 "Der Mensch kann zwar nichts besonders gut - dafuer aber eigentlich alles.\n";
97}
98
99int QueryAllowSelect() { return 1; }
100
101void FinalSetup()
102{
103 // Im MG gibt fuer kleine Spieler eine Karte von Port Vain. Die gibt es
104 // woanders meist nicht.
105#if MUDNAME == "MorgenGrauen"
106 if (QueryProp(P_LEVEL)<=3 && !present("portvainkarte",this_object()))
107 clone_object("/d/ebene/obj/pv")->move(this_object(),M_NOCHECK);
108#endif
109}
110
111string _query_default_guild(){
112 return "abenteurer";
113}