Seite 2 von 3

+rotaMax

Verfasst: Di 7. Mär 2017, 15:09
von nemo
// +rotaMax (m)
Nicht als subMeta geeignet (außer bei +next). Unterstützt keine subMetas.
Setzt voraus: +rotate
Sonst: Passiert nichts.
Tut: Sorgt dafür, dass die Abstände bei nicht-sequentiellen (und damit rhythmisierten) +rotate-Anordnungen bestehen bleiben. Hierfür wird n=m gesetzt, wenn es von +rotate aus Null erreicht. Ohne +rotaMax würde n auf das höchsete andere n der vorhandenen +rotate-Zeilen gesetzt werden, wodurch die Gesamt-Anordnung langsam aber stetig wieder sequentiell würde.
Bsp.:
// +rotate1 LERNE Steuereintreiben
// +rotate3 TREIBE : TARNE Einheit
// +rotaMax 3
Behandelndes Skript: rotate(Unit)



(Zum Thread-Anfang)

+rotaL

Verfasst: Di 7. Mär 2017, 15:09
von nemo
// +rotaL (Talent) (Talent1) (Talent2) …
Nicht als subMeta geeignet (außer bei +next).
Unterstützt keine subMetas.
Setzt voraus: Müssen mindestens zwei Talente angegeben werden.
Sonst: Gibt es eine Fehlermeldung und die nachfolgenden Metabefehle (Der Bearbeitungsreihenfolge, NICHT der Einheitenreihenfolge) in der selben Region werden nicht ausgeführt. (Das selbe gilt für +rotaP)
Tut: Eine +rotate-Variante, die auf das Setzen von LERNE-Befehlen spezialisiert ist. Es wird „LERNE (Talent)“ gesetzt und (Talent) kommt an das Ende der Zeile, während alle anderen Talente je eins vorrücken.
Bsp.: // +rotaL Hiebwaffen Ausdauer Tarnung Tarnung Segeln Reiten Magie ;; +lernen Magie 28
Behandelndes Skript: rotaL(Unit)


(Zum Thread-Anfang)

[deprecated] +lernen

Verfasst: Di 7. Mär 2017, 15:10
von nemo

+anlernen

Verfasst: Di 7. Mär 2017, 15:10
von nemo
// +anlernen (Talent) [(n) (Talent1) [(n1)] (Talent2) [(n2)] ...] [- (Folgebefehl) [: (Folgebefehl1) : (Folgebefehl2) ...]]
Ist als subMeta geeignet.
Unterstützt subMetas als Folgebefehle (werden bei Auslösung zu Hauptmetas umgewandelt).
Setzt voraus: Gar nichts.
n: Zielwert des vorstehenden Talentes (optional)
Defaults: n=1
Tut: Sofern die Einheit nicht in allen angegebenen Talenten TW(x) >= n(x) hat, wird sie bestätigt.
Die angegebenen Talente werden nacheinander überprüft und LERNE-Befehl gesetzt. Wird das Talent mit Hilfe eines anderen Metas gelernt (+rotate, +rotaL, +lerne, +lehre, +next), wird der durch +anlernen gegebene Befehl ggf. überschrieben.
Sind alle angegebenen Talente auf n oder höher, wird die Einheit unbestätigt gelassen und ggf. die Folgebefehle gesetzt (diese müssen mit Bindestrich abgetrennt werden, sonst werden ihre Komponenten für Talente gehalten - untereinander werden die Folgebefehle mit Doppelpunkt abgegrenzt)
Auch wird überprüft, ob alle Talente richtig geschrieben ist (Genauer: Es wird mit einer festen Liste implementierter Talente abgeglichen -- Alchemie, Käuterkunde und Religion werden nicht unterstützt, solange man sie nicht selber eingetragen hat (und ich trag sie ein, sobald sie im Spiel auch wirklich verwendbar sind)). Ist mind. ein Talent nicht implementiert oder falsch geschrieben, wie die Einheit unbestätigt gelassen, eine Meldung geschrieben und LERNE für das erste implementierte Talent < n gesetzt (kann theoretisch zu einer falschen Meldung "; fertig gelernt" führen, wenn alle Talente <1 falsch geschrieben sind). Umlaute und "ß" werden zugelassen.
Folgebefehl kann ein getimtes Meta mit einem weiteren Folgebefehl beinhalten.
Bsp.: // +anlernen Tarnung Bogenschiessen Steuereinteiben - ;; +rotate1 TREIBE : ;; +rotate2 LERNE Steuereintreiben : ;; +anlernen Steuereintreiben 5 - ;; +treibe LERNE Bogenschiessen
Behandelndes Skript: anlernen(Unit,String)



(Zum Thread-Anfang)

+rotaP

Verfasst: Di 7. Mär 2017, 15:10
von nemo
// +rotaP (Item) (Item1) (Item2) …
Nicht als subMeta geeignet (außer bei +next).
Unterstützt keine subMetas.
Setzt voraus: Sofern (Item) keine Regionsresource ist, muss die Einheit die nötigen Rohstoffe haben oder bekommen (siehe +lager und die Reservierungs-Metas). Die Einheit muss das nötige Talent zum Herstellen des Items haben.
Sonst: Versucht die Einheit, herzustellen und scheitert.
Setzt ferner voraus: Müssen mindestens zwei Items angegeben sein.
Sonst: Gibt es eine Fehlermeldung und die nachfolgenden Metabefehle (Der Bearbeitungsreihenfolge, NICHT der Einheitenreihenfolge) in der selben Region werden nicht ausgeführt. (Das selbe gilt für +rotaL)
Tut: Wie +rotaL, aber mit MACHE.
Bsp.: // +rotaP Holz Elefant Pferd Kamel Eisen Elefantenpanzer Kriegselefant
Behandelndes Skript: rotaP(Unit)



(Zum Thread-Anfang)

+forst

Verfasst: Di 7. Mär 2017, 15:10
von nemo
// +forst (n) [(Alternativbefehl)]
Defaults: n=0; Alternativbefehl = "LERNE Holzfaellen"
Ist als subMeta geeignet.
Unterstützt genau ein subMeta als Alternativbefehl.
(n) ist der Prozent-Anteil der Arbeitsplätze der Region, welche minimal durch Bäume eingenommen werden sollen (in Wüsten der Unterwelt: Nehmt ein Viertel davon. Ich fixe keinen Bug, den ich nicht gebaut habe 8-) -- na gut, voraussichtlich doch zur Beta hin )
Tut: Wenn die Bäume in der Region mehr als (n) Prozent der Arbeitsplätze der Region einnehmen, werden sie so lange gefällt, bis sie auf oder unter (n) kommen. Wenn sie höchstens (n) Prozent der AP einnehmen, wird (Alternativbefehl) gesetzt. Ist keiner gesetzt, wird standardmäßig „LERNE Holzfaellen“ gesetzt.
Gebäude-Effekte werden berücksichtigt.
Bsp: // +forst 90 TREIBE
Behandelndes Skript: forst(Unit,ArrayList)



(Zum Thread-Anfang)

+herde

Verfasst: Di 7. Mär 2017, 15:11
von nemo
// +herde (Tier) (n) [(Alternativbefehl)]
Defaults: Tier = "Pferd", n = 0, Alternativbefehl = "LERNE Pferdedressur"
Ist als subMeta geeignet.
Unterstützt genau ein subMeta als Alternativbefehl.
Tut: Wie +forst, aber für Tiere statt Bäume.
ACHTUNG: Es kann zur Zeit nur jeweils ein Tier je Einheit angegeben werden.
Bsp.: // +herde Elefant 0 UNTERHALTE
Behandelndes Skript: monoHerde(Unit,String)



(Zum Thread-Anfang)

+unterhalte

Verfasst: Di 7. Mär 2017, 15:11
von nemo
// +unterhalte (Alternativbefehl)
Ist als subMeta geeignet.
Unterstützt genau ein subMeta als Alternativbefehl.
Setzt voraus: Einheit muss mindestens Unterhaltung 1 haben.
Sonst: Versucht sie erfolglos, zu UNTERHALTEn
Tut: Automatisiert das Verhalten bei UNTERHALTE so, dass eine bestimmte Silbermenge in der Region (20*Arbeitsplätze*(Lohn-10)) erhalten bleibt. Fällt das Regionssilber darunter, wird (Alternativbefehl) gesetzt.
Bsp.: // +unterhalte LERNE Unterhaltung
Behandelndes Skript: unterhalte(Unit,String)



(Zum Thread-Anfang)

+silreg

Verfasst: Di 7. Mär 2017, 15:11
von nemo
// +silreg (MindestSilber) (Alternativbefehl)
Defaults: MindestSilber = 20*Arbeitsplätze*(Lohn-10), Alternativbefehl = "LERNE Steuereinteiben"
Ist als subMeta geeignet.
Unterstützt genau ein subMeta als Alternativbefehl.
Setzt voraus: Einheit muss Steuereintreiben und Waffentalent können und bewaffnet sein.
Sonst: Erfolgloses TREIBE
Tut: Wenn das Altsilber/ der Stash in der Region größer als (MindestSilber) ist, wird TREIBE n gesetzt, sonst (Alternativbefehl).#
Bsp.: // +silreg 10000 UNTERHALTE
Behandelndes Skript: silreg(Unit)



(Zum Thread-Anfang)

+treibe

Verfasst: Di 7. Mär 2017, 15:12
von nemo
// +treibe (x) (Alternativbefehl)
Defauls: x = Arbeitsplätze*(Lohn-10), Alternativbefehl = "LERNE Steuereinteiben"
Ist als subMeta geeignet.
Unterstützt genau ein subMeta als Alternativbefehl.
(x) ist eine natürliche Zahl
Setzt voraus: Wie +silreg
Sonst: Wie +silreg
Tut: setzt TREIBE x, solange mindestens x Altsilber/ im Stash vorhanden ist, sonst (Alternativbefehl).
Bsp.: // +treibe 1000 LERNE Hiebwaffen
Behandelndes Skript: treibe(Unit,String)



(Zum Thread-Anfang)