blob: 75d571d7bba113d068f8dd5f93b98614197f71f1 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001FindDistantGroups()
Zesstra953f9972017-02-18 15:37:36 +01002*******************
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 varargs mixed FindDistantGroups(object pl, int dist, int dy, int dx)
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /std/spellbook.c
MG Mud User88f12472016-06-24 23:31:02 +020015
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017ARGUMENTE
18=========
19
20 pl - Caster
21 dist - Entfernung
22 dy - Tiefe (default 100)
23 dx - Breite (default 100*MAX_TEAM_ROWLEN)
24
25
26BESCHREIBUNG
27============
28
29 Ermitteld feindliche (bei Spielern NPCs, bei NPCs Spieler) und
30 freundliche (bei Spielern Spieler, bei NPCs NPCs) Lebewesen,
31 die sich in Entfernung <dist> in einem Bereich der Breite <dx>
32 und Tiefe <dy> befinden.
33
34
35RUECKGABEWERT
36=============
37
38 Array mit zwei Arrays als Inhalt:
39 ({ feindliche Lebewesen, freundliche Lebewesen })
40
41
42BEMERKUNGEN
43===========
44
45 Die Entfernungsangaben sind als cm. zu verstehen.
46 Jedes Lebewesen belegt 50cm x 50cm mit Abstand 50cm
47 zum naechsten Lebewesen in jeder Richtung.
48 Die Breitenangabe wirkt sich nur in der Anzahl der
49 Lebewesen aus, die zufaellig pro Reihe ausgewaehlt werden.
50 Die Skillattribute SA_RANGE und SA_EXTENSION werden beruecksichtigt.
51
52
53BEISPIEL
54========
55
56 dist=200, dy=200, dx=200, ein Punkt = 50cm x 50cm
57 . . . . . . . . . . . . .
58 3. . . . . . . G . . . . . .
59 . . . . . . . . . . . . .
60 2. . . . . . G . G . . . . .dist+dy/2-+
61 . . . . . . . . . . . . . |
62 1. . . . . G . G . G . . . . dist +-+ (Gegner G)
63 ---.-.-.-.-.-.-.-.-.-.-.-.-. | |
64 1. . . . . F . F . F . . . .dist-dy/2-+ | (Freunde F)
65 . . . . . . . . . . . . . |
66 2. . . . . . F . S . . . . .------------+ (Reihe des Spielers S)
67 . . . . . . . . . . . . .
68 3. . . . . . . F . . . . . .
69 . . . . . . . . . . . . .
70 Abgedeckter Bereich: 100cm bis 300cm
71 Reihe 3: 375cm..425cm 375>300 -> nicht erwischt
72 Reihe 2: 275cm..325cm 275<300 -> erwischt
73 Gegner Reihe 1: 175cm..225cm 100<175,225<300 -> erwischt
74 Freunde Reihe 1: 75cm..125cm 100<125 -> erwischt
75 Reihe 2: -25cm...25cm 100> 25 -> nicht erwischt
76 Reihe 3: -125cm..-75cm 100>-75 -> nicht erwischt
77 Ergebnis: ({({G,G,G,G}),({F,F})})
78 (Maximal 2 Lebewesen pro Reihe bei Breite 200).
79
80
81SIEHE AUCH
82==========
83
84 teams, FindDistantGroup