| P_TARGET_AREA |
| ************* |
| |
| |
| NAME |
| ==== |
| |
| P_TARGET_AREA "target_area" |
| |
| |
| DEFINIERT IN |
| ============ |
| |
| <combat.h> |
| |
| |
| BESCHREIBUNG |
| ============ |
| |
| Kann in einem Raum gesetzt werden, um einen anderen, von dort aus mit |
| Fernkampfwaffen beschiessbaren Raum als Objekt oder Objektnamen (zu |
| einem geladenen Objekt) festzulegen. |
| |
| |
| BEMERKUNGEN |
| =========== |
| |
| Ein Schuetze kann nur in den anderen Raum schiessen, wenn die P_RANGE |
| seiner Waffe mindest gleich der P_SHOOTING_AREA des Raums (nicht des |
| Zielraums) ist. |
| |
| Idealerweise sollte in mit P_TARGET_AREA angegebenen Raeumen auch |
| P_NEVER_CLEAN gesetzt sein. |
| |
| |
| BEISPIELE |
| ========= |
| |
| // #1 Ein Baum-Raum (/std/room) |
| void create() { |
| ::create(); |
| SetProp(P_INT_SHORT, "Auf einem Baum"); |
| SetProp(P_INT_LONG, break_string("Du hockst auf einem Baum und kannst " |
| "auf die Lichtung unter Dir sehen.\n"); |
| |
| AddExit("unten", RAEUME("lichtung")); |
| |
| SetProp(P_TARGET_AREA, RAEUME("lichtung")); // Lichtung beschiessbar |
| SetProp(P_SHOOTING_AREA, 15); // 15 Entfernung |
| } |
| |
| // #2 Ein Elefanten-Transporter (/std/transport) |
| // Er trampelt durch mehrere Raeume durch und der Schuetze kann vom |
| // Ruecken des Elefanten aus auf Gegner draussen schiessen. |
| void create() { |
| ::create(); |
| SetProp(P_NAME, "Kampfelefant"); |
| AddId(({"elefant", "kampfelefant")}); |
| SetProp(P_GENDER, MALE); |
| SetProp(P_SHORT, "Ein Kampfelefant"); |
| SetProp(P_INT_SHORT, "Auf einem Kampfelefanten"); |
| // P_LONG, P_INT_LONG |
| |
| SetProp(P_ENTERCMDS, ({"kletter", "erkletter"})); |
| SetProp(P_LEAVECMDS, ({"verlass", "verlasse"})); |
| |
| SetProp(P_ARRIVEMSG, ({"Der Elefant trampelt in einen Raum.\n", |
| "Ein Kampfelefant trampelt herein.\n"})); |
| SetProp(P_DEPARTMSG, ({"Der Elefant trampelt weiter.\n", |
| "Der Kampfelefant trampelt weiter.\n"})); |
| |
| SetProp(P_SHOOTING_AREA, 8); // weiter als 8 sollte man schiessen |
| |
| AddRoute(RAEUME("schlachtfeld"), 20+random(10), 6, "Schlachtfeld"); |
| AddRoute(RAEUME("burgtor"), 20+random(10), 6, "Burgtor"); |
| AddRoute(RAEUME("burghof"), 20+random(10), 6, "Burghof"); |
| AddRoute(RAEUME("halle"), 20+random(10), 6, "Halle"); |
| AddRoute(RAEUME("bresche"), 20+random(10), 6, "Bresche"); |
| // ... |
| |
| Start(); |
| } |
| |
| |
| SIEHE AUCH |
| ========== |
| |
| Generell: P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME |
| Methoden: FindRangedTarget(L), shoot_dam(L), cmd_shoot(L) |
| Gebiet: P_RANGE, P_SHOOTING_AREA |
| Raeume: P_NEVER_CLEAN |
| Sonstiges: fernwaffen |
| |
| 29.Jul 2014 Gloinson |