kaempferboni

Kaempferboni und deren Implementation


Bei den Kaempfern gibt es einige Properties, die, in Waffen oder Ruestungen gesetzt, der Kampfverlauf eines Spielers erheblich beeinflussen koennen.

Zu beachten ist, dass die Abnahme von Waffen oder Ruestungen mit Kaempferboni allein der Balance obliegt. Der Gildenmagier der Kaempfer steht aber gerne mit Rat und Tat zur Seite.

Abschnitt A

In Waffen koennen nachfolgende, in /p/kaempfer/kaempfer.h definierten, Properties gesetzt werden. Die meisten davon fungieren als ‘Boni’ und werden dem Spieler auch mittels ‘schaetz <waffe>’ angezeigt

1 Waffenschlagbonus - K_BRAWLING_WC (INT) - “k_brawling_wc”

Wenn die Waffe eine zusaetzlich gefaehrliche Stelle besitzt - z.B. einen harten Dorn am Stielende, eine Spitze am Ruecken einer Axtklinge, Zacken am Dolchgriff - kann man der Waffe einen Waffenschlagbonus geben. Dies bedeutet, dass der Waffenschlag um ein paar Prozente verstaerkt wird, da der Spieler natuerlich versucht, immer genau mit diesem ‘feature’ den Waffenschlag auszufuehren (der Waffenschlag ist kurz gesagt ein unerwarteter Schlag, der nicht mit dem ‘normalen’ Waffenende ausgefuehrt wird, der Gegner wird dadurch ueberrascht -> mehr Schaden). Da solch ein ‘feature’ doch recht auffaellig ist, sollte es in der Langbeschreibung der Waffe auf jeden Fall erwaehnt werden.

Interessant zu wissen waere noch, dass Zweihandwaffen einen generellen zusaetzlichen Bonus auf den Waffenschlag bekommen und dass es eine Abstufung gibt, nach der die Waffengattungen die Hoehe des Basiswertes gesetzt bekommen, wobei Speere den hoechsten und Messer den niedrigsten besitzen

Speere - Kampfstaebe - Aexte - Keulen - Schwerter - Messer

Der max. Bonus fuer diese Property betraegt 30, wobei 1-10 -> geringer Bonus, 11-20 -> guter Bonus, 21-30 -> sehr guter Bonus.

Bitte beachten ein Zweihand-Speer mit max. P_WC und max. K_BRAWLING_WC haut entsprechend gut rein und sollte nur schwer zu ergattern sein, bzw. noch andere Auflagen haben (ggf. unique, personalisiert, etc.)

2 Waffenschlagschaden - K_BRAWLING_DT (STRING) - “k_brawling_dt”

Wenn die Waffe, mit der der Kaempfer einen Waffenschlag ausfuehrt, ein ‘feature’ hat, mit dem er diesen Schlag ausfuehrt, kann dieses ‘feature’ einen anderen Waffenschlagschaden besitzen. Z.B. kann ein Schwert, welches normalerweise DT_SLASH macht, besonders lange und spitze Parierstangen besitzen, die vielleicht auch noch vergiftet sind. Dann kann der Magier ({DT_PIERCE,DT_POISON}) setzen, so dass beim Waffenschlag immer ein Mischschaden aus Stiche und Gift erfolgt.

3 Waffenschlagsmeldung - K_BRAWLING_MSG (STRING/STRING*) - k_brawling_msg”

In diese Property kann man hineinschreiben, mit welchem Teil der Waffe der Waffenschlag ausgefuehrt wird. Angenommen, es bietet sich an, mit einer Waffe stets den Waffenschlag mit einem grossen Knauf am Griff auszufuehren, wird schlicht und einfach “mit einem grossen Knauf am Griff der Schlachtaxt” in die Property gesetzt. Sollte sich bei der Programmierung ergeben, dass es sich anbietet, der Waffe mehr als nur eine guenstige Stelle anzudichten mit der man den Waffenschlag ausfuehren kann, so setzt man ein Array, z.B. ({“mit einem grossen Knauf am Griff der Schlachtaxt”,”mit der breiten Seite der ” “Schlachtaxtklinge”}). Insgesamt ist darauf zu achten, dass die Meldungen ‘vollstandig’ sind. Das Array kann beliebige Groesse annehmen, es wird dann zufaellig eine Meldung beim Schlag ausgesucht.

Es empfiehlt sich, jede Waffe mit dieser Property zu schmuecken, die K_BRAWLING_WC gesetzt haben, da die Waffenschlagmeldungen damit im Kampf ‘individualisiert’ werden. In der Praxis wird es jedoch daran scheitern, dass es viel zu viele alte Waffen gibt, die keiner mehr anfassen moechte. Daher wird auf Standardmeldungen zurueckgegriffen, sollte diese Property nicht gesetzt sein.

4 Waffenbruchbonus - K_WEAPON_SHATTER (INT) - “k_weapon_shatter”

Waffen, die besonders fuer den Waffenbruch konstruiert wurden, koennen einen Bonus einbringen, der in dieser Property angegeben wird. Natuerlich eignen sich die verschiedenen Waffentypen wieder unterschiedlich gut fuer einen Waffenbruch Keulen (meist aufgrund ihres Gewichts) am besten, Messer am schlechtesten, alle anderen dazwischen (Axt - Schwert - Stab - Speer). Dabei kriegen alle Waffen, die u.a. Schlagschaden verursachen, nochmal einen kleinen Bonus obendrauf.

Der max. Bonus fuer diese Property betraegt 50, wobei 1-10 -> geringer Bonus, 11-30 -> guter Bonus, 31-50 -> sehr guter Bonus.

Bei gut gelungenem Waffenbruch wird die Waffe des Gegners beschaedigt, wenn die Technik sehr gut gelingt, kann es auch sein, dass dem Gegner die Waffe aus der Hand geschlagen wird (der Spieler kann sie allerdings nicht aufheben und der NPC zueckt sie nach ein paar Kampfrunden wieder).

5 Bonus fuer Finte/Waffentrick - K_DISTRACTING_WEAPON (INT) -

“k_distracting_weapon”

Waffen, die fuer den Gegner aufgrund ihrer Bauweise besonders irritierend sein koennen, koennen einen Bonus fuer Finte und Waffentrick haben. Dabei wird der Gegner bei einer Finte bzw. einem Waffentrick NOCH mehr verwirrt, als er es ohnehin schon nur durch die angewandte Technik wird. Ein gutes Beispiel hierfuer ist z.B. der Kriegshamster ein Hamster, der auf einem Holzstab aufgespiesst ist, sollte fuer den Gegner schon SEHR irritierend sein ;). Die Waffengattung hat nur wenig Einfluss auf Finte/Waffentrick.

Der max. Bonus fuer diese Property betraegt 50, wobei 1-10 -> geringer Bonus, 11-30 -> guter Bonus, 31-50 -> sehr guter Bonus.

6 Todesstossbonus - K_CRITICAL_HIT (INT) - “k_critical_hit”

Man stelle sich eine Waffe mit besonders spitzer, langer Klinge vor oder eine magische Waffe, die dem geschwaechten Gegner die Seele entreisst. Diese Eigenschaften verleihen dem Spieler beim Todesstoss einen entsprechenden Bonus von bis zu 100%.

Es ist moeglich, dass ein und dasselbe ‘feature’ sowohl dem Waffenschlag als auch dem Todesstoss den Bonus stellt, z.B. zwei Hiebklingen auf dem Klingenruecken einer grossen Axt. Auch dies sollte man deutlich aus der Langbeschreibung herauslesen koennen.

Der max. Bonus fuer diese Property betraegt 100, wobei 100 eine Verdopplung der P_WC beim Todesstoss bedeutet! Ansonsten bedeutet 1-20 -> geringer Bonus, 21-60 -> guter Bonus, 61-100 -> sehr guter Bonus.

7 Waffenwurfbonus - K_THROWING_WEAPON (INT) - “k_throwing_weapon”

Wenn eine Waffe besonders gut zum Werfen geeignet ist, z.B. ein Wurfdolch, dann kann diese Property gesetzt werden. Natuerlich ist der Grundwert wieder von der Waffengattung abhaengig. Es gilt, dass man Messer und Speere grundsaetzlich am besten werfen - und dabei gut Schaden machen - kann, am schlechtesten schneiden Keulen und Kampfstaebe ab.

Der max. Bonus fuer diese Property betraegt 50, wobei 1-20 -> geringer Bonus, 21-40 -> guter Bonus, 31-50 -> sehr guter Bonus.

Zu beachten ist hierbei, dass ein sehr hoher Bonus nur bei Waffen mit etwas geringerer P_WC vergeben werden sollte. Ein reines Wurfmesser ist nunmal im normalen Kampf nicht die gefaehrlichste aller Waffen (speziell ausbalanciert, keinen richtigen Griff, etc.). Natuerlich kann es einen Wurfspeer mit max. P_WC und sehr hohem Waffenwurfbonus geben, allerdings mit den ueblich hohen Restriktionen.

8 KO-Schlag-Bonus - K_KO (INT) - “k_ko”

Waffen, die besonders fuer einen KO-Schlag geeignet sind, koennen einen Bonus mit dieser Property bekommen. Eine entsprechende Waffe koennte z.B. ein lederumwickelter Pruegel sein, denn man will den Gegner ja nur KO schlagen und nicht gleich toeten.

Der max. Bonus fuer diese Property betraegt 50, wobei 1-20 -> geringer Bonus, 21-30 -> guter Bonus, 31-50 -> sehr guter Bonus.

9 Kein Waffenschaerfen - K_NO_HONING (INT) - “k_no_honing”

Wenn eine Waffe aus irgendeinem Grund nicht geschaerft werden kann oder darf, muss man diese Property auf 1 setzen. Eine Erklaerung dafuer sollte in der P_LONG bzw. P_INFO erfolgen.

Abschnitt B

Die beiden Properties, P_EFFECTIVE_AC und P_EFFECTIVE_WC, welche in <combat.h> definiert sind, sind eigentlich nur dazu da, um Ruestungen und Waffen, die eine DefendFunc() bzw. HitFunc() besitzen, korrekt vom Spieler einschaetzen lassen zu koennnen.

Das Kaempferspellbook verwendet diese Properties darueberhinaus wie folgt

1 Schutzboni in Waffen - P_EFFECTIVE_AC (INT) - “effective_ac”

Ist diese Property in einer Waffe gesetzt, geht das Kaempferspellbook davon aus, dass diese Waffe mehr oder weniger die Faehigkeit besitzt, auch wie eine Ruestung schuetzen zu koennen. Da man eine Waffe aber nicht anziehen, sondern nur vor sich hertragen kann, kann auch der max. Ruestungsschutz einer Waffe nur gleich dem max. Ruestungsschutz eines Schildes entsprechen. Eine gesetzte P_EFFECTIVE_AC in einer Waffe wird dem Spieler als mehr oder weniger gute ‘Paradewaffe’ im ‘schaetz’ angezeigt und geht sowohl bei der Waffenparade als auch beim Block als Bonus mit ein.

Z.B. koennte ein leichtes Schwert, was aufgrund seiner Bauweise mehr fuer den defensiven Kampf ausgelegt ist (extralange Parierstangen, verstaerkter Handschutz im Griffbereich, ...) wie ein maessiges Schild wirken. Die Vorteile liegen auf der Hand der Spieler bekommt verstaerkten Schutz, kann aber weiterhin eine Zweihandwaffe fuehren.

Der max. Bonus fuer diese Property betraegt 40, wobei 1-20 -> geringer Bonus, 21-30 -> guter Bonus, 31-40 -> sehr guter Bonus.

Zu beachten ist hier, dass sehr gute Parierwaffen mit P_EFFECTIVE_AC > 30 moeglichst deutlich unter der max. WC liegen sollten.

Anmerkungen Eine gesetzte P_EFFECTIVE_AC in einem Schild kann den Bonus fuer die Schildparade nach oben oder unten beeinflussen. Moechte man ein Schild herstellen, welches speziell bei der Schildparade der Kaempfer besser als ‘normal’ schuetzt, sollte man hier einen Wert eintragen, der deutlich groesser als die P_AC des Schildes ist.

Eine gesetzte P_EFFECTIVE_AC in einer anderen Ruestung hat nur den Nutzen, auf deren erhoehten (und nicht sofort sichtbaren) Verteidigungswert hinzuweisen, der durch eine DefendFunc() realisiert wird.

2 Angriffsboni in Ruestungen - P_EFFECTIVE_WC (INT) - “effective_wc”

Fuer die Kaempfer koennen folgende Ruestungstypen modifiziert werden AT_TROUSERS (Hosen), AT_HELMET (Kopfbedeckung), AT_BOOT (Fusskleidung), AT_ARMOUR (Koerperruestung), AT_SHIELD (Schilde). Ist in einer dieser Typen P_EFFECTIVE_WC gesetzt, so macht diese Ruestung bei einem Angriff mit einer Spezialattacke (Kniestoss, Kopfstoss, Fusstritt, Ellbogenschlag und Schildstoss) entsprechend mehr bzw. weniger Schaden als ohne diese Property. Eine entsprechende Begruendung fuer eine Verstaerkung oder Schwaechung sollte auch hier fuer den Spieler offensichtlich sein (Dornen am Schild, verstaerkter Kniebereich, Zacken am Helm, etc.).

Wenn man der Ruestung einen Bonus geben moechte, muss man darauf achten, dass P_EFFECTIVE_WC hoeher ist als die P_AC der Ruestung! Sollte P_EFFECTIVE_WC niedriger als P_AC sein, wird dennoch P_EFFECTIVE_WC als Angriffswert genommen. Dies stellt natuerlich eine Schwaechung der Spezialattacke dar. Moeglicherweise ist aber genau das gewollt, wenn eine Ruestung, die sehr gut schuetzt, nur geringen Kaempferbonus aufweisen soll.

Beispiel ein Schild aus Hartgummi kann recht gut Schlaege aller Art abfangen (-> P_AC 35). Will der Kaempfer jedoch einen Schildstoss damit machen, fehlt ihm aufgrund der Beschaffenheit die Wucht, eher daempft es den Schildstoss noch ein wenig (-> P_EFFECTIVE_WC 25).

Der Maximalwert fuer die P_EFFECTIVE_WC bei Kaempfern ist der jeweils doppelte maximale P_AC-Wert (s. ‘man ruestungen’).

Die Angabe eines Schadenstyps (P_DAM_TYPE) in einer Ruestung kann dann sinnvoll sein, wenn bei der Spezialattacke ein spezieller Schaden gemacht werden soll. Beispielsweise sollten Flammenstiefel logischerweise DT_FIRE und DT_BLUDGEON oder DT_PIERCE bei einem Kampftritt verursachen. Es MUSS (logischerweise) mindestens ein physikalischer Schadenstyp enthalten sein. Wird kein Schadenstyp angegeben, wird auf Standardtypen zurueckgegriffen.

SIEHE AUCH

Waffen:     P_WC, P_TOTAL_WC, P_EFFECTIVE_WC, HitFunc()
Ruestungen: P_AC, P_TOTAL_AC, P_EFFECTIVE_AC, DefendFunc()
Files:      /std/weapon.c, /std/weapon/combat.c
Balance:    waffen, ruestungen, properties

26.10.2012, Gabylon