In der Regel sollte create_unit() benutzt werden, um Einheiten zu erzeugen, weil dann Parteitarnung, Rasse, etc. von der erzeugenden Einheit übernommen werden.
1. Wer auf KÄMPFE FLIEHE steht, rennt immer davon.
2. Jede andere Person die noch nicht getroffen worden ist, bleibt in der Kampfregion stehen. Als Treffer gilt jeder Angriff, auch wenn der Schlag in der Rüstung hängen blieb o.ä.
Ausserdem: Monster dürfen Fremdrassen rekrutieren. Wird z.Z. jedoch nicht genutzt, ausser von Testskripten.
http://eressea.upb.de/mantis/view.php?id=285
Insekten können Gletscher betreten.
Kompletter Umbau der movement-Routinen, wesentlich sauberer getrennt. Konstrukte wie A wird von B verfolgt, welcher C transportiert, und C wird von D verfolgt klappen, und kommend amit klar, das Einheiten zwishendurch stehenbleiben wegen fehlender Reichweite oder Gletscherproblemen.
Wenn hier nicht mindestens ein Bug drin ist, wäre ich überrascht, obwohl ich es mit diversen konstruierten Testfällen in LUA ausprobiert habe. Ich teste das gleich mal mit Datenfiles.
- FLIEHEnde oder NICHT kaempfende Einheiten koennen keine Beute mehr machen.
- Es gibt fuer select_enemy() u.a. jetzt eine Option, die ohne Beruecksichtigung des Advancements zu berechnen, wie fuer die o.g. Beuteverteilung benoetigt.
VERKAUFE ALLES verbessert
- http://eressea.upb.de/mantis/bug_view_page.php?bug_id=0000192
Keine opponent-Auswahl mehr im Kampf
- LUA:
unit.weight und unit.capacity (read-only)
- Reporterzeugung:
Parteiliste nur noch in parteien.full
Stringfix (Fräcke)
Änderungen am Parser. Quotes ("") werden jetzt mit \\ escaped.
SPACE_REPLACEMENT (~) gibts noch, wird aber nur gelesen, nicht erzeugt.
Muss dringend ausgiebiger getestet werden.
- Mallornbogen, Elfenbogen und Hellebarde in externer Datei statt im Code definiert.
- Gute/Böse Träume wieder aktiviert (war aus Versehen abgeschaltet)
- Score von Waffen anders berechnet.
Verflucht komplizierter Fix in movement. Das kann eigentlich nur schiefgehen.
Bei der Gelegenheit mal in movement etwas Code-Massage betrieben. Das ist zwar grundsätzlich ein hoffnungsloser Fall, aber ich kann's nicht lassen.
==12779==
==12779== Invalid read of size 1
==12779== at 0x807C3B2: simplename (common/kernel/battle.c:3049)
==12779== by 0x807C43D: make_battle (common/kernel/battle.c:3083)
==12779== by 0x807D236: do_battle (common/kernel/battle.c:3537)
==12779== by 0x80C9706: processorders (common/gamecode/laws.c:3556)
==12779== Address 0x45D84EB5 is 0 bytes after a block of size 13 alloc'd
==12779== at 0x40028A89: malloc (vg_replace_malloc.c:153)
==12779== by 0x40029038: realloc (vg_replace_malloc.c:302)
==12779== by 0x809D3C5: rds (common/kernel/save.c:265)
==12779== by 0x80A00C0: readregion (common/kernel/save.c:1832)
aus: Seine beste Fernampfwaffe und seine beste Nahkampfwaffe.
Welches die beste Waffe ist, ist nicht immer einleuchtend, und an dieser
Stelle macht der Server eine Vereinfachung - er wählt die Waffe, bei der der
Angriffswert plus dem Verteidigungswert am größten ist.
** Wenn eine Einheit an der Reihe ist, wird geprüft:
1. Ist die Einheit ein Magier, so zaubert sie.
2. Ist die Einheit damit beschäftigt, eine Waffe nachzuladen, so tut sie das.
3. Steht die Einheit in einer der hinteren Reihen, attackiert sie, so
vorhanden, mit der Fernkampfwaffe.
4. Steht die Einheit in der vorderen Kampfreihe, so attackiert sie mit
derjenigen Waffe von beiden, in der ihr Talent am höchsten ist.
** Wird eine Einheit angegriffen, so gilt:
1. Handelt es sich um einen Angriff durch einen Nahkämpfer, so verteidigt
sie sich mit ihrer Nahkampfwaffe oder Waffenlosem Kampf.
2. Handelt es sich um eine Attacke durch einen Fernkämpfer, so verteidigt
sie sich mit dem halben Talent ihrer besten Waffe.
- englische Zauberübersetzungen, Code gebaut und Übersetzung angefangen
- Visual Studio Project, neue Files eingefügt
- strnzcpy für MSVC hat nicht so richtig geklappt. alles gleich gemacht.
* Bugfix Sichtbarkeitsregel bei Borders
* Neu definiert, was eine attribut-funktion zurückliefern soll, wenn sie
failed. asserts, die checken das ich auch keine vergessen habe.
damit ist die killunit::handle Geschichte erledigt.
* Bugfix looting. Sowohl eigene als auch fremde Einheiten können looten.
* Korrektur doppeltes shock-attribut.
* Straßen, Diskrepanz im NR und CR beseitigt
* remove_empty_factions macht kein free mehr.
Neue allgemeine Eigenschaften für Gebäude:
- Magieresistenz,
- Magieresistenz für insassen,
- Auraregenerationsmodifikator für Insassen,
- Schutz im Kampf,
- Magisch