Freeciv-3.2
Loading...
Searching...
No Matches
Functions
api_server_edit.c File Reference
#include "rand.h"
#include "map.h"
#include "movement.h"
#include "research.h"
#include "unittype.h"
#include "api_game_find.h"
#include "luascript.h"
#include "aiiface.h"
#include "barbarian.h"
#include "citytools.h"
#include "cityturn.h"
#include "console.h"
#include "gamehand.h"
#include "maphand.h"
#include "notify.h"
#include "plrhand.h"
#include "srv_main.h"
#include "stdinhand.h"
#include "techtools.h"
#include "unithand.h"
#include "unittools.h"
#include "script_server.h"
#include "mapgen_utils.h"
#include "api_server_edit.h"

Go to the source code of this file.

Functions

bool api_edit_unleash_barbarians (lua_State *L, Tile *ptile)
 
static bool ur_transform_unit (struct unit *punit, const struct unit_type *to_unit, int vet_loss)
 
void api_edit_place_partisans (lua_State *L, Tile *ptile, Player *pplayer, int count, int sq_radius)
 
Unitapi_edit_create_unit (lua_State *L, Player *pplayer, Tile *ptile, Unit_Type *ptype, int veteran_level, City *homecity, int moves_left)
 
Unitapi_edit_create_unit_full (lua_State *L, Player *pplayer, Tile *ptile, Unit_Type *ptype, int veteran_level, City *homecity, int moves_left, int hp_left, Unit *ptransport)
 
bool api_edit_unit_teleport (lua_State *L, Unit *punit, Tile *dest, Unit *embark_to, bool allow_disembark, bool conquer_city, bool conquer_extra, bool enter_hut, bool frighten_hut)
 
bool api_edit_perform_action_unit_vs_city (lua_State *L, Unit *punit, Action *paction, City *tgt)
 
bool api_edit_perform_action_unit_vs_city_impr (lua_State *L, Unit *punit, Action *paction, City *tgt, Building_Type *sub_tgt)
 
bool api_edit_perform_action_unit_vs_city_tech (lua_State *L, Unit *punit, Action *paction, City *tgt, Tech_Type *sub_tgt)
 
bool api_edit_perform_action_unit_vs_unit (lua_State *L, Unit *punit, Action *paction, Unit *tgt)
 
bool api_edit_perform_action_unit_vs_tile (lua_State *L, Unit *punit, Action *paction, Tile *tgt)
 
bool api_edit_perform_action_unit_vs_tile_extra (lua_State *L, Unit *punit, Action *paction, Tile *tgt, const char *sub_tgt)
 
bool api_edit_perform_action_unit_vs_self (lua_State *L, Unit *punit, Action *paction)
 
void api_edit_unit_turn (lua_State *L, Unit *punit, Direction dir)
 
bool api_edit_unit_upgrade (lua_State *L, Unit *punit, int vet_loss)
 
bool api_edit_unit_transform (lua_State *L, Unit *punit, Unit_Type *ptype, int vet_loss)
 
void api_edit_unit_kill (lua_State *L, Unit *punit, const char *reason, Player *killer)
 
bool api_edit_unit_hitpoints (lua_State *L, Unit *self, int change, const char *reason, Player *killer)
 
void api_edit_unit_movepoints (lua_State *L, Unit *self, int change)
 
bool api_edit_change_terrain (lua_State *L, Tile *ptile, Terrain *pterr)
 
bool api_edit_create_city (lua_State *L, Player *pplayer, Tile *ptile, const char *name)
 
void api_edit_remove_city (lua_State *L, City *pcity)
 
bool api_edit_transfer_city (lua_State *L, City *pcity, Player *new_owner)
 
void api_edit_create_building (lua_State *L, City *pcity, Building_Type *impr)
 
void api_edit_remove_building (lua_State *L, City *pcity, Building_Type *impr)
 
Playerapi_edit_create_player (lua_State *L, const char *username, Nation_Type *pnation, const char *ai)
 
void api_edit_change_gold (lua_State *L, Player *pplayer, int amount)
 
void api_edit_change_infrapoints (lua_State *L, Player *pplayer, int amount)
 
Tech_Typeapi_edit_give_technology (lua_State *L, Player *pplayer, Tech_Type *ptech, int cost, bool notify, const char *reason)
 
bool api_edit_trait_mod_set (lua_State *L, Player *pplayer, const char *tname, const int mod)
 
void api_edit_create_owned_extra (lua_State *L, Tile *ptile, const char *name, Player *pplayer)
 
void api_edit_create_extra (lua_State *L, Tile *ptile, const char *name)
 
void api_edit_create_base (lua_State *L, Tile *ptile, const char *name, Player *pplayer)
 
void api_edit_create_road (lua_State *L, Tile *ptile, const char *name)
 
void api_edit_remove_extra (lua_State *L, Tile *ptile, const char *name)
 
void api_edit_tile_set_label (lua_State *L, Tile *ptile, const char *label)
 
void api_edit_tile_show (lua_State *L, Tile *ptile, Player *pplayer)
 
bool api_edit_tile_hide (lua_State *L, Tile *ptile, Player *pplayer)
 
void api_edit_climate_change (lua_State *L, enum climate_change_type type, int effect)
 
Playerapi_edit_civil_war (lua_State *L, Player *pplayer, int probability)
 
void api_edit_player_victory (lua_State *L, Player *pplayer)
 
bool api_edit_unit_move (lua_State *L, Unit *punit, Tile *ptile, int movecost, Unit *embark_to, bool disembark, bool conquer_city, bool conquer_extra, bool enter_hut, bool frighten_hut)
 
void api_edit_unit_moving_disallow (lua_State *L, Unit *punit)
 
void api_edit_unit_moving_allow (lua_State *L, Unit *punit)
 
void api_edit_city_add_history (lua_State *L, City *pcity, int amount)
 
void api_edit_player_add_history (lua_State *L, Player *pplayer, int amount)
 
void api_edit_player_give_bulbs (lua_State *L, Player *pplayer, int amount, Tech_Type *tech)
 

Function Documentation

◆ api_edit_change_gold()

void api_edit_change_gold ( lua_State L,
Player pplayer,
int  amount 
)

Change pplayer's gold by amount.

Definition at line 826 of file api_server_edit.c.

Referenced by tolua_server_edit_change_gold00().

◆ api_edit_change_infrapoints()

void api_edit_change_infrapoints ( lua_State L,
Player pplayer,
int  amount 
)

Change pplayer's infrapoints by amount.

Definition at line 839 of file api_server_edit.c.

Referenced by tolua_server_edit_change_infrapoints00().

◆ api_edit_change_terrain()

bool api_edit_change_terrain ( lua_State L,
Tile ptile,
Terrain pterr 
)

Change terrain on tile

Definition at line 648 of file api_server_edit.c.

Referenced by tolua_server_edit_change_terrain00().

◆ api_edit_city_add_history()

void api_edit_city_add_history ( lua_State L,
City pcity,
int  amount 
)

Add history to a city

Definition at line 1196 of file api_server_edit.c.

Referenced by tolua_server_edit_add_city_history00().

◆ api_edit_civil_war()

Player * api_edit_civil_war ( lua_State L,
Player pplayer,
int  probability 
)

Provoke a civil war.

Definition at line 1094 of file api_server_edit.c.

Referenced by tolua_server_edit_civil_war00().

◆ api_edit_climate_change()

void api_edit_climate_change ( lua_State L,
enum climate_change_type  type,
int  effect 
)

Global climate change.

Definition at line 1079 of file api_server_edit.c.

Referenced by tolua_server_edit_climate_change00().

◆ api_edit_create_base()

void api_edit_create_base ( lua_State L,
Tile ptile,
const char name,
Player pplayer 
)

Create a new base.

Definition at line 978 of file api_server_edit.c.

Referenced by tolua_server_edit_create_base00().

◆ api_edit_create_building()

void api_edit_create_building ( lua_State L,
City pcity,
Building_Type impr 
)

Create a building to a city

Definition at line 721 of file api_server_edit.c.

Referenced by tolua_server_edit_create_building00().

◆ api_edit_create_city()

bool api_edit_create_city ( lua_State L,
Player pplayer,
Tile ptile,
const char name 
)

Create a new city.

Definition at line 684 of file api_server_edit.c.

Referenced by tolua_server_edit_create_city00().

◆ api_edit_create_extra()

void api_edit_create_extra ( lua_State L,
Tile ptile,
const char name 
)

Create a new extra.

Definition at line 970 of file api_server_edit.c.

Referenced by tolua_server_edit_create_extra00().

◆ api_edit_create_owned_extra()

void api_edit_create_owned_extra ( lua_State L,
Tile ptile,
const char name,
Player pplayer 
)

◆ api_edit_create_player()

Player * api_edit_create_player ( lua_State L,
const char username,
Nation_Type pnation,
const char ai 
)

Create a new player.

Definition at line 791 of file api_server_edit.c.

Referenced by tolua_server_edit_create_player00().

◆ api_edit_create_road()

void api_edit_create_road ( lua_State L,
Tile ptile,
const char name 
)

Add a new road.

Definition at line 987 of file api_server_edit.c.

Referenced by tolua_server_edit_create_road00().

◆ api_edit_create_unit()

Unit * api_edit_create_unit ( lua_State L,
Player pplayer,
Tile ptile,
Unit_Type ptype,
int  veteran_level,
City homecity,
int  moves_left 
)

Create a new unit.

Definition at line 113 of file api_server_edit.c.

Referenced by tolua_server_edit_create_unit00().

◆ api_edit_create_unit_full()

Unit * api_edit_create_unit_full ( lua_State L,
Player pplayer,
Tile ptile,
Unit_Type ptype,
int  veteran_level,
City homecity,
int  moves_left,
int  hp_left,
Unit ptransport 
)

Create a new unit.

Definition at line 124 of file api_server_edit.c.

Referenced by api_edit_create_unit(), and tolua_server_edit_create_unit_full00().

◆ api_edit_give_technology()

Tech_Type * api_edit_give_technology ( lua_State L,
Player pplayer,
Tech_Type ptech,
int  cost,
bool  notify,
const char reason 
)

Give pplayer technology ptech. Quietly returns NULL if player already has this tech; otherwise returns the tech granted. Use NULL for ptech to grant a random tech. sends script signal "tech_researched" with the given reason

Definition at line 856 of file api_server_edit.c.

Referenced by tolua_server_edit_give_tech00().

◆ api_edit_perform_action_unit_vs_city()

bool api_edit_perform_action_unit_vs_city ( lua_State L,
Unit punit,
Action paction,
City tgt 
)

Force a unit to perform an action against a city.

Definition at line 260 of file api_server_edit.c.

Referenced by tolua_server_edit_perform_action00().

◆ api_edit_perform_action_unit_vs_city_impr()

bool api_edit_perform_action_unit_vs_city_impr ( lua_State L,
Unit punit,
Action paction,
City tgt,
Building_Type sub_tgt 
)

Force a unit to perform an action against a city and a building.

Definition at line 285 of file api_server_edit.c.

Referenced by tolua_server_edit_perform_action01().

◆ api_edit_perform_action_unit_vs_city_tech()

bool api_edit_perform_action_unit_vs_city_tech ( lua_State L,
Unit punit,
Action paction,
City tgt,
Tech_Type sub_tgt 
)

Force a unit to perform an action against a city and a tech.

Definition at line 312 of file api_server_edit.c.

Referenced by tolua_server_edit_perform_action02().

◆ api_edit_perform_action_unit_vs_self()

bool api_edit_perform_action_unit_vs_self ( lua_State L,
Unit punit,
Action paction 
)

Force a unit to perform an action against it self.

Definition at line 490 of file api_server_edit.c.

Referenced by tolua_server_edit_perform_action06().

◆ api_edit_perform_action_unit_vs_tile()

bool api_edit_perform_action_unit_vs_tile ( lua_State L,
Unit punit,
Action paction,
Tile tgt 
)

Force a unit to perform an action against a tile.

Definition at line 366 of file api_server_edit.c.

Referenced by tolua_server_edit_perform_action04().

◆ api_edit_perform_action_unit_vs_tile_extra()

bool api_edit_perform_action_unit_vs_tile_extra ( lua_State L,
Unit punit,
Action paction,
Tile tgt,
const char sub_tgt 
)

Force a unit to perform an action against a tile and an extra.

Definition at line 425 of file api_server_edit.c.

Referenced by tolua_server_edit_perform_action05().

◆ api_edit_perform_action_unit_vs_unit()

bool api_edit_perform_action_unit_vs_unit ( lua_State L,
Unit punit,
Action paction,
Unit tgt 
)

Force a unit to perform an action against a unit.

Definition at line 339 of file api_server_edit.c.

Referenced by tolua_server_edit_perform_action03().

◆ api_edit_place_partisans()

void api_edit_place_partisans ( lua_State L,
Tile ptile,
Player pplayer,
int  count,
int  sq_radius 
)

Place partisans for a player around a tile (normally around a city).

Definition at line 97 of file api_server_edit.c.

Referenced by tolua_server_edit_place_partisans00().

◆ api_edit_player_add_history()

void api_edit_player_add_history ( lua_State L,
Player pplayer,
int  amount 
)

Add history to a player

Definition at line 1207 of file api_server_edit.c.

Referenced by tolua_server_edit_add_player_history00().

◆ api_edit_player_give_bulbs()

void api_edit_player_give_bulbs ( lua_State L,
Player pplayer,
int  amount,
Tech_Type tech 
)

Give bulbs to a player, optionally towards a specific tech. If a tech that is not currently in research is specified, tech known state will not immediately change. Out of multiresearch mode, when tech is not NULL, this function sets the "previous" tech (or clears it if the current one is specified); in the case if a new "previous" tech is set, all non-free bulbs of the old "previous" tech are cleared, and if necessary the bulbs on stock are adjusted (for clear switching) as like amount was the previously researched value.

Definition at line 1226 of file api_server_edit.c.

Referenced by tolua_server_edit_give_bulbs00().

◆ api_edit_player_victory()

void api_edit_player_victory ( lua_State L,
Player pplayer 
)

Make player winner of the scenario

Definition at line 1123 of file api_server_edit.c.

Referenced by tolua_server_edit_player_victory00().

◆ api_edit_remove_building()

void api_edit_remove_building ( lua_State L,
City pcity,
Building_Type impr 
)

Remove a building from a city

Definition at line 769 of file api_server_edit.c.

Referenced by tolua_server_edit_remove_building00().

◆ api_edit_remove_city()

void api_edit_remove_city ( lua_State L,
City pcity 
)

Destroy a city

Definition at line 698 of file api_server_edit.c.

Referenced by tolua_server_edit_remove_city00().

◆ api_edit_remove_extra()

void api_edit_remove_extra ( lua_State L,
Tile ptile,
const char name 
)

Remove extra from tile, if present

Definition at line 995 of file api_server_edit.c.

Referenced by tolua_server_edit_remove_extra00().

◆ api_edit_tile_hide()

bool api_edit_tile_hide ( lua_State L,
Tile ptile,
Player pplayer 
)

Try to hide tile from player.

Definition at line 1045 of file api_server_edit.c.

Referenced by tolua_server_edit_tile_hide00().

◆ api_edit_tile_set_label()

void api_edit_tile_set_label ( lua_State L,
Tile ptile,
const char label 
)

Set tile label text.

Definition at line 1018 of file api_server_edit.c.

Referenced by tolua_server_edit_tile_set_label00().

◆ api_edit_tile_show()

void api_edit_tile_show ( lua_State L,
Tile ptile,
Player pplayer 
)

Reveal tile as it is currently to the player.

Definition at line 1033 of file api_server_edit.c.

Referenced by tolua_server_edit_tile_show00().

◆ api_edit_trait_mod_set()

bool api_edit_trait_mod_set ( lua_State L,
Player pplayer,
const char tname,
const int  mod 
)

Modify player's trait value.

Definition at line 925 of file api_server_edit.c.

Referenced by tolua_server_edit_trait_mod00().

◆ api_edit_transfer_city()

bool api_edit_transfer_city ( lua_State L,
City pcity,
Player new_owner 
)

Transfer city from player to another.

Definition at line 709 of file api_server_edit.c.

Referenced by tolua_server_edit_transfer_city00().

◆ api_edit_unit_hitpoints()

bool api_edit_unit_hitpoints ( lua_State L,
Unit self,
int  change,
const char reason,
Player killer 
)

Change unit hitpoints. Reason and killer are used if unit dies.

Definition at line 586 of file api_server_edit.c.

Referenced by tolua_server_edit_unit_add_hitpoints00().

◆ api_edit_unit_kill()

void api_edit_unit_kill ( lua_State L,
Unit punit,
const char reason,
Player killer 
)

Kill the unit.

Definition at line 566 of file api_server_edit.c.

Referenced by tolua_server_edit_unit_kill00().

◆ api_edit_unit_move()

bool api_edit_unit_move ( lua_State L,
Unit punit,
Tile ptile,
int  movecost,
Unit embark_to,
bool  disembark,
bool  conquer_city,
bool  conquer_extra,
bool  enter_hut,
bool  frighten_hut 
)

Move a unit.

Definition at line 1134 of file api_server_edit.c.

Referenced by tolua_server_edit_unit_move00().

◆ api_edit_unit_movepoints()

void api_edit_unit_movepoints ( lua_State L,
Unit self,
int  change 
)

Change unit move points.

Definition at line 622 of file api_server_edit.c.

Referenced by tolua_server_edit_unit_add_movepoints00().

◆ api_edit_unit_moving_allow()

void api_edit_unit_moving_allow ( lua_State L,
Unit punit 
)

Allow unit to move

Definition at line 1183 of file api_server_edit.c.

Referenced by tolua_server_edit_movement_allow00().

◆ api_edit_unit_moving_disallow()

void api_edit_unit_moving_disallow ( lua_State L,
Unit punit 
)

Prohibit unit from moving

Definition at line 1170 of file api_server_edit.c.

Referenced by tolua_server_edit_movement_disallow00().

◆ api_edit_unit_teleport()

bool api_edit_unit_teleport ( lua_State L,
Unit punit,
Tile dest,
Unit embark_to,
bool  allow_disembark,
bool  conquer_city,
bool  conquer_extra,
bool  enter_hut,
bool  frighten_hut 
)

Teleport unit to destination tile

Definition at line 206 of file api_server_edit.c.

Referenced by tolua_server_edit_unit_teleport00().

◆ api_edit_unit_transform()

bool api_edit_unit_transform ( lua_State L,
Unit punit,
Unit_Type ptype,
int  vet_loss 
)

Transform punit to ptype, decreasing vet_loss veteranship levels. Returns if the transformation was possible.

Definition at line 553 of file api_server_edit.c.

Referenced by tolua_server_Unit_transform00().

◆ api_edit_unit_turn()

void api_edit_unit_turn ( lua_State L,
Unit punit,
Direction  dir 
)

Change unit orientation

Definition at line 517 of file api_server_edit.c.

Referenced by tolua_server_edit_unit_turn00().

◆ api_edit_unit_upgrade()

bool api_edit_unit_upgrade ( lua_State L,
Unit punit,
int  vet_loss 
)

Upgrade punit for free in the default manner, lose vet_loss vet levels. Returns if the upgrade was possible.

Definition at line 535 of file api_server_edit.c.

Referenced by tolua_server_Unit_upgrade00().

◆ api_edit_unleash_barbarians()

bool api_edit_unleash_barbarians ( lua_State L,
Tile ptile 
)

Unleash barbarians on a tile, for example from a hut

Definition at line 59 of file api_server_edit.c.

Referenced by tolua_server_edit_unleash_barbarians00().

◆ ur_transform_unit()

static bool ur_transform_unit ( struct unit punit,
const struct unit_type to_unit,
int  vet_loss 
)
static

A wrapper around transform_unit() that correctly processes some unsafe requests. punit and to_unit must not be NULL.

Definition at line 72 of file api_server_edit.c.

Referenced by api_edit_unit_transform(), and api_edit_unit_upgrade().