blob: 9d2cec99cb8b4325dfe55fa2c2396e4f9f3bafd4 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001P_TARGET_AREA
2
3NAME:
4 P_TARGET_AREA "target_area"
5
6DEFINIERT IN:
7 <combat.h>
8
9BESCHREIBUNG:
10 Kann in einem Raum gesetzt werden, um einen anderen, von dort aus mit
11 Fernkampfwaffen beschiessbaren Raum als Objekt oder Objektnamen (zu
12 einem geladenen Objekt) festzulegen.
13
14BEMERKUNGEN:
15 Ein Schuetze kann nur in den anderen Raum schiessen, wenn die P_RANGE
16 seiner Waffe mindest gleich der P_SHOOTING_AREA des Raums (nicht des
17 Zielraums) ist.
18
19 Idealerweise sollte in mit P_TARGET_AREA angegebenen Raeumen auch
20 P_NEVER_CLEAN gesetzt sein.
21
22BEISPIELE:
23 // #1 Ein Baum-Raum (/std/room)
24 void create() {
25 ::create();
26 SetProp(P_INT_SHORT, "Auf einem Baum");
27 SetProp(P_INT_LONG, break_string("Du hockst auf einem Baum und kannst "
28 "auf die Lichtung unter Dir sehen.\n");
29
30 AddExit("unten", RAEUME("lichtung"));
31
32 SetProp(P_TARGET_AREA, RAEUME("lichtung")); // Lichtung beschiessbar
33 SetProp(P_SHOOTING_AREA, 15); // 15 Entfernung
34 }
35
36 // #2 Ein Elefanten-Transporter (/std/transport)
37 // Er trampelt durch mehrere Raeume durch und der Schuetze kann vom
38 // Ruecken des Elefanten aus auf Gegner draussen schiessen.
39 void create() {
40 ::create();
41 SetProp(P_NAME, "Kampfelefant");
42 AddId(({"elefant", "kampfelefant")});
43 SetProp(P_GENDER, MALE);
44 SetProp(P_SHORT, "Ein Kampfelefant");
45 SetProp(P_INT_SHORT, "Auf einem Kampfelefanten");
46 // P_LONG, P_INT_LONG
47
48 SetProp(P_ENTERCMDS, ({"kletter", "erkletter"}));
49 SetProp(P_LEAVECMDS, ({"verlass", "verlasse"}));
50
51 SetProp(P_ARRIVEMSG, ({"Der Elefant trampelt in einen Raum.\n",
52 "Ein Kampfelefant trampelt herein.\n"}));
53 SetProp(P_DEPARTMSG, ({"Der Elefant trampelt weiter.\n",
54 "Der Kampfelefant trampelt weiter.\n"}));
55
56 SetProp(P_SHOOTING_AREA, 8); // weiter als 8 sollte man schiessen
57
58 AddRoute(RAEUME("schlachtfeld"), 20+random(10), 6, "Schlachtfeld");
59 AddRoute(RAEUME("burgtor"), 20+random(10), 6, "Burgtor");
60 AddRoute(RAEUME("burghof"), 20+random(10), 6, "Burghof");
61 AddRoute(RAEUME("halle"), 20+random(10), 6, "Halle");
62 AddRoute(RAEUME("bresche"), 20+random(10), 6, "Bresche");
63 // ...
64
65 Start();
66 }
67
68SIEHE AUCH:
69 Generell: P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
70 Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
71 Gebiet: P_RANGE, P_SHOOTING_AREA
72 Raeume: P_NEVER_CLEAN
73 Sonstiges: fernwaffen
74
7529.Jul 2014 Gloinson