blob: 6e2ddf5b9ac519f6b07e798afb49f7b90af64050 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001Waffenskills im MorgenGrauen
2----------------------------
3
4Das Skillsystem des MGs ist recht komplex. Hier nur ein paar Bemeerkungen
5zu den Waffenskills.
6
7Es gibt 2 Sorten von Waffenskills:
8
9* allgemeine Waffenskills. Diese sind in die Shell eingebunden.
10* Gildenspezifische Skills. Diese sind in der entsprechenden Gilde definiert.
11
12Die Skills werden in einer Property im Spieler gespeichert (P_NEWSKILLS). Es
13handelt es sich um ein mapping, das diesen Aufbau hat:
14
15(["ANY":([ANYSKILLS]),
16"gilde1":([SKILLS_VON_GILDE_1]),
17"gilde2":([SKILLS_VON_GILDE_2]),
18...])
19
20Mit Query(P_NEWSKILLS) erhaelt man das gesamte Mapping.
21
22Mit QueryProp(P_NEWSKILLS) erhaelt man NUR DIE SKILLS DER AKTUELLEN GILDE!
23Das heisst, im obigen Beispiel, wenn der Spieler in gilde1 ist, ist
24der Returnwert SKILLS_VON_GILDE_1.
25
26Sprich: Allgemeine Skills, wie allgemeine Waffenskills, stehen in diesem
27Mapping nicht drin! Ebenso wie z.B. der entgifte-Spell aus der
28Duesterwaldquest (wohl aber der der Kleriker, wenn man einer ist).
29
30Mit QuerySkill("skillname") kann man einen Skill abfragen. Dabei wird, wenn
31kein Skill unter diesem Namen in der aktuellen Gilde eingetragen ist, ein
32eventuell vorhandener ANY-Skill zurueckgegeben. Daher wird z.B. bei einem
33Abenteurer bei QueryProp(P_NEWSKILLS) der Schwertwaffenskill nicht
34angezeigt, wohl aber bei einem QuerySkill(FIGHT(WT_SWORD)).
35
36Prioritaet hat immer der Skill der Gilde, wenn er vorhanden ist.
37
38Man kann auch Skills in der Gilde unterdruecken. Dies geht ueber die Poperty
39P_GUILD_DEACTIVATE_SKILLS. Diese Skills werden nicht per se unterdrueckt,
40sondern nur die entsprechenden ANY-Skills.
41
42Sprich: Es sei A ein Abenteurer.
43
44xcall A->QuerySkill(FIGHT(WT_SWORD))
45
46mag folgendes zurueckgeben:
47
48Result: (["si_difficulty":150,"si_abil":0,"si_guild":"ANY"])
49
50tritt A daraufhin den Kaempfern bei und hat dort noch keinen Schwertskill
51gelernt, wird hingegen 0 zurueckgegebn. Fuer den Fall eines Austritts ist der
52Wert aber nach wie vor gespeichert, wie man per Query(P_NEWSKILLS) leicht
53sehen kann. Dies wird unterdrueckt, da in der Kaempfergilde die Prop
54P_GUILD_DEACTIVATE_SKILLS gesetzt wird.
55
56Tritt der Spieler den Chaoten bei, aendert sich hingegen bei diesem Aufruf
57nichts.
58
59Letzte Aenderung: Humni, 2003-07-09