63 bool is_target =
va_arg(args,
int);
66 out->alternative[
i].is_target = is_target;
121 "Invalid action result %d",
res);
127 oreq.contras->users++;
186 "Invalid action result %d",
res);
197 oreq.contras->users += users;
263 N_(
"All action enablers for %s must require a "
289 N_(
"All action enablers for %s must require a "
290 "non domestic target."),
305 N_(
"All action enablers for %s must require a "
306 "non domestic target."),
319 N_(
"All action enablers for %s must require the"
320 " absence of a real embassy."),
330 N_(
"All action enablers for %s must require that"
331 " the actor unit isn't already fortified."),
340 N_(
"All action enablers for %s must require"
341 " a domestic target."),
349 N_(
"All action enablers for %s must require"
350 " a domestic or allied target."),
358 N_(
"All action enablers for %s must require"
359 " a domestic or allied target."),
367 N_(
"All action enablers for %s must require"
368 " a domestic or allied target."),
376 N_(
"All action enablers for %s must require"
377 " a domestic or allied target."),
385 N_(
"All action enablers for %s must require"
386 " a domestic or allied target."),
398 N_(
"All action enablers for %s must require"
399 " that the actor has"
400 " the Workers utype flag."),
416 N_(
"All action enablers for %s must require"
418 " tile's terrain's irrigation_time"
419 " is above 0. (See \"TerrainAlter\"'s"
420 " \"CanIrrigate\")"),
427 N_(
"All action enablers for %s must require"
429 " tile's terrain's mining_time"
430 " is above 0. (See \"TerrainAlter\"'s"
438 N_(
"All action enablers for %s must require"
440 " tile's terrain's road_time"
441 " is above 0. (See \"TerrainAlter\"'s"
449 N_(
"All action enablers for %s must require"
451 " tile's terrain's base_time"
452 " is above 0. (See \"TerrainAlter\"'s"
463 N_(
"All action enablers for %s must require that"
464 " the target doesn't have"
465 " the NoCities terrain flag."),
476 N_(
"All action enablers for %s must require"
477 " that the actor has a home city."),
498 N_(
"All action enablers for %s must require"
499 " that the actor has the NonMil utype flag"
500 " or that the target tile is unclaimed"
501 " or that the diplomatic relation to"
502 " the target tile owner isn't peace."),
513 N_(
"All action enablers for %s must require"
514 " that the actor doesn't have"
515 " the NonMil utype flag."),
530 N_(
"All action enablers for %s must require"
531 " no city at the target tile or"
532 " that the actor doesn't have"
533 " the NonMil utype flag."),
543 N_(
"All action enablers for %s must require"
544 " that the actor has"
545 " the CanOccupyCity uclass flag."),
559 N_(
"All action enablers for %s must require"
560 " no city at the target tile or"
561 " that the actor has"
562 " the CanOccupyCity uclass flag."),
572 N_(
"All action enablers for %s must require"
573 " that the actor is at war with the target."),
586 N_(
"All action enablers for %s must require"
587 " no city at the target tile or"
588 " that the actor is at war with the target."),
599 N_(
"All action enablers for %s must require"
600 " that the actor has a movement point left."),
629 N_(
"All action enablers for %s must require"
630 " that the target city is empty."),
642 N_(
"All action enablers for %s must require"
643 " that the actor isn't transporting"
655 N_(
"All action enablers for %s must require"
656 " that the actor has a home city."),
665 N_(
"All action enablers for %s must require"
666 " that the target isn't transporting another"
675 N_(
"All action enablers for %s must require"
676 " that the target is transporting a unit."),
682 N_(
"All action enablers for %s must require"
683 " that the actor is transported."),
691 N_(
"All action enablers for %s must require"
692 " that the actor is on a livable tile."),
700 N_(
"All action enablers for %s must require"
701 " that the actor is transporting a unit."),
707 N_(
"All action enablers for %s must require"
708 " that the target is transported."),
714 N_(
"All action enablers for %s must require"
715 " that the target is on a livable tile."),
724 N_(
"All action enablers for %s must require"
725 " that the actor isn't transported."),
735 N_(
"All action enablers for %s must require"
736 " that the actor unit is in a city."),
750 N_(
"All action enablers for %s must require"
751 " that the actor unit doesn't have the"
752 " HutFrighten unit class flag."),
761 N_(
"All action enablers for %s must require"
762 " that the actor unit has the HutFrighten"
763 " unit class flag."),
782 N_(
"All action enablers for %s must require"
783 " a non animal player actor."),
797 N_(
"All action enablers for %s must require"
798 " no city at the target tile or"
799 " a non animal player actor."),
#define fc_assert_ret(condition)
#define fc_assert(condition)
#define fc_assert_ret_msg(condition, message,...)
#define fc_assert_ret_val(condition, val)
Nation_type_id nation_number(const struct nation_type *pnation)
enum barbarian_type nation_barbarian_type(const struct nation_type *nation)
#define nations_iterate_end
#define nations_iterate(NAME_pnation)
static void oblig_hard_req_reg(struct ae_contra_or *contras, const char *error_message,...)
static void voblig_hard_req_reg(struct ae_contra_or *contras, const char *error_message, va_list args)
static struct obligatory_req_vector oblig_hard_reqs_r[ACTRES_NONE]
void oblig_hard_reqs_init(void)
static struct ae_contra_or * req_contradiction_or(int alternatives,...)
void oblig_hard_reqs_free(void)
static void ae_contra_close(struct ae_contra_or *contra)
static struct obligatory_req_vector oblig_hard_reqs_sr[ACT_SUB_RES_COUNT]
static void oblig_hard_req_reg_sub_res(struct ae_contra_or *contras, const char *error_message,...)
static void voblig_hard_req_reg_sub_res(struct ae_contra_or *contras, const char *error_message, va_list args)
void hard_code_oblig_hard_reqs_ruleset(void)
void hard_code_oblig_hard_reqs(void)
struct obligatory_req_vector * oblig_hard_reqs_get(enum action_result res)
struct obligatory_req_vector * oblig_hard_reqs_get_sub(enum action_sub_result res)
static void oblig_hard_req_register(struct requirement contradiction, bool is_target, const char *error_message,...)
#define obligatory_req_vector_iterate_end
#define obligatory_req_vector_iterate(obreq_vec, pobreq)
struct requirement req_from_values(int type, int range, bool survives, bool present, bool quiet, int value)
struct ae_contra_or * contras