
QuerySpell()
************


FUNKTION
========

   mapping QuerySpell(string spell)


DEFINIERT IN
============

   /std/gilden_ob.c


ARGUMENTE
=========

   string spell       Name des Spells


BESCHREIBUNG
============

   Liefert fuer diesen Spell die Gilden- und Spellbookinformationen
   zusammengefasst in ein Mapping zurueck.
   Die Gildeninformationen haben dabei Vorrang (d.h. eine Lernrestriktion
   im Spellbook wird benutzt, bei unterschiedlichen Werten fuer das gleiche
   Attribut geht der Wert in der Gilde vor).


BEISPIEL
========

   // /gilden/klerus->QuerySpell("entfluche") gibt zB zurueck:
   ([SI_SPELLFATIGUE: 2,
     SI_SP_LOW_MSG:   "Deine Konzentration reicht nicht aus, das Interesse "
                      "der Goetter zu "wecken.\n",
     SI_TIME_MSG:     "So schnell koennen sich die Goetter nicht wieder um "
                      "Dich kuemmern!\n",
     SI_SKILLLEARN:   5,
     OFFSET(SI_SKILLLEARN):15
     SI_SKILLRESTR_LEARN:
     ([P_LEVEL:       7,
       P_GUILD_LEVEL: LVL_WANDER,
       SR_FUN:        #'gilden/klerus->glaubensTest]),
     SI_DIFFICULTY:   100,
     SI_SKILLINFO:    "Wanderprediger ab Stufe 7",
     SI_SKILLINFO_LONG:
       "Um jemanden von einem laestigen Sprachfluch zu befreien, "
       "sollte man diese Anrufung benutzen [...]",
     SP_NAME:         "entfluche",
     SI_SKILLRESTR_USE: ([ SR_FREE_HANDS : 0 ]),
     SI_MAGIC_TYPE:   ({MT_SAKRAL})
     SI_GOD:          LEMBOLD,
     SI_SKILLRESTR_USE:     ([SR_FUN:#'gilden/klerus->spellTest()]),
     OFFSET(SI_SKILLLEARN): #'gilden/klerus->learnOffset,
     OFFSET(SI_SPELLCOST):  #'gilden/klerus->costOffset,
     FACTOR(SI_SPELLCOST):  #'gilden/klerus->costFactor])


SIEHE AUCH
==========

   GObj Lernen:    LearnSkill, LearnSpell, InitialSkillAbility
   * Anzeigen:     SkillListe
   * Verwalten:    AddSkill, AddSpell, QuerySkill
   * Nutzen:       UseSpell (gilde)
   * Properties:   P_GUILD_SKILLS, P_GLOBAL_SKILLPROPS
   Gildenfkt.:     GuildRating
   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten

3. Okt 2011 Gloinson
