P_TARGET_AREA ============= NAME ---- :: P_TARGET_AREA "target_area" DEFINIERT IN ------------ :: 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