| |
| PresentRows() |
| |
| |
| FUNKTION: |
| mixed *PresentRows(object env); |
| |
| DEFINIERT IN: |
| TEAM_OBJECT (s. <living/team.h>) |
| |
| ARGUMENTE: |
| object env |
| Das Environment des gewuenschten Objektes. |
| |
| BESCHREIBUNG: |
| Mit dieser Funktion bekommt man die aktuellen Teamreihen, die im Argument |
| env anwesend sind, des Teams zurueckgegeben. Ist env kein Objekt, so |
| wird environment(this_player()) als solches angenommen. |
| |
| RUECKGABEWERT: |
| Es wird ein mixed-Array zurueckgegeben, dabei sind die einzelnen Reihen |
| selbst wiederum Arrays mit den Spielerobjekten. |
| |
| BEISPIEL: |
| |
| Ein NPC im Kampf laesst eine Feuerwalze auf ein Team los, welche aber nur |
| Spieler in der ersten und zweiten Teamreihe Schaden zufuegen soll. |
| |
| void Attack( object enemy ) |
| { |
| ... |
| |
| object team = enemy->QueryProp(P_TEAM); |
| |
| if ( objectp(team) ) |
| { |
| mixed teamrows = team->PresentRows(enemy); |
| |
| // Inhalt von "teamrows" zu diesem Zeitpunkt: |
| |
| // ({ ({[/dwarf:hauweg]}),({}),({[/elf:spitzohr]}),({}),({}),({}) }) |
| |
| // In der Umgebung von Zwerg Hauweg steht also noch Elf Spitzohr, und zwar |
| // in der dritten Teamreihe (der hat Glueck gehabt). |
| // Wenn dem Team noch mehr Spieler angehoeren, befinden sie sich gerade |
| // nicht in der Umgebung (sprich im selben Raum) wie Hauweg. |
| |
| foreach ( i : 2 ) |
| { |
| foreach ( object pl : teamrows[i] ) |
| { |
| tell_object(pl,"Der Feuerteufel laesst eine Feuerwalze auf Dich " |
| "und Dein Team los.\n"); |
| |
| pl->Defend(200+random(200),({DT_FIRE}),([SP_SHOW_DAMAGE:1]),TO); |
| } |
| } |
| } |
| else |
| { |
| tell_object(enemy,"Der Feuerteufel laesst eine Feuerwalze auf Dich " |
| "los.\n"); |
| |
| enemy->Defend(200+random(200),({DT_FIRE}),([SP_SHOW_DAMAGE:1]),TO); |
| } |
| |
| ... |
| } |
| |
| BEMERKUNG: |
| Man beachte, dass das erste Argument (also Argument 0) die erste |
| Teamreihe ist. |
| |
| SIEHE AUCH: |
| Uebersicht: teamkampf |
| Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, |
| P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_LEADER, |
| P_TEAM_NEWMEMBER, P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW |
| Bewegung: IsTeamMove, TeamFlee |
| Mitglieder: IsTeamLeader, TeamMembers |
| Kampf: AssocMember, DeAssocMember, InsertEnemyTeam, |
| SelectNearEnemy, SelectFarEnemy |
| Positionen: PresentPosition, PresentEnemyRows, PresentTeamPosition, |
| SwapRows |
| Sonstiges: TeamPrefix, teamkampf_intern |
| |
| ---------------------------------------------------------------------------- |
| Last modified: 16-08-2010, Gabylon |