| 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 |