Lpc Manpages

OBJEKT:
  /std/gilde.c


KONZEPT:
  Ein Spieler kann Mitglied einer Gilde werden. Durch die Zugehoerigkeit
  stehen ihm verschiedene Faehigkeiten - "Spells" - zur Verfuegung, die 
  wie ein normales Kommando aktiviert werden koennen.

  Die Gilde uebernimmt saemtliche Verwaltungs der Spells und legt 
  Beschraenkungen fuer Gildenlevel und Umstaende, unter denen Spells
  benutzt werden koennen, fest.

  Fuer jedes Gildenmitglied und jeden Spell existiert ein Wert (i.d.R zwischen 
  0 und 10000), der die Beherrschung des Spells angibt. Bei der Ausfuehrung 
  eines Spells wird zu diesem Wert ein zufaelliger Wert zwischen 0 und 10000
  addiert, das Ergbnis bestimmt, welche Aktionen durchgefuehrt werden sollen.

  Die Standardgilde selbst erscheint nach aussen als Raum, der die Kommandos  
 
    "eintreten"  - Gildeneintritt
    "austreten"  - Gildenaustritt 
    "kosten"     - Anzeigen der Bedingungen fuer das naechste Gildenlevel
    "erhoehe"    - Erhoehen des Gildenlevels
    "lerne"      - Lernen eines neuen Spells 

  zur Verfuegung stellt.

  Ist das nicht erwuenscht, kann das entsprechende Kommando mit RemoveCmd() 
  entfernt werden.

  Im create() der Gilde werden Level und Spells festgelegt.
  Ein Level wird durch einen Block 

    BeginLevel(int level);
      MaleTitle(string male_title);
      FemaleTitle(string female_title);
      <Restriktionen>
    EndLevel();

  ein Spell dagegen durch einen Block

    BeginSpell(string spell_name);
      SpellInfo(string erklaerung_was_tut_der_spell);
      <Objektbeschreibungen>
      <Restriktionen>

      ResultRange(int untere_grenze, int obere_grenze);
      <Aktionen>

      ResultRange(..) ...
    EndSpell();

  beschrieben.

  Ein Spell kann mehrere Objekte betreffen. Eines davon ist immer der
  Spellbenutzer ("Caster") selbst, eines ist der ihn umgebende Raum.
  Darueber hinaus kann der Spell noch andere Objekte betreffen, oft
  gibt es ein Opfer ("Victim") und verschiedene Objekte, die zur 
  Ausfuehrung des Spells notwendig sind.

  Das Victim wird in der Regel ueber eine im Spellkommando gegebene Id
  identifiziert, zusaetzliche Objekte muessen 'present' sein. 


BEISPIEL:

  Gildenlevel 2 wird erreicht mit 500 Kampfpunkten und 10 Abenteuerpunkten
  und erlaubt die Verwendung eines Standardangriffspruchs "sandwurf" sowie
  eines Spells "licht", der es erlaubt, eine Oellampe anzuzuenden.
  
    BeginLevel(2);
      MaleTitle("der Tollpatsch");
      FemaleTitle("der Tollpatsch");
      CasterRest(P_XP,S_GEQ,500,"Du brauchst dafuer 500 Kampfpunkte");
      CasterRest(P_QP,S_GEQ,10,"Du brauchst dafuer 10 Abenteuerpunkte.");
      Skill("sandwurf", 2500, 3500, 10);
      Skill("feuer", 2000, 5500, 10);
    EndLevel();

SIEHE AUCH: