blob: 37e3ab89581046c53fde2d6f2f1edcdeaee16b94 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001
2PresentRows()
Zesstra953f9972017-02-18 15:37:36 +01003*************
MG Mud User88f12472016-06-24 23:31:02 +02004
5
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 mixed *PresentRows(object env);
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 TEAM_OBJECT (s. <living/team.h>)
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018ARGUMENTE
19=========
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra953f9972017-02-18 15:37:36 +010021 object env
22 Das Environment des gewuenschten Objektes.
MG Mud User88f12472016-06-24 23:31:02 +020023
MG Mud User88f12472016-06-24 23:31:02 +020024
Zesstra953f9972017-02-18 15:37:36 +010025BESCHREIBUNG
26============
27
28 Mit dieser Funktion bekommt man die aktuellen Teamreihen, die im Argument
29 env anwesend sind, des Teams zurueckgegeben. Ist env kein Objekt, so
30 wird environment(this_player()) als solches angenommen.
31
32
33RUECKGABEWERT
34=============
35
36 Es wird ein mixed-Array zurueckgegeben, dabei sind die einzelnen Reihen
37 selbst wiederum Arrays mit den Spielerobjekten.
38
39
40BEISPIEL
41========
42
43 Ein NPC im Kampf laesst eine Feuerwalze auf ein Team los, welche aber nur
44 Spieler in der ersten und zweiten Teamreihe Schaden zufuegen soll.
45
46 void Attack( object enemy )
47 {
48 ...
49
50 object team = enemy->QueryProp(P_TEAM);
51
52 if ( objectp(team) )
53 {
54 mixed teamrows = team->PresentRows(enemy);
MG Mud User88f12472016-06-24 23:31:02 +020055
56// Inhalt von "teamrows" zu diesem Zeitpunkt:
57
58// ({ ({[/dwarf:hauweg]}),({}),({[/elf:spitzohr]}),({}),({}),({}) })
59
Zesstra953f9972017-02-18 15:37:36 +010060// In der Umgebung von Zwerg Hauweg steht also noch Elf Spitzohr, und
61zwar // in der dritten Teamreihe (der hat Glueck gehabt). // Wenn
62dem Team noch mehr Spieler angehoeren, befinden sie sich gerade //
63nicht in der Umgebung (sprich im selben Raum) wie Hauweg.
MG Mud User88f12472016-06-24 23:31:02 +020064
Zesstra953f9972017-02-18 15:37:36 +010065 foreach ( i : 2 )
66 {
67 foreach ( object pl : teamrows[i] )
68 {
69 tell_object(pl,"Der Feuerteufel laesst eine
70 Feuerwalze auf Dich "
71 "und Dein Team los.n");
MG Mud User88f12472016-06-24 23:31:02 +020072
Zesstra953f9972017-02-18 15:37:36 +010073 pl->Defend(200+random(200),({DT_FIRE}),([SP_S
74 HOW_DAMAGE:1]),TO);
MG Mud User88f12472016-06-24 23:31:02 +020075
Zesstra953f9972017-02-18 15:37:36 +010076 }
MG Mud User88f12472016-06-24 23:31:02 +020077
Zesstra953f9972017-02-18 15:37:36 +010078 }
MG Mud User88f12472016-06-24 23:31:02 +020079
Zesstra953f9972017-02-18 15:37:36 +010080 }
MG Mud User88f12472016-06-24 23:31:02 +020081
Zesstra953f9972017-02-18 15:37:36 +010082 else
83 {
84 tell_object(enemy,"Der Feuerteufel laesst eine Feuerwalze
85 auf Dich "
86 "los.n");
MG Mud User88f12472016-06-24 23:31:02 +020087
Zesstra953f9972017-02-18 15:37:36 +010088 enemy->Defend(200+random(200),({DT_FIRE}),([SP_SHOW_DAMAG
89 E:1]),TO);
90
91 }
92
93 ...
94
95 }
96
97
98BEMERKUNG
99=========
100
101 Man beachte, dass das erste Argument (also Argument 0) die erste
102 Teamreihe ist.
103
104
105SIEHE AUCH
106==========
107
108 Uebersicht: teamkampf
109 Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
110 P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_LEADER,
111 P_TEAM_NEWMEMBER, P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
112 Bewegung: IsTeamMove, TeamFlee
113 Mitglieder: IsTeamLeader, TeamMembers
114 Kampf: AssocMember, DeAssocMember, InsertEnemyTeam,
115 SelectNearEnemy, SelectFarEnemy
116 Positionen: PresentPosition, PresentEnemyRows, PresentTeamPosition,
117 SwapRows
118 Sonstiges: TeamPrefix, teamkampf_intern
119
MG Mud User88f12472016-06-24 23:31:02 +0200120Last modified: 16-08-2010, Gabylon