Project

General

Profile

Feature #523 » 0032-Add-Bombard-4-action.patch

S3_2 - Marko Lindqvist, 05/01/2024 12:17 PM

View differences:

common/actions.c
/* Overwritten by the ruleset's bombard_3_max_range */
1,
FALSE);
actions[ACTION_BOMBARD4] =
unit_action_new(ACTION_BOMBARD4, ACTRES_BOMBARD,
FALSE, TRUE, MAK_STAYS,
/* A single domestic unit at the target tile will make
* the action illegal. It must therefore be performed
* from another tile. */
1,
/* Overwritten by the ruleset's bombard_4_max_range */
1,
FALSE);
actions[ACTION_BOMBARD_LETHAL] =
unit_action_new(ACTION_BOMBARD_LETHAL, ACTRES_BOMBARD,
FALSE, TRUE, MAK_STAYS,
......
return "ui_name_bombard_2";
case ACTION_BOMBARD3:
return "ui_name_bombard_3";
case ACTION_BOMBARD4:
return "ui_name_bombard_4";
case ACTION_BOMBARD_LETHAL:
return "ui_name_bombard_lethal";
case ACTION_BOMBARD_LETHAL2:
......
case ACTION_BOMBARD3:
/* TRANS: B_ombard 3 (100% chance of success). */
return N_("B%sombard 3%s");
case ACTION_BOMBARD4:
/* TRANS: B_ombard 4 (100% chance of success). */
return N_("B%sombard 4%s");
case ACTION_BOMBARD_LETHAL:
case ACTION_BOMBARD_LETHAL2:
/* TRANS: Lethal B_ombard (100% chance of success). */
......
case ACTION_BOMBARD:
case ACTION_BOMBARD2:
case ACTION_BOMBARD3:
case ACTION_BOMBARD4:
case ACTION_BOMBARD_LETHAL:
case ACTION_BOMBARD_LETHAL2:
case ACTION_SPY_ATTACK:
......
return "bombard_2_max_range";
case ACTION_BOMBARD3:
return "bombard_3_max_range";
case ACTION_BOMBARD4:
return "bombard_4_max_range";
case ACTION_BOMBARD_LETHAL:
return "bombard_lethal_max_range";
case ACTION_BOMBARD_LETHAL2:
......
case ACTION_BOMBARD:
case ACTION_BOMBARD2:
case ACTION_BOMBARD3:
case ACTION_BOMBARD4:
case ACTION_BOMBARD_LETHAL:
case ACTION_BOMBARD_LETHAL2:
case ACTION_SPY_ATTACK:
......
case ACTION_BOMBARD:
case ACTION_BOMBARD2:
case ACTION_BOMBARD3:
case ACTION_BOMBARD4:
case ACTION_BOMBARD_LETHAL:
case ACTION_BOMBARD_LETHAL2:
case ACTION_SPY_ATTACK:
......
return "bombard_2_blocked_by";
case ACTION_BOMBARD3:
return "bombard_3_blocked_by";
case ACTION_BOMBARD4:
return "bombard_4_blocked_by";
case ACTION_BOMBARD_LETHAL:
return "bombard_lethal_blocked_by";
case ACTION_BOMBARD_LETHAL2:
......
case ACTION_BOMBARD:
case ACTION_BOMBARD2:
case ACTION_BOMBARD3:
case ACTION_BOMBARD4:
case ACTION_BOMBARD_LETHAL:
case ACTION_BOMBARD_LETHAL2:
case ACTION_NUKE:
common/actions.h
#define SPECENUM_VALUE56NAME "Bombard 2"
#define SPECENUM_VALUE57 ACTION_BOMBARD3
#define SPECENUM_VALUE57NAME "Bombard 3"
#define SPECENUM_VALUE58 ACTION_BOMBARD_LETHAL
#define SPECENUM_VALUE58NAME "Bombard Lethal"
#define SPECENUM_VALUE59 ACTION_BOMBARD_LETHAL2
#define SPECENUM_VALUE59NAME "Bombard Lethal 2"
#define SPECENUM_VALUE60 ACTION_FORTIFY
#define SPECENUM_VALUE60NAME "Fortify"
#define SPECENUM_VALUE61 ACTION_CULTIVATE
#define SPECENUM_VALUE61NAME "Cultivate"
#define SPECENUM_VALUE62 ACTION_PLANT
#define SPECENUM_VALUE62NAME "Plant"
#define SPECENUM_VALUE63 ACTION_TRANSFORM_TERRAIN
#define SPECENUM_VALUE63NAME "Transform Terrain"
#define SPECENUM_VALUE64 ACTION_ROAD
#define SPECENUM_VALUE64NAME "Build Road"
#define SPECENUM_VALUE65 ACTION_IRRIGATE
#define SPECENUM_VALUE65NAME "Build Irrigation"
#define SPECENUM_VALUE66 ACTION_MINE
#define SPECENUM_VALUE66NAME "Build Mine"
#define SPECENUM_VALUE67 ACTION_BASE
#define SPECENUM_VALUE67NAME "Build Base"
#define SPECENUM_VALUE68 ACTION_PILLAGE
#define SPECENUM_VALUE68NAME "Pillage"
#define SPECENUM_VALUE69 ACTION_TRANSPORT_BOARD
#define SPECENUM_VALUE69NAME "Transport Board"
#define SPECENUM_VALUE70 ACTION_TRANSPORT_BOARD2
#define SPECENUM_VALUE70NAME "Transport Board 2"
#define SPECENUM_VALUE71 ACTION_TRANSPORT_BOARD3
#define SPECENUM_VALUE71NAME "Transport Board_3"
#define SPECENUM_VALUE72 ACTION_TRANSPORT_DEBOARD
#define SPECENUM_VALUE72NAME "Transport Deboard"
#define SPECENUM_VALUE73 ACTION_TRANSPORT_EMBARK
#define SPECENUM_VALUE73NAME "Transport Embark"
#define SPECENUM_VALUE74 ACTION_TRANSPORT_EMBARK2
#define SPECENUM_VALUE74NAME "Transport Embark 2"
#define SPECENUM_VALUE75 ACTION_TRANSPORT_EMBARK3
#define SPECENUM_VALUE75NAME "Transport Embark 3"
#define SPECENUM_VALUE76 ACTION_TRANSPORT_EMBARK4
#define SPECENUM_VALUE76NAME "Transport Embark 4"
#define SPECENUM_VALUE77 ACTION_TRANSPORT_DISEMBARK1
#define SPECENUM_VALUE77NAME "Transport Disembark"
#define SPECENUM_VALUE78 ACTION_TRANSPORT_DISEMBARK2
#define SPECENUM_VALUE78NAME "Transport Disembark 2"
#define SPECENUM_VALUE79 ACTION_TRANSPORT_DISEMBARK3
#define SPECENUM_VALUE79NAME "Transport Disembark 3"
#define SPECENUM_VALUE80 ACTION_TRANSPORT_DISEMBARK4
#define SPECENUM_VALUE80NAME "Transport Disembark 4"
#define SPECENUM_VALUE81 ACTION_TRANSPORT_LOAD
#define SPECENUM_VALUE81NAME "Transport Load"
#define SPECENUM_VALUE82 ACTION_TRANSPORT_LOAD2
#define SPECENUM_VALUE82NAME "Transport Load 2"
#define SPECENUM_VALUE83 ACTION_TRANSPORT_LOAD3
#define SPECENUM_VALUE83NAME "Transport Load 3"
#define SPECENUM_VALUE84 ACTION_TRANSPORT_UNLOAD
#define SPECENUM_VALUE84NAME "Transport Unload"
#define SPECENUM_VALUE85 ACTION_SPY_SPREAD_PLAGUE
#define SPECENUM_VALUE85NAME "Spread Plague"
#define SPECENUM_VALUE86 ACTION_SPY_ATTACK
#define SPECENUM_VALUE86NAME "Spy Attack"
#define SPECENUM_VALUE87 ACTION_CONQUER_EXTRAS
#define SPECENUM_VALUE87NAME "Conquer Extras"
#define SPECENUM_VALUE88 ACTION_CONQUER_EXTRAS2
#define SPECENUM_VALUE88NAME "Conquer Extras 2"
#define SPECENUM_VALUE89 ACTION_CONQUER_EXTRAS3
#define SPECENUM_VALUE89NAME "Conquer Extras 3"
#define SPECENUM_VALUE90 ACTION_CONQUER_EXTRAS4
#define SPECENUM_VALUE90NAME "Conquer Extras 4"
#define SPECENUM_VALUE91 ACTION_HUT_ENTER
#define SPECENUM_VALUE91NAME "Enter Hut"
#define SPECENUM_VALUE92 ACTION_HUT_ENTER2
#define SPECENUM_VALUE92NAME "Enter Hut 2"
#define SPECENUM_VALUE93 ACTION_HUT_ENTER3
#define SPECENUM_VALUE93NAME "Enter Hut 3"
#define SPECENUM_VALUE94 ACTION_HUT_ENTER4
#define SPECENUM_VALUE94NAME "Enter Hut 4"
#define SPECENUM_VALUE95 ACTION_HUT_FRIGHTEN
#define SPECENUM_VALUE95NAME "Frighten Hut"
#define SPECENUM_VALUE96 ACTION_HUT_FRIGHTEN2
#define SPECENUM_VALUE96NAME "Frighten Hut 2"
#define SPECENUM_VALUE97 ACTION_HUT_FRIGHTEN3
#define SPECENUM_VALUE97NAME "Frighten Hut 3"
#define SPECENUM_VALUE98 ACTION_HUT_FRIGHTEN4
#define SPECENUM_VALUE98NAME "Frighten Hut 4"
#define SPECENUM_VALUE99 ACTION_HEAL_UNIT
#define SPECENUM_VALUE99NAME "Heal Unit"
#define SPECENUM_VALUE100 ACTION_HEAL_UNIT2
#define SPECENUM_VALUE100NAME "Heal Unit 2"
#define SPECENUM_VALUE101 ACTION_PARADROP
#define SPECENUM_VALUE101NAME "Paradrop Unit"
#define SPECENUM_VALUE102 ACTION_PARADROP_CONQUER
#define SPECENUM_VALUE102NAME "Paradrop Unit Conquer"
#define SPECENUM_VALUE103 ACTION_PARADROP_FRIGHTEN
#define SPECENUM_VALUE103NAME "Paradrop Unit Frighten"
#define SPECENUM_VALUE104 ACTION_PARADROP_FRIGHTEN_CONQUER
#define SPECENUM_VALUE104NAME "Paradrop Unit Frighten Conquer"
#define SPECENUM_VALUE105 ACTION_PARADROP_ENTER
#define SPECENUM_VALUE105NAME "Paradrop Unit Enter"
#define SPECENUM_VALUE106 ACTION_PARADROP_ENTER_CONQUER
#define SPECENUM_VALUE106NAME "Paradrop Unit Enter Conquer"
#define SPECENUM_VALUE107 ACTION_WIPE_UNITS
#define SPECENUM_VALUE107NAME "Wipe Units"
#define SPECENUM_VALUE108 ACTION_SPY_ESCAPE
#define SPECENUM_VALUE108NAME "Spy Escape"
#define SPECENUM_VALUE109 ACTION_UNIT_MOVE
#define SPECENUM_VALUE109NAME "Unit Move"
#define SPECENUM_VALUE110 ACTION_UNIT_MOVE2
#define SPECENUM_VALUE110NAME "Unit Move 2"
#define SPECENUM_VALUE111 ACTION_UNIT_MOVE3
#define SPECENUM_VALUE111NAME "Unit Move 3"
#define SPECENUM_VALUE112 ACTION_TELEPORT
#define SPECENUM_VALUE112NAME "Teleport"
#define SPECENUM_VALUE113 ACTION_TELEPORT_CONQUER
#define SPECENUM_VALUE113NAME "Teleport Conquer"
#define SPECENUM_VALUE114 ACTION_TELEPORT_FRIGHTEN
#define SPECENUM_VALUE114NAME "Teleport Frighten"
#define SPECENUM_VALUE115 ACTION_TELEPORT_FRIGHTEN_CONQUER
#define SPECENUM_VALUE115NAME "Teleport Frighten Conquer"
#define SPECENUM_VALUE116 ACTION_TELEPORT_ENTER
#define SPECENUM_VALUE116NAME "Teleport Enter"
#define SPECENUM_VALUE117 ACTION_TELEPORT_ENTER_CONQUER
#define SPECENUM_VALUE117NAME "Teleport Enter Conquer"
#define SPECENUM_VALUE118 ACTION_CLEAN
#define SPECENUM_VALUE118NAME "Clean"
#define SPECENUM_VALUE119 ACTION_COLLECT_RANSOM
#define SPECENUM_VALUE119NAME "Collect Ransom"
#define SPECENUM_VALUE120 ACTION_USER_ACTION1
#define SPECENUM_VALUE120NAME "User Action 1"
#define SPECENUM_VALUE121 ACTION_USER_ACTION2
#define SPECENUM_VALUE121NAME "User Action 2"
#define SPECENUM_VALUE122 ACTION_USER_ACTION3
#define SPECENUM_VALUE122NAME "User Action 3"
#define SPECENUM_VALUE123 ACTION_USER_ACTION4
#define SPECENUM_VALUE123NAME "User Action 4"
#define SPECENUM_VALUE58 ACTION_BOMBARD4
#define SPECENUM_VALUE58NAME "Bombard 4"
#define SPECENUM_VALUE59 ACTION_BOMBARD_LETHAL
#define SPECENUM_VALUE59NAME "Bombard Lethal"
#define SPECENUM_VALUE60 ACTION_BOMBARD_LETHAL2
#define SPECENUM_VALUE60NAME "Bombard Lethal 2"
#define SPECENUM_VALUE61 ACTION_FORTIFY
#define SPECENUM_VALUE61NAME "Fortify"
#define SPECENUM_VALUE62 ACTION_CULTIVATE
#define SPECENUM_VALUE62NAME "Cultivate"
#define SPECENUM_VALUE63 ACTION_PLANT
#define SPECENUM_VALUE63NAME "Plant"
#define SPECENUM_VALUE64 ACTION_TRANSFORM_TERRAIN
#define SPECENUM_VALUE64NAME "Transform Terrain"
#define SPECENUM_VALUE65 ACTION_ROAD
#define SPECENUM_VALUE65NAME "Build Road"
#define SPECENUM_VALUE66 ACTION_IRRIGATE
#define SPECENUM_VALUE66NAME "Build Irrigation"
#define SPECENUM_VALUE67 ACTION_MINE
#define SPECENUM_VALUE67NAME "Build Mine"
#define SPECENUM_VALUE68 ACTION_BASE
#define SPECENUM_VALUE68NAME "Build Base"
#define SPECENUM_VALUE69 ACTION_PILLAGE
#define SPECENUM_VALUE69NAME "Pillage"
#define SPECENUM_VALUE70 ACTION_TRANSPORT_BOARD
#define SPECENUM_VALUE70NAME "Transport Board"
#define SPECENUM_VALUE71 ACTION_TRANSPORT_BOARD2
#define SPECENUM_VALUE71NAME "Transport Board 2"
#define SPECENUM_VALUE72 ACTION_TRANSPORT_BOARD3
#define SPECENUM_VALUE72NAME "Transport Board_3"
#define SPECENUM_VALUE73 ACTION_TRANSPORT_DEBOARD
#define SPECENUM_VALUE73NAME "Transport Deboard"
#define SPECENUM_VALUE74 ACTION_TRANSPORT_EMBARK
#define SPECENUM_VALUE74NAME "Transport Embark"
#define SPECENUM_VALUE75 ACTION_TRANSPORT_EMBARK2
#define SPECENUM_VALUE75NAME "Transport Embark 2"
#define SPECENUM_VALUE76 ACTION_TRANSPORT_EMBARK3
#define SPECENUM_VALUE76NAME "Transport Embark 3"
#define SPECENUM_VALUE77 ACTION_TRANSPORT_EMBARK4
#define SPECENUM_VALUE77NAME "Transport Embark 4"
#define SPECENUM_VALUE78 ACTION_TRANSPORT_DISEMBARK1
#define SPECENUM_VALUE78NAME "Transport Disembark"
#define SPECENUM_VALUE79 ACTION_TRANSPORT_DISEMBARK2
#define SPECENUM_VALUE79NAME "Transport Disembark 2"
#define SPECENUM_VALUE80 ACTION_TRANSPORT_DISEMBARK3
#define SPECENUM_VALUE80NAME "Transport Disembark 3"
#define SPECENUM_VALUE81 ACTION_TRANSPORT_DISEMBARK4
#define SPECENUM_VALUE81NAME "Transport Disembark 4"
#define SPECENUM_VALUE82 ACTION_TRANSPORT_LOAD
#define SPECENUM_VALUE82NAME "Transport Load"
#define SPECENUM_VALUE83 ACTION_TRANSPORT_LOAD2
#define SPECENUM_VALUE83NAME "Transport Load 2"
#define SPECENUM_VALUE84 ACTION_TRANSPORT_LOAD3
#define SPECENUM_VALUE84NAME "Transport Load 3"
#define SPECENUM_VALUE85 ACTION_TRANSPORT_UNLOAD
#define SPECENUM_VALUE85NAME "Transport Unload"
#define SPECENUM_VALUE86 ACTION_SPY_SPREAD_PLAGUE
#define SPECENUM_VALUE86NAME "Spread Plague"
#define SPECENUM_VALUE87 ACTION_SPY_ATTACK
#define SPECENUM_VALUE87NAME "Spy Attack"
#define SPECENUM_VALUE88 ACTION_CONQUER_EXTRAS
#define SPECENUM_VALUE88NAME "Conquer Extras"
#define SPECENUM_VALUE89 ACTION_CONQUER_EXTRAS2
#define SPECENUM_VALUE89NAME "Conquer Extras 2"
#define SPECENUM_VALUE90 ACTION_CONQUER_EXTRAS3
#define SPECENUM_VALUE90NAME "Conquer Extras 3"
#define SPECENUM_VALUE91 ACTION_CONQUER_EXTRAS4
#define SPECENUM_VALUE91NAME "Conquer Extras 4"
#define SPECENUM_VALUE92 ACTION_HUT_ENTER
#define SPECENUM_VALUE92NAME "Enter Hut"
#define SPECENUM_VALUE93 ACTION_HUT_ENTER2
#define SPECENUM_VALUE93NAME "Enter Hut 2"
#define SPECENUM_VALUE94 ACTION_HUT_ENTER3
#define SPECENUM_VALUE94NAME "Enter Hut 3"
#define SPECENUM_VALUE95 ACTION_HUT_ENTER4
#define SPECENUM_VALUE95NAME "Enter Hut 4"
#define SPECENUM_VALUE96 ACTION_HUT_FRIGHTEN
#define SPECENUM_VALUE96NAME "Frighten Hut"
#define SPECENUM_VALUE97 ACTION_HUT_FRIGHTEN2
#define SPECENUM_VALUE97NAME "Frighten Hut 2"
#define SPECENUM_VALUE98 ACTION_HUT_FRIGHTEN3
#define SPECENUM_VALUE98NAME "Frighten Hut 3"
#define SPECENUM_VALUE99 ACTION_HUT_FRIGHTEN4
#define SPECENUM_VALUE99NAME "Frighten Hut 4"
#define SPECENUM_VALUE100 ACTION_HEAL_UNIT
#define SPECENUM_VALUE100NAME "Heal Unit"
#define SPECENUM_VALUE101 ACTION_HEAL_UNIT2
#define SPECENUM_VALUE101NAME "Heal Unit 2"
#define SPECENUM_VALUE102 ACTION_PARADROP
#define SPECENUM_VALUE102NAME "Paradrop Unit"
#define SPECENUM_VALUE103 ACTION_PARADROP_CONQUER
#define SPECENUM_VALUE103NAME "Paradrop Unit Conquer"
#define SPECENUM_VALUE104 ACTION_PARADROP_FRIGHTEN
#define SPECENUM_VALUE104NAME "Paradrop Unit Frighten"
#define SPECENUM_VALUE105 ACTION_PARADROP_FRIGHTEN_CONQUER
#define SPECENUM_VALUE105NAME "Paradrop Unit Frighten Conquer"
#define SPECENUM_VALUE106 ACTION_PARADROP_ENTER
#define SPECENUM_VALUE106NAME "Paradrop Unit Enter"
#define SPECENUM_VALUE107 ACTION_PARADROP_ENTER_CONQUER
#define SPECENUM_VALUE107NAME "Paradrop Unit Enter Conquer"
#define SPECENUM_VALUE108 ACTION_WIPE_UNITS
#define SPECENUM_VALUE108NAME "Wipe Units"
#define SPECENUM_VALUE109 ACTION_SPY_ESCAPE
#define SPECENUM_VALUE109NAME "Spy Escape"
#define SPECENUM_VALUE110 ACTION_UNIT_MOVE
#define SPECENUM_VALUE110NAME "Unit Move"
#define SPECENUM_VALUE111 ACTION_UNIT_MOVE2
#define SPECENUM_VALUE111NAME "Unit Move 2"
#define SPECENUM_VALUE112 ACTION_UNIT_MOVE3
#define SPECENUM_VALUE112NAME "Unit Move 3"
#define SPECENUM_VALUE113 ACTION_TELEPORT
#define SPECENUM_VALUE113NAME "Teleport"
#define SPECENUM_VALUE114 ACTION_TELEPORT_CONQUER
#define SPECENUM_VALUE114NAME "Teleport Conquer"
#define SPECENUM_VALUE115 ACTION_TELEPORT_FRIGHTEN
#define SPECENUM_VALUE115NAME "Teleport Frighten"
#define SPECENUM_VALUE116 ACTION_TELEPORT_FRIGHTEN_CONQUER
#define SPECENUM_VALUE116NAME "Teleport Frighten Conquer"
#define SPECENUM_VALUE117 ACTION_TELEPORT_ENTER
#define SPECENUM_VALUE117NAME "Teleport Enter"
#define SPECENUM_VALUE118 ACTION_TELEPORT_ENTER_CONQUER
#define SPECENUM_VALUE118NAME "Teleport Enter Conquer"
#define SPECENUM_VALUE119 ACTION_CLEAN
#define SPECENUM_VALUE119NAME "Clean"
#define SPECENUM_VALUE120 ACTION_COLLECT_RANSOM
#define SPECENUM_VALUE120NAME "Collect Ransom"
#define SPECENUM_VALUE121 ACTION_USER_ACTION1
#define SPECENUM_VALUE121NAME "User Action 1"
#define SPECENUM_VALUE122 ACTION_USER_ACTION2
#define SPECENUM_VALUE122NAME "User Action 2"
#define SPECENUM_VALUE123 ACTION_USER_ACTION3
#define SPECENUM_VALUE123NAME "User Action 3"
#define SPECENUM_VALUE124 ACTION_USER_ACTION4
#define SPECENUM_VALUE124NAME "User Action 4"
#define SPECENUM_BITVECTOR bv_actions
#define SPECENUM_COUNT ACTION_COUNT
#define SPECENUM_NAME_UPDATER
doc/README.actions
* A copy of "Bombard".
* See "Bombard" for everything else.
"Bombard 4" - bombard the units (and city) at the tile.
* UI name can be set using ui_name_bombard_4
* can't kill target units
* any action listed in bombard_4_blocked_by must be impossible
* actor must be on a tile next to the target or, if bombard_4_max_range
allows it, futher away.
* A copy of "Bombard".
* See "Bombard" for everything else.
"Bombard Lethal" - bombard the units (and city) at the tile.
* UI name can be set using ui_name_bombard_lethal
* any action listed in bombard_lethal_blocked_by must be impossible
(2-2/2)