Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc//props/skill_info_liste

skill_info_liste
****************


SI_*
====


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

   /sys/newskills.h


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

   Die folgende Liste der SI-Typen ist grob nach Gueltigkeit fuer Skills
   und Spells sortiert.



   Anwendungsorte der SI_-Werte sind:
   - /std/living/combat und von dort gerufene Skills (Kampf)
   - /std/gilden_ob und in Gilden lernbare Spells/Skills
   - /std/spellbook und von Spellbooks ausgefuehrte Spells
   - /std/living/life und von dort gerufene Skills (Alkohol)
   - /std/shells/* und entsprechende Rassenskills

   Im Skillsystem unter /std/living/skills wird vor auf Informationen
   aus dem Teil #1 Ruecksicht genommen. Einige dieser Werte
   werden auch permanent im Spieler gespeichert (wie zB die
   SI_SKILLABILITY).

AKTUELLE LISTE: (5. Oktober 2011)
   #1 Skills und Spells:
      SI_SKILLFUNC: string
         Beinhaltet den Namen der Methode, die die eigentliche
         Funktionalitaet des Skills/Spells implementiert. Falls nicht
         angegeben, wird bei Spells durch UseSpell() das Verb, das der
         Spieler eingegeben hat, als Spell-Methodenname angenommen. Im
         Gildenobjekt kann hier abweichend von Spell-Namen stehen, wie
         die Spellfunktion im Spellbook heisst.

      SI_CLOSURE: closure
         Optimiert den Zugriff fuer den internen Gebrauch, indem die
         gefundene Spell/Skillfunktion darin direkt gespeichert wird
         und so lange gueltig ist, bis das/die Objekt(e)/Closure(s)
         zerstoert sind. Kann theoretisch auch fuer externe Skills
         durch (Autoload-)Objekte benutzt werden.

      SI_SKILLABILITY: int
         Faehigkeit, den Spell/Skill zu benutzen. Normal ist von
         -MAX_ABILITY bis MAX_ABILITY.

      SI_SKILLDAMAGE_TYPE: string*
         Art des Schadens eines Angriffs: siehe Schadenstypen in
         /sys/combat.h

      SI_SKILLDAMAGE_MSG: string
         Meldung anstatt der Waffe oder Haende-Meldung.

      SI_SKILLDAMAGE_MSG2: string
         Meldung anstatt der Waffe oder Haende-Meldung fuer den Raum.

      SI_INHERIT: string
         Enthaelt den Namen des Skills/Spells, von dem geerbt wird.
         Das bedeutet einerseits, das LearnSkill() auch diesen
         uebergeordneten Skill beeinflusst und andererseits, dass bei
         Skills auch dieser uebergeordnete Skill im Rahmen einer
         Skill-Anwendung gerufen wird.

      SI_DIFFICULTY: int / [Spells: mixed]
         Schwierigkeit eines Skills/Spells. Beeinflusst die jeweils
         oberen Schranken fuer das Lernen eines Skills/Spells in
         Abhaengigkeit von Spielerlevel. Wenn in einem Spell-Info-
         Mapping kein Wert steht wird bei Spells automatisch
         SI_SPELLCOST genommen, der Wert im Spell-Info-Mapping geht
         beim Lernen aber immer vor Parametern.

      FACTOR(SI_DIFFICULTY): int / mixed OFFSET(SI_DIFFICULTY): int /
      mixed

         Nur fuer Spellbooks/Spells. Der mixed-Parameter kann
         Funktionen enthalten. Siehe unten bei SI_SPELLCOST.

      SI_LASTLIGHT: int
         Zeitpunkt, bis wann der Standardskills SK_NIGHTVISION den
         Spieler sehen laesst.

      SI_TESTFLAG: int
         Wenn gesetzt, dann soll der Skill nicht genutzt, sondern nur
         getestet werden, ob er erfolgreich waere. Entspricht also in
         etwa dem Aufruf von SpellSuccess() in Spellbooks, wird aber
         bei UseSkill() als Skill-Parameter uebergeben. Der Skill muss
         entsprechend implementiert sein!

      SI_GUILD: string
         Angabe der Gilde, aus der der Skill stammt. Sinnvoll, wenn
         der Skill nicht aus der aktuellen P_GUILD stammt. Fuer
         generelle Skills/Spells zB waere das "ANY". Gilt nicht fuer
         Spells!

      SI_ENEMY: object
         Aktuelles Feindesobjekt, wird bei Skill-Anwendung aus dem
         Kampf heraus von std/living/combat.c an den Skill uebergeben.
         Beispiel: Standardwaffenskills, SK_MAGIC_DEFENSE,
         SK_MAGIC_ATTACK,

            SK_TWOHANDED, SK_SPELL_DEFEND, SK_INFORM_DEFEND und
            SK_DEFEND_OTHER.

      SI_FRIEND: object
         Zu verteidigendes Freundesobjekt, wird bei Skill-Anwendung
         aus dem Kampf heraus von std/living/combat.c an den Skill
         uebergeben. Beispiele: SK_INFORM_DEFEND und SK_DEFEND_OTHER.

      SI_MAGIC_TYPE: string*
         Enthaelt ein Array der Magietypen, die zum Einsatz kommen.
         Die Angabe geschieht zB im Spellbook und beeinflusst
         SpellDefend().

      SI_LAST_USE: int (eventuell obsolet)
         Letzte Nutzung des Skills.

      SI_LEARN_PROB: int (eventuell obsolet)
         Lernwahrscheinlichkeit.

      SI_SKILLDURATION: int
         Dauer des Skills/Spells. Momentan nicht allzu verbreitet in
         Nutzung.

   #2 nur fuer Spells:
      SI_SPELLBOOK: string
         Kann direkt das enthaltende Spellbook fuer einen Spell
         enthalten.

      SM_RACE: mapping
         Mapping, das als Key die Rasse und als Value ein Mapping X
         enthaelt. Dieses Mapping X wird direkt zu sinfo hinzugefuegt
         und ueberschreibt damit bei Bedarf Defaultwerte durch
         rassenspezifische Werte.

      SI_SPELLCOST: int / mixed FACTOR(SI_SPELLCOST): int / mixed
      OFFSET(SI_SPELLCOST): int / mixed

         Beinhaltet die Werte, die fuer die Berechnung der Spellkosten
         zustaendig sind. Dabei gilt: Realkosten = OFFSET(COST) +
         (COST * FACTOR(COST))/100 Die einzelnen Eintraege koennen
         anstatt eines fixen Wertes auch den Verweis auch eine
         Funktion in Form von Closure/Methodenname/Array mit
         Objekt/Objektname und Methodenname enthalten. Siehe dazu auch
         execute_anything().

      SI_TIME_MSG: string
         Meldung, die dem Spieler mitteilt, dass er noch nicht wieder
         einen Spell casten kann. Falls dieser Eintrag nicht gesetzt
         ist, wird ein Standardtext ausgegeben.

      SI_SP_LOW_MSG: string
         Meldung, die dem Spieler mitteilt, dass er zu wenige
         Konzentrationspunkte besitzt, um den Spell zu casten. Falls
         dieser Eintrag nicht gesetzt ist, wird ein Standardtext
         ausgegeben.

      SI_PREPARE_MSG: string
         Meldung, die dem Spieler ausgegeben werden soll, wenn er
         einen Spell vorbereitet. Ansonsten wird ein Standardtext
         ausgegeben.

      SI_PREPARE_BUSY_MSG: string
         Meldung, die dem Spieler ausgegeben werden soll, wenn er
         schon diesen Spell vorbereitet. Ansonsten wird ein
         Standardtext ausgegeben.

      SI_PREPARE_ABORT_MSG: string
         Meldung, die dem Spieler ausgegeben werden soll, wenn er die
         Vorbereitung dieses Spells durch einen anderen Spell
         unterbricht. Ansonsten wird ein Standardtext ausgegeben.

      SI_NOMAGIC: int
         Wert zwischen 0 und 100 (oder mehr), der gegen die P_NOMAGIC-
         Wirkung eines Raumes wirkt. Je hoeher der Wert ist, desto
         unwahrscheinlicher ist es, dass ein Raum den Spell durch
         Antimagie stoert. Ein Raum sollte nur Werte zwischen 0 und
         100 gesetzt haben. Ist der Wert des Raums groesser als der
         hier angegeben, dann blockiert er Magie mit einer gewissen
         eben seiner angegebenen Wahrscheinlichkeit.

      SI_NOMAGIC_MSG: string
         Meldung, die bei Fehlschlag durch P_NOMAGIC des Raumes
         ausgegeben wird. Ansonsten wird ein Standardtext ausgegeben.

      SI_SPELLFATIGUE: int / mixed FACTOR(SI_SPELLFATIGUE): int /
      mixed OFFSET(SI_SPELLFATIGUE): int / mixed

         Werte, die fuer die Berechnung der Wieder-Cast-Zeit benutzt
         werden. Die Berechnung und die moeglichen Angaben (Closure
         etc.) sind identisch zu SI_SPELLCOST. Das Spellbook gibt bei
         Nicht-Wieder-Bereitschaft SI_TIME_MSG aus.

      SI_X_SPELLFATIGUE: mapping mit ([string key: int val])
         Werte, die fuer die Berechnung der Wieder-Cast-Zeit benutzt
         werden. Spellbook-Casten: Mapping wird durch Aufruf von
         CheckSpellFatigue() am Caster gefiltert. Nur wenn das
         resultierende Mapping leer ist (kein  hat einen
         gueltigen Fatigue-Eintrag), ist Spell castbar, sonst Ausgabe
         von SI_TIME_MSG. Nach Spellbook-Casten: Setzen der Fatigue
         fuer alle  > 0 mit .

      SI_SKILLLEARN: int / mixed FACTOR(SI_SKILLLEARN): int / mixed
      OFFSET(SI_SKILLLEARN): int / mixed

         Werte, die fuer die Berechnung der Lerngeschwindigkeit
         benutzt werden, normalerweise pro A_INT/2 je 0.01% (also 1
         von MAX_ABILITY). Die Berechnung und die moeglichen Angaben
         (Closure etc.) sind identisch zu SI_SPELLCOST.

      SI_LEARN_ATTRIBUTE: mapping
         Mapping, welches die Attribute, nach denen gelernt werden
         soll als Keys enthaelt. Der Value legt die Gewichtung fest,
         denn bei mehreren Attributen wird ein Mittelwert gebildet.
         Der Normalfall entspraeche ([A_INT: 1]) fuer
         SI_LEARN_ATTRIBUTE.

      SI_NO_LEARN
         Wenn man (temporaer!) nicht will, dass dieser Skill gelernt
         wird. Muss von den Spellbooks beachtet werden. Sollte niemals
         im Spieler abgespeichert werden. Oder permanent in
         Gilde/Spellbook gesetzt sein. Sondern im Laufe einesr Nutzung
         in der jew. Kopie von sinfo gesetzt werden, die gerade
         genutzt wird.

         SI_SKILLARG: string Beinhaltet den Text, den der Spieler nach
         dem Spellkommando eingegeben hat. Z.B. stuende bei
         "krallenschlag ork 2" der Text "ork 2" im Parameter.

      SI_SKILLRESTR_USE: mixed
         Einschraenkungen fuer das Nutzen des Spells. Wird
         normalerweise direkt im Spellbook fuer den Spell eingetragen.
         Die einzelnen Moeglichkeiten werden in der manpage zu
         "check_restrictions" erlaeutert.

      SI_SKILLRESTR_LEARN: mixed
         Einschraenkungen fuer das Lernen des Spells. Wird
         normalerweise direkt im Gildenobjekt fuer den Spell
         eingetragen. Die einzelnen Moeglichkeiten werden in der
         manpage zu "check_restrictions" erlaeutert.

      SI_SKILLINFO: string SI_SKILLINFO_LONG: string

         Beschreibung des Spells. Wird im Gildenobjekt eingetragen und
         SI_SKILLINFO wird von SkillListe angezeigt.

      SI_SKILLDAMAGE: int / mixed FACTOR(SI_SKILLDAMAGE): int / mixed
      OFFSET(SI_SKILLDAMAGE): int / mixed

         Werte, die fuer die Schadenshoehenberechnung des Spells
         benutzt werden (random ueber den Gesamtwert normalerweise).
         Die Berechnung und die moeglichen Angaben (Closure etc.) sind
         identisch zu SI_SPELLCOST.

      SI_SKILLDAMAGE_BY_ROW
         Ein Mapping mit Boni fuer den Angriff aus bestimmten
         Kampfreihen. Funktioniert nur bei Verwendung von
         TryDefaultAttackSpell-Spells aus dem Spellbook. Der Key steht
         fuer eine bestimmte Reihe, sein Wert fuer den randomisierten
         Bonus fuer Lebewesen, die aus dieser Reihe casten.

      OFFSET(SI_SKILLDAMAGE_BY_ROW)
         Ein Mapping mit fixem Wert fuer Row-Boni im Kampf.

         Beispiel: AddSpell("feuerball", 20,
            ([SI_SKILLDAMAGE:50,
               OFFSET(SI_SKILLDAMAGE):100,
               SI_SKILLDAMAGE_BY_ROW:([2:40,3:20}),
               OFFSET(SI_SKILLDAMAGE_BY_ROW):([2:20]), ...

         gibt
            Reihe 1: random(50)+100; Reihe 2:
            random(50)+100+random(40)+20 Reihe 3:
            random(50)+100+random(20)

         ACHTUNG: Hier gilt nicht die selbe Struktur wie bei
         SI_SPELLCOST!

      SI_SPELL: mapping
         Dieser Eintrag enthaelt verschiedene Unterwerte, die den
         Spell gerade fuer Angriffs-Spells genauer beschreiben. Siehe
         Defend() fuer eine Beschreibung der verschiedenen Eintraege
         (die so auch in das Spellbook uebernommen werden koennen).

      SI_COLLATERAL_DAMAGE: int
         Hiermit kann man einen Prozentwert von SI_SKILLDAMAGE
         (inklusive Offsets und Factor) fuer Kollateralschaden an
         Freunden im definierten Bereich eines Flaechenspells
         (TryGlobalAttackSpell()) angeben. 10 bedeutet bei
         OFFSET(SI_SKILLDAMAGE)=100 zB 10% von 100 = 10 = 1 LP an mit
         reduce_hit_points() verursachtem Schaden.

      SI_NUMBER_ENEMIES, SI_NUMBER_FRIENDS: int
         Wird von TryGlobalAttackSpell() im Spell gesetzt und enthaelt
         die Anzahl der im angegebenen Bereich befindlichen Feinde und
         Freunde. Ist dementsprechend von informativem Nutzen fuer den
         Angegriffenen und das Spellbook NACH Aufruf von
         TryGlobalAttackSpell().

      SI_DISTANCE, SI_WIDTH, SI_DEPTH: int
         Limitiert die Entfernung, Tiefen und Breite der Wirkung eines
         TryGlobalAttackSpell()

      SI_SKILLHEAL: int
         Konvention fuer Spells im Spellbook, dort den Heilwert zu
         hinterlegen, hat keine Auswirkungen unter /std/.

      SI_USR: mixed
         Fuer selbst definierte Infos, spellbookabhaengig.

      SI_PREPARE_TIME: int
         Dauer der Zeit fuer zu praeparierende Spells.

      SI_ATTACK_BUSY_MSG: string
         Meldung, die dem Spieler mitteilt, dass er schon zu
         beschaeftigt mit einem Angriff ist, um einen Spell zu casten.
         Falls dieser Eintrag nicht gesetzt ist, wird  ein
         Standardtext ausgegeben.

      SI_NO_ATTACK_BUSY: int
         Enthaelt als Flag NO_ATTACK_BUSY_QUERY wenn der Spell NICHT
         wie eine Spezialwaffe die Aktionen einschraenkt. Siehe
         P_ATTACK_BUSY.

      SI_ATTACK_BUSY_AMOUNT: int
         Menge des P_ATTACK_BUSY fuer diesen Spell. Falls dieser Wert
         nicht gesetzt ist, aber auch SI_NO_ATTACK_BUSY nicht mit
         NO_ATTACK_BUSY_QUERY ausgezeichnet ist wird 1 angenommen.


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


Skills Lernen: LearnSkill, ModifySkill, LimitAbility * Nutzung: UseSpell, UseSkill * Abfragen: QuerySkill, QuerySkillAbility * Modifikation: ModifySkillAttribute, QuerySkillAttribute, QuerySkillAttributeModifier, RemoveSkillAttributeModifier * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS * sonstig: spruchermuedung * Properties: P_NEWSKILLS Spellbook: UseSpell, Learn, SpellSuccess Gilden: gilden-doku Kampf: Defend

7. Nov 2012 Gloinson


zurück zur Übersicht

YOUTUBE | FACEBOOK | TWITTER | DISCORD | FEEDBACK | IMPRESSUM | DATENSCHUTZ 1992–2023 © MorgenGrauen.