Buff aktivieren - und wie deaktivieren?

  • Mesdames et Messieurs!

    Ich habe mir mit Blender ein (fast) neues Gebäude gebaut, welches - wenn der Spieler es baut - einen Buff aktivert. Das funktioniert alles bestens. Nun hätte ich aber schon gerne das der Buff aufgehoben wird wenn das Gebäude entfernt wird.

    Wie macht man denn sowas?

    Athos


  • Je vais le faire:

    Also das Gebäude wird via Trigger ab einem Arbeiter aktiviert - <Template>PublicServiceBuilding</Template>

    Sobald das Gebäude gebaut worden ist aktiviert ein Trigger einen GuildHouseBuff.

    Der Buff selbst ist eine Produktionserhöhung TargetPool 6000018.

    Und das alles ist jetzt eine "Übung", also alles änderbar, anderes Gebäude, Bufftyp , alles eben.

    Die Frage ist eben : wie kann ich den Buff wiedder rausnehmen?

    athos

  • Über einen trigger wieder löschen wenn das gebäude abgerissen wird. Dazu den Trigger Kopieren, die Bedingung auf 0 gegbäude stellen und ein <AddBuff>0</AddBuff> in <ActionBuff> einfügen.
    Aber damit beim wiederbauen der buff wieder ausgelöst wird muss man resets in den triggern einbauen das diese sich beim auslösen jeweils reseteten. Damit habe ich aber keine erfahrung .

    Soll der buff den Global aktiv sein, oder nur regional oder nur per insel?

    Wenns nur Regional/Insel sein soll, dann wäre es einfacher dem Gebäude den Buff über BuffFactory oder DefaultBuff zu geben. Dann ist der buff weg wenns gebäude weg ist.

  • Ergänzung zur Trigger-Empfehlung von Kurila:
    Wenn ohnehin mit 2 Triggern gearbeitet wird (1x beim Gebäudebau, 1x beim Abriss), ist es am einfachsten, wenn sich diese wechselseitig neu registrieren (mit "ActionRegisterTrigger").

    Bei globalen Buffs gilt es im übrigen zu bedenken, dass diese nur bei Sessions greifen, die zum Zeitpunkt des Triggerns bereits im Spiel waren.

    Make love not software!

  • Salutations, nobles messieurs.

    Gestern habe ich mich darangemacht mein Projekt samt euren Hinweisen fertigzustellen. Aber irgendewtas stimmt nicht. Oder besser: er tut nicht was ich will.
    Soll heißen: Buff startet beim Bau des Gebäudes, Buff endet NICHT beim Abris des Gebäudes.

    Ich habe den Mod als Datei angehängt. Kann sich das jemand mal ansehen?

    athos

  • Da haben sich doch ein paar Ungenauigkeiten eingeschlichen - kleine Fehler, große Wirkung. :)

    Ich habe Dir eine Datei angehängt mit Korrekturen der beiden entscheidenden Trigger.
    Um damit arbeiten zu können, solltest Du auf einen Spielstand zurücksetzen, bevor diese Trigger erstmals eingesetzt wurden.

    Es wundert mich übrigens, dass der Buff bei Dir überhaupt ausgelöst wird,
    Denn im Deaktivierungstrigger fragst Du auf Amount=0 ab, allerdings ohne einen Vergleichsoperator anzugeben. Deshalb findet der Defaultwert Verwendung und der lautet "AtLeast". Das hat zur Folge, dass die Bedingung immer erfüllt ist, egal ob eine Berufsschule gebaut ist oder nicht.

  • Merci beaucoup, monsieur

    Ich habe mir das jetzt natürlich angesehen, die Änderungen zur Kenntnis genommen und in mein persönliches Mod Baubuch eingefügt.:)

    Das montieren eines Vergleichsoperators war mir nun aber vollkommen neu. Mit der Info habe ich gleich mal der Einfachheithalber die gesamte Assets.xml der Spiels gefilzt und das natürlich auch gefunden. Und das der Buff ausgelöst wird in meiner Version - ist so. Das Teil ist übrigens ein Element für meine Ambitionen in Blender. Dort acker ich schon eine ganze Weile.

    d'accord.

    Vielen vielen Dank für die Hilfe.:thumbup:

    athos

  • Le maître!

    Da wäre noch eine Frage ......

    Buffs orientieren sich in der Bereitstellung ihrer Leistungen ja an den EffectedTargets. Wenn ich also z.B. die Holzfällerhütte Alte Welt und Holzfällerhütte Neue Welt als Zielgebäude nenne sollte der Buff doch auf beide wirken. Soll heißen : der in der alten Welt aktivierte Buff gilt auch in der neuen Welt.

    Oder nicht?

    Athos

  • Das hängt von der Art der Buffs ab.

    Wenn Du Buffs meinst, die über "AddBuff" aktiviert werden, so gelten diese stets global.
    Allerdings nur in den Sessions, die zum Zeitpunkt der Buff-Aktivierung schon im Spiel (= schon betreten) sind.
    (Einzelheiten zu diesem ebenso spannenden wie ambitionierten Thema findest Du hier:
      https://github.com/Serpens66/Anno…sset/assets.xml )

    Bei allen anderen Buffs (ProductivityBuffs, ItemSet-Buffs, ...) kann der Scope, also der Geltungsbereich, gezielt definiert werden (local, Radius, Area, Session u.a.).

    Make love not software!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!