Start Info Community Spielen
 
 

Morgengrauner Dokumentation

Dateipfad: /home/mud/mudlib/doc//lfun/QuerySkillBonus

QuerySkillBonus()
*****************


FUNKTION
========

   int QuerySkillBonus(object caster, object target, mapping sinfo)


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

   beliebigen Objekten


ARGUMENTE
=========

   object caster
        der Benutzer eines Skills/Spells (Lebewesen)
   object target
        das Ziel eines Skills/Spells (beliebiges Objekt oder 0)
   mapping sinfo
        das Skillinfomapping


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

   Diese Funktion wird von der Gilde des Casters im Environment und ggf.
   auch im Ziel eines Skills/Spells gerufen.
   Die Gilde uebergibt neben Caster und Ziel ein Mapping mit Skillinfos (s.
   SI Konstanten aus new_skills.h fuer Details), welches alle wesentlichen
   Informationen ueber den benutzten Skill/Spell enthaelt.

   QuerySkillBonus() liefert einen Bonus (oder Malus) zurueck, den der
   Aufrufer als Faktor in der Berechnung des Effekts des Skills
   beruecksichtigen kann (aber nicht muss).
   Der Bonus/Malus wird hierbei als ganzzahliger 0.01-Prozentwert aufgefasst
   (10000 == 100% == keine Veraenderung, 1 == 0.01%).

   Diese Funktion kann in beliebigen Objekten (re-)definiert werden. Im
   Falle mobiler Objekte oder anhaltender Effekte ist jedoch eine
   Balancegenehmigung erforderlich, sofern kampfrelevante Skills beeinflusst
   werden.
   Eine flaechendeckende Reduzierung von Skills/Gildenfaehigkeiten ist
   explizit _nicht_ erwuenscht und soll auf einzelne Raeume und Objekte
   beschraenkt sein.


BEMERKUNGEN
===========

   Das Mapping  kann in dieser Funktion geaendert werden. Dieses kann
   allerdings sehr weitreichende Folgen haben, speziell bei mangelnden
   Kenntnissen ueber Interna des Skillsystems. Daher bitte von Aenderungen
   absehen bzw. vorher mit dem jeweiligen Gildenmagier und/oder der
   Gildenbalance abklaeren.
   Die Bedeutung der Werte in  kann je nach Gilde variieren. Im
   Zweifelsfall bitte bei den jeweiligen Gildenmagiern nachfragen.
   Die Gilde kann diese Funktion rufen, muss aber nicht. Ebenso kann sie das
   Ergebnis beruecksichtigen, muss aber nicht.


BEISPIELE
=========

   In einem Raum sollen Heilzauber besonders effizient sein:
   int QuerySkillBonus(object caster, object target, mapping sinfo) {
      if (pointerp(sinfo[SI_MAGIC_TYPE])
          && member(sinfo[SI_MAGIC_TYPE], MT_HEILUNG) > -1)
      {
          return 12000 + random(3000); // bonus von 120-150%
      }
      return 10000;
   }


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


gilden-doku



LETZTE AeNDERUNG ================ 19.08.2013, Zesstra


zurück zur Übersicht

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