Umsetzung Announce 13.9.: Die Kampfauswirkung auf Bewegung war nicht implementiert.
This commit is contained in:
Enno Rehling 2006-01-15 17:50:01 +00:00
parent 9b2014d3b4
commit 08fec11034
4 changed files with 32 additions and 13 deletions

View File

@ -2395,8 +2395,7 @@ aftermath(battle * b)
cv_foreach(s, b->sides) { cv_foreach(s, b->sides) {
int snumber = 0; int snumber = 0;
fighter *df; fighter *df;
boolean relevant = false; /* Kampf relevant für dieses Heer? */ boolean relevant = false; /* Kampf relevant für diese Partei? */
boolean active_army = false; /* anyone in this army done much? */
if (s->bf->lastturn+(b->has_tactics_turn?1:0)>1) { if (s->bf->lastturn+(b->has_tactics_turn?1:0)>1) {
relevant = true; relevant = true;
} }
@ -2407,17 +2406,20 @@ aftermath(battle * b)
int dead = du->number - df->alive - df->run.number; int dead = du->number - df->alive - df->run.number;
int sum_hp = 0; int sum_hp = 0;
int n; int n;
boolean involved = relevant && df->action_counter >= du->number;
snumber += du->number;
if (involved) { snumber += du->number;
ship * sh = du->ship?du->ship:leftship(du); if (relevant) {
if (sh) fset(sh, SF_DAMAGED); fset(du, UFL_MOVED); /* unit cannot move this round */
fset(du, UFL_LONGACTION); if (df->action_counter >= du->number) {
ship * sh = du->ship?du->ship:leftship(du);
if (sh) fset(sh, SF_DAMAGED);
fset(du, UFL_LONGACTION);
}
} }
for (n = 0; n != df->alive; ++n) { for (n = 0; n != df->alive; ++n) {
if (df->person[n].hp > 0) if (df->person[n].hp > 0) {
sum_hp += df->person[n].hp; sum_hp += df->person[n].hp;
}
} }
if (df->alive == du->number) { if (df->alive == du->number) {
@ -2432,7 +2434,7 @@ aftermath(battle * b)
/* Zuerst dürfen die Feinde plündern, die mitgenommenen Items /* Zuerst dürfen die Feinde plündern, die mitgenommenen Items
* stehen in fig->run.items. Dann werden die Fliehenden auf * stehen in fig->run.items. Dann werden die Fliehenden auf
* die leere (tote) alte Einheit gemapt */ * die leere (tote) alte Einheit gemapt */
if (fval(df,FIG_NOLOOT)){ if (fval(df, FIG_NOLOOT)){
merge_fleeloot(df, du); merge_fleeloot(df, du);
} else { } else {
loot_items(df); loot_items(df);

View File

@ -2409,13 +2409,18 @@ movement(void)
switch (kword) { switch (kword) {
case K_ROUTE: case K_ROUTE:
case K_MOVE: case K_MOVE:
if (attacked(u)) { /* after moving, the unit has no thisorder. this prevents
* it from moving twice (or getting error messages twice).
* UFL_MOVED is set in combat if the unit is not allowed
* to move because it was involved in a battle.
*/
if (fval(u, UFL_LONGACTION) || fval(u, UFL_MOVED)) {
cmistake(u, u->thisorder, 52, MSG_MOVE); cmistake(u, u->thisorder, 52, MSG_MOVE);
set_order(&u->thisorder, NULL); set_order(&u->thisorder, NULL);
} else if (!can_move(u)) { } else if (!can_move(u)) {
cmistake(u, u->thisorder, 55, MSG_MOVE); cmistake(u, u->thisorder, 55, MSG_MOVE);
set_order(&u->thisorder, NULL); set_order(&u->thisorder, NULL);
} else { } else if (!fval(u, UFL_MOVED)) {
if (ships) { if (ships) {
if (u->ship && fval(u, UFL_OWNER)) { if (u->ship && fval(u, UFL_OWNER)) {
init_tokens(u->thisorder); init_tokens(u->thisorder);

View File

@ -367,6 +367,18 @@
<Filter <Filter
Name="XML files" Name="XML files"
Filter=""> Filter="">
<File
RelativePath="..\res\buildings.xml">
</File>
<File
RelativePath="..\res\messages.xml">
</File>
<File
RelativePath="..\res\races.xml">
</File>
<File
RelativePath="..\res\resources.xml">
</File>
<File <File
RelativePath="..\res\de\strings.xml"> RelativePath="..\res\de\strings.xml">
</File> </File>

View File

@ -5291,7 +5291,7 @@
<arg name="region" type="region"/> <arg name="region" type="region"/>
<arg name="command" type="order"/> <arg name="command" type="order"/>
</type> </type>
<text locale="de">"$unit($unit) in $region($region): '$order($command)' - Die Einheit kann diese Runde keinen langen Befehl mehr ausführen."</text> <text locale="de">"$unit($unit) in $region($region): '$order($command)' - Die Einheit kann keine weiteren langen Befehle ausführen."</text>
<text locale="fr">"$unit($unit) in $region($region): '$order($command)' - The unit is exhausted from battle."</text> <text locale="fr">"$unit($unit) in $region($region): '$order($command)' - The unit is exhausted from battle."</text>
<text locale="en">"$unit($unit) in $region($region): '$order($command)' - The unit is exhausted from battle."</text> <text locale="en">"$unit($unit) in $region($region): '$order($command)' - The unit is exhausted from battle."</text>
</message> </message>