FUNKTION:
AddSpell(int rate, int damage, string TextForEnemy,
string TextForOthers, mixed dam_type, int costs, int spell)
ARGUMENTE:
rate - Relative Haeufigkeit der Anwendung
(siehe BEISPIELE)
damage - Der Schadenswert fuer Defend()
TextForEnemy - Text, den der Feind erhalten soll
TextForOthers - Text, den andere erhalten sollen
dam_type - Schadenstyp(en) fuer Defend()
(Optional, Default: DT_MAGIC)
costs - Kosten des Spells, die bei jeder Ausfuehrung
abgezogen werden. (Optional, Default: 0)
Wenn costs<0 heilt sich der NPC um
costs bei jeder Ausfuehrung.
spell - Level des Zauberspruches (Optional. Default: 1.
0: physikalischer Angriff
1-10: Zauberspruch mit Stufe 1-10
-1 statt 0 ist aus historischen Gruenden erlaubt.)
BESCHREIBUNG:
Ermoeglicht einfache Angriffs-Zaubersprueche fuer NPCs.
Diese Sprueche werden mit der Wahrscheinlichkeit
P_SPELLRATE im heart_beat() ausgefuehrt. Es sollten im
allgemeinen 'costs' und 'spell' gesetzt werden.
Auf Grundlage von 'spell' wird P_NOMAGIC gecheckt, und
der Angriffs-Zauberspruch ggf. abgewehrt.
RÜCKGABEWERT:
1 - Spell wurde angemeldet
0 - Fehler in den Argumenten
BEMERKUNGEN:
TextForOthers kann &&WER&&, &&WESSEN&&, &&WEM&&, &&WEN&& und die
sonstigen von parse_mess() unterstuetzten Muster enthalten.
An diesen Stellen wird der Name des Gegners eingesetzt.
HINWEIS:
Es ist darauf zu achten, dass NPC, auch wenn sie schwer sind, dem
Spieler nicht den Spielspass nehmen. Spells, die das Opfer zu
100% toeten, ohne dass das Opfer eine Chance auf Gegenmassnahmen
hat, sind nicht erwuenscht.
BEISPIELE:
SetProp(P_SPELLRATE, 50);
AddSpell(90,400,
"Der Hexer greift Dich mit einem kleinen Feuerball an.\n",
"Der Hexer greift &&WEN&& mit einem kleinen Feuerball an.\n",
({DT_FIRE,DT_MAGIC}),1,2);
AddSpell(10,800,
"Der Hexer greift Dich mit einem riesigen Feuerball an.\n",
"Der Hexer greift &&WEN&& mit einem riesigen Feuerball an.\n",
({DT_FIRE,DT_MAGIC}),2,5);
Mit 50% Wahrscheinlichkeit wird ein Spell ausgefuehrt. (P_SPELLRATE)
Wenn ein Spell ausgefuehrt wird, ist es zu 90% ein kleiner Feuerball
und zu 10% ein riesiger Feuerball. (Verhaeltnis 9:1)
Wird der kleine Feuerball ausgefuehrt, kostet das dem NPC einen
Magiepunkt. Der Zauberspruch hat einen SpellLevel von 2.
SIEHE AUCH:
Defend(L), P_SPELLRATE, P_NOMAGIC, P_SPELLS, parse_mess(S)
spelllevel
|