summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/robospierre/element.c
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io-hub/src/robospierre/element.c')
-rw-r--r--digital/io-hub/src/robospierre/element.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/digital/io-hub/src/robospierre/element.c b/digital/io-hub/src/robospierre/element.c
index ae84bd20..18a3e4bd 100644
--- a/digital/io-hub/src/robospierre/element.c
+++ b/digital/io-hub/src/robospierre/element.c
@@ -164,8 +164,11 @@ element_init ()
if (!((team_color == TEAM_COLOR_LEFT && (e.attr & ELEMENT_LEFT)) ||
(team_color == TEAM_COLOR_RIGHT && (e.attr & ELEMENT_RIGHT))))
{
- e.bonus_load *= -1;
- element_set (i, e);
+ if (e.bonus_load > 0)
+ {
+ e.bonus_load *= -1;
+ element_set (i, e);
+ }
}
}
}
@@ -771,3 +774,22 @@ element_blocking_path (vect_t a, vect_t b, int16_t ab)
}
return 0;
}
+
+void
+element_i_like_green ()
+{
+ /* Negative bonus for the other green zone at start. */
+ /* Do not touch last green emplacement. */
+ int i;
+ for (i = ELEMENT_GREEN_START; i <= ELEMENT_GREEN_END - 2; i++)
+ {
+ element_t e = element_get (i);
+ if (!((team_color == TEAM_COLOR_LEFT && (e.attr & ELEMENT_LEFT)) ||
+ (team_color == TEAM_COLOR_RIGHT && (e.attr & ELEMENT_RIGHT)))
+ && e.bonus_load < 0)
+ {
+ e.bonus_load = 10;
+ element_set (i, e);
+ }
+ }
+}