Difference between revisions of "Gamemode.cfg"
Splittingred (Talk | contribs) (→See Also) |
Splittingred (Talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
The gamemode.cfg file is what loads the "rules" of the game mode currently in effect. It must be loaded before the map is loaded. | The gamemode.cfg file is what loads the "rules" of the game mode currently in effect. It must be loaded before the map is loaded. | ||
+ | |||
+ | '''NOTE''': When editing .cfg and .gm files, ''make sure'' to copy them to a separate Rules/ subfolder with your own gamemode. Otherwise, they will get automatically overwritten during KAG updates. | ||
== Customizing == | == Customizing == | ||
Line 9: | Line 11: | ||
To make the bedrock in the map indestructible - useful for parkour maps or high-bomb gamemodes, you must set two configuration variables: | To make the bedrock in the map indestructible - useful for parkour maps or high-bomb gamemodes, you must set two configuration variables: | ||
− | < | + | <syntaxhighlight lang="ini" enclose="div">map_indestructible = yes |
− | map_bedrock_indestructible = yes</ | + | map_bedrock_indestructible = yes</syntaxhighlight> |
Note that map_indestructible does not make the entire map indestructible like it says, as of build 590. Only bedrock is made indestructible. | Note that map_indestructible does not make the entire map indestructible like it says, as of build 590. Only bedrock is made indestructible. | ||
Line 18: | Line 20: | ||
To limit to one team, simply set the teams list to only one team (replace MODE with your mod folder): | To limit to one team, simply set the teams list to only one team (replace MODE with your mod folder): | ||
− | < | + | <syntaxhighlight lang="ini" enclose="div">teams = Rules/MODE/team1.cfg;</syntaxhighlight> |
=== Adding a Warmup Period === | === Adding a Warmup Period === | ||
Line 24: | Line 26: | ||
This will add a warmup period, or a time when there is a red barrier preventing teams from moving past a certain area, for 30 seconds at the start of the round: | This will add a warmup period, or a time when there is a red barrier preventing teams from moving past a certain area, for 30 seconds at the start of the round: | ||
− | < | + | <syntaxhighlight lang="ini" enclose="div"> |
break_time_static = .5 | break_time_static = .5 | ||
warmup_barrier = 1 | warmup_barrier = 1 | ||
− | </ | + | </syntaxhighlight> |
If we wanted a more dynamic warmup time, you could set break_time, rather than break_time_static, to dynamically set the time period based upon how many players are in the server: | If we wanted a more dynamic warmup time, you could set break_time, rather than break_time_static, to dynamically set the time period based upon how many players are in the server: | ||
− | < | + | <syntaxhighlight lang="ini" enclose="div"> |
break_time = 5 | break_time = 5 | ||
warmup_barrier = 1 | warmup_barrier = 1 | ||
− | </ | + | </syntaxhighlight> |
This would set the number of seconds for the warmup to (# of players * 5 seconds). So, for 8 players in the server, the warmup time would be 40 seconds. | This would set the number of seconds for the warmup to (# of players * 5 seconds). So, for 8 players in the server, the warmup time would be 40 seconds. | ||
Line 619: | Line 621: | ||
* [[Modding]] | * [[Modding]] | ||
* [[MapCycle.cfg]] | * [[MapCycle.cfg]] | ||
− | * [[ | + | * [[dedicated_autostart.gm]] |
* [[team configs]] | * [[team configs]] | ||
* [[class configs]] | * [[class configs]] |
Latest revision as of 14:07, 9 January 2013
The gamemode.cfg file is what loads the "rules" of the game mode currently in effect. It must be loaded before the map is loaded.
NOTE: When editing .cfg and .gm files, make sure to copy them to a separate Rules/ subfolder with your own gamemode. Otherwise, they will get automatically overwritten during KAG updates.
Contents
[hide]Customizing
Customizing the gamemode is fairly simple, and can be done by editing configuration variables.
Making Bedrock Indestructible
To make the bedrock in the map indestructible - useful for parkour maps or high-bomb gamemodes, you must set two configuration variables:
map_bedrock_indestructible = yes
Note that map_indestructible does not make the entire map indestructible like it says, as of build 590. Only bedrock is made indestructible.
Limiting to 1 Team
To limit to one team, simply set the teams list to only one team (replace MODE with your mod folder):
Adding a Warmup Period
This will add a warmup period, or a time when there is a red barrier preventing teams from moving past a certain area, for 30 seconds at the start of the round:
warmup_barrier = 1
If we wanted a more dynamic warmup time, you could set break_time, rather than break_time_static, to dynamically set the time period based upon how many players are in the server:
warmup_barrier = 1
This would set the number of seconds for the warmup to (# of players * 5 seconds). So, for 8 players in the server, the warmup time would be 40 seconds.
Configuration Variables
The following are variables that can be set in gamemode.cfg:
Variable | Type | Default Value | Description |
---|---|---|---|
output_history | bool | true | |
player_light_radius | u8 | 32 | Distance that a player automatically (without a light source) illuminates the tiles around them. |
minimap | bool | true | Toggles the display of the mini-map. |
max_zoom_out | u8 | 2 | Up to which zoom_lvl can be used. Maximum value is 3. |
zoom_level_1 | f32 | 2.0 | Maximum viewing scale. ("Zoom-in") |
zoom_level_2 | f32 | 1.0 | Default view scale. |
zoom_level_3 | f32 | 0.5 | Minimum view scale. ("Zoom-out") |
water_levelchange_time | s16 | 0 | Test this for time increment. Rate at which water level (defined in map file) will change. >0 = increase, <0 = decrease, 0 = no change. |
water_suddendeath | bool | false | Toggles water level change during sudden death (no units left). Based on water_levelchange_time. |
teams | string ARRAY | References to locations of team configuration files (.cfg), delimited by semi-colon ';' | |
gamemode_name | string | "Default mode" | Name of the gamemode to display in server browser and in-game. |
gamemode_info | string | "Mine or steal gold" | Additional info to be displayed in server browser and in-game during warm-up time. |
match_time_formula_a | u8 | 0 | Determines match time based on the formula m*(a*sqrt(b*x)) where x = number of players in team, m = map size 0.8<=m<=1.2 |
match_time_formula_b | u8 | 0 | Determines match time based on the formula m*(a*sqrt(b*x)) where x = number of players in team, m = map size 0.8<=m<=1.2 |
match_time_override | s16 | 0 | Length of game in minutes. Overrides match_time_formula if set to non-0. |
daycycle_speed | u16 | 0 | Amount of minutes full cycle of day / night. *Gold servers only. |
daycycle_start | f32 | 0.5 | Day/Night cycle position at start of match. 0.5 = noon. 0/1 = midnight. *Gold servers only. Values of the order 0.01 work. |
timepassed_teamwin | s8 | -1 | Defines which team wins when time-limit is reached. -1 means no team wins, draw occurs. 0 for Blue, 1 for Red. |
break_time | u16 | 0 | Defines warm-up time in minutes as a multiple of current players. |
break_time_static | s16 | -1 | Warm-up time in minutes. Overrides break_time. |
minimum_players_inteam | s8 | -1 | Amount of players on each team needed to start match. -1 to always start when a player joins. |
autoassign_teams | bool | false | Distributes players evenly amongst teams when connecting. |
autoassign_classes | bool | false | Assigns players a class when connecting based on current class distribution. |
do_ingame_autobalance | bool | true | Periodically reassigns player teams during match, if the teams become unbalanced. |
autobalance_tolerance | f32 | 0.15 | Percentage of team balance that will be tolerated by do_ingame_autobalance. Higher makes for a more tolerant balancer. |
red_team_size_ratio | f32 | 1.0 | Allows team 2 player-count to be disproportionate to team 1 by a defined factor. Higher increases disproportion. |
swap_team_cooldown | s32 | 1800 | Amount of time required to pass before player can swap teams (value / 30 = seconds). |
balance_teams_on_nextmap | bool | true | Distributes players when starting a new match based on their kills. |
playerrespawn_seconds | float | 3.0 | Amount of seconds to wait before respawning dead player. |
nearspawn_multiplier | float | 3.0 | Value multiplies playerrespawn_seconds if player dies near their spawn. |
death_points | s16 | 0 | Amount that player score should be changed upon death (usually negative). |
kill_points | s16 | 0 | Amount that player score should be changed upon killing something (player / ai). |
selfkill_points | s16 | 0 | Amount that player score should be changed upon killing oneself (usually negative). |
attackdamage_modifier | float | 0.5 | Base value for calculating damage increments. Set higher for more damage! |
falldamage_modifier | float | 1.0 | Multiplies base fall damage value. Set to 0.0 for no fall damage. |
falldamage_threshold | float | 7.0 | Speed threshold to get stunned (not damaged) from a fall. Smaller value = lower speed. |
falldamage_constant | float | 5.0 | Speed needed to get damaged from a fall. Smaller value = lower speed. |
friendlydamage_modifier | float | 0.0 | Multiplies base damage value when attacking player on same team (0 = no team damage). |
map_indestructible | bool | false | Makes the map immune to almost all damage if true. Currently does not work as of build 590. |
map_bedrock_indestructible | bool | false | Makes bedrock tiles immune to all damage if true |
builder_hit_damage | float | 0.5 | Damage done by builders on hit. |
knight_jab_damage | float | 1.0 | Damage done by knights when jabbing |
knight_slash_damage | float | 1.5 | Damage done by knights when slashing |
stomp_vel | float | Sets to falldamage_constant if not set | The velocity at which an actor can stomp another. Set to 0 to prevent stomp damage. |
stomp_weak_damage | float | 1.0 | Damage done when weakly stomping, and damage taken by the stomper when strongly stomping someone. |
stomp_strong_damage | float | 2.0 | Damage when strongly stomping. |
wall_hit_damage | bool | false | Toggles application of fall damage when player slams into a wall at a high velocity. |
support_factor | s32 | 24 | The total support given by structures (-> larger numbers = more skybridges) |
support_added_vertical | s32 | 1 | The amount of support gained vertically. |
support_cost_ladder | s32 | 8 | The amount of support taken by a ladder horizontallly |
support_cost_bridge | s32 | 4 | The amount of support taken by a bridge horizontallly. |
support_cost_castle | s32 | 4 | The amount of support taken by a castle block horizontallly. |
support_cost_wood | s32 | 3 | The amount of support taken by a wood block horizontallly |
no_shadowing | bool | false / true | Toggles darkness/shadows. *Gold servers only. |
build_speed | s16 | 8 | Limits placement of blocks based on time passed. Smaller value = faster action. Note: Changing this will cause hacking warnings and kicks. |
builder_hitspeed | s16 | 14 | Base value which determines attack / gather rate. Varies according to target type that's being 'hit'. Smaller value = faster action. |
knight_drawtime | s16 | 1 | The amount of time slashes take to charge for a knight. |
knight_maxthrow | s16 | 120 | Unknown. |
knight_maxpower | s16 | 28 | Unknown. |
knight_speed | s16 | 13 | Base value which determines attack / gather rate. Varies according to target type that's being 'hit'. Smaller value = faster action. |
shield_stomp_velocity | float | 5.25 | Minimum velocity that is needed to initiate a 'shield-stomp'. |
max_bombs | s16 | 3 | Maximum amount of bombs that can be carried by a player. |
build_arrow_speed | s16 | 25 | Rate at which arrows are created when gathering from trees. Smaller value = faster action. |
archer_dig_speed | s16 | 30 | Rate that archers can 'dig' through 'dirt' tiles. Smaller value = faster action. |
archer_drawtime | s16 | 19 | Required delay before player is able to shoot. |
sword_knockdown | s16 | 12 | Amount of time victim is stunned after a successful 'slash'. |
small_sword_knockdown | s16 | 0 | Amount of time victim is stunned after being 'jabbed'. |
arrow_knockdown | s16 | 0 | Amount of time victim is stunned after an uncharged arrow attack. |
charged_arrow_knockdown | s16 | 12 | Amount of time victim is stunned after an fully-charged arrow attack. |
resupply_time | s16 | 180 | Amount of time you can swap classes and still get proper materials on the tent. Stepping off tent cancels it. |
knight_reset_timer_on_hit | bool | false | If true, sets knights "attack" charge to reset when they are hit. |
archer_maxpower | s16 | 66 | Determines amount of time required to charge arrow shots. Smaller value = faster action. |
archer_nodamage_vel | float | 1.0 | Minimum arrow velocity required for to apply damage to target. |
archer_max_vel | float | 15.0 | Maximum velocity an arrow can achieve when fully charged. Also determines arrow travel distance. |
archer_slow_arrow_damage | float | 0.5 | Amount of damage dealt when arrow is traveling slowly. Based on attackdamage_modifier. |
archer_normal_arrow_damage | float | 1.0 | Amount of damage dealt when arrow is traveling at a medium pace. Based on attackdamage_modifier. |
archer_charged_arrow_damage | float | 1.5 | Amount of damage dealt when arrow is traveling at at it's fastest pace. Based on attackdamage_modifier. |
archer_shoot_arrow_ondeath | bool | false | Allows a dying archer to release a previously charged arrow upon death. |
min_shieldbash_horiz_vel | float | 1.15 | Minimum horizontal velocity required to apply shield-bash stun to victim where 1 = running speed. |
max_shieldbash_push | float | 3.5 | Maximum velocity applied to victim after being successfully shield bashed where 1 = running speed. |
shieldbash_push_factor | float | 2.0 | The amount that a shieldbash pushes. |
shieldbash_uppysidey_ratio | float | 0.5 | The angle of the push, between 0 (all up) and 1 (all side) (I think) |
shieldbash_knockdown | s16 | 5 | Amount of time victim is stunned after being successfully shield bashed. |
clientside_shieldbash | bool | false | Toggles whether shield bash happens on client or on server. Leave at server; changing to client can cause issues. |
can_shieldbash | bool | false | Toggles the shield bash ability. |
collide_when_crouching | bool | false | Toggles entity collisions when player is in crouched position. If false, entities can walk past crouched players. |
can_glide_when_bombjumping | bool | true | Toggles ability to shield glide after successfully bomb jumping. |
bomb_jump_scale | f32 | 1 | Scales the base "jump" velocity when bomb jumping. |
mapresource_thickstone | u8 | 4 | Amount of stone given to player per hit when gathering from 'thick stone' tiles. |
mapresource_stone | u8 | 2 | Amount of stone given to player per hit when gathering from 'stone' tiles. |
mapresource_tree | u8 | 6 | Amount of wood given to player per hit when gathering from 'tree' tiles. |
mapresource_arrow | u8 | 1 | Amount of arrows given to player (archer) per hit when gathering from 'tree' tiles. |
mapresource_gold | u8 | 2 | Amount of gold given to player per hit when gathering from 'gold' tiles. |
unlimited_resources | bool | false | Toggles inventory reduction of materials from player when placing tiles. |
unlimited_ammo | bool | false | Toggles inventory reduction of arrows and bombs from player. |
switch_teams_onrestart | bool | false | Automatically swaps all players team association when a new match starts. |
new_sacks_in_tent | bool | true | Makes tents not give resources during warm up according to resource_warmup at builder.cfg, knight.cfg, archer.cfg. This variable could be read as “tent_doens't_give_resources_during_warmup”. Also if set to yes, resource_default at builder.cfg, knight.cfg, archer.cfg will have no effect. |
heart_fallout_probability | u8 | 2 | Toggles hearts appearing when a player dies. 0 - no hearts; 1 - every death; 2.. - randomly probability of 2... |
flags_count | u8 | 0 | Amount of flags that spawn at tent for each team. Never set to more than 1. |
flags_score | u8 | 1 | Amount of score given to a team when an enemy flag is successfully captured. (doesn’t work) |
flags_respawn | bool | false | Respawns flag to spawn point if it exits the battlefield. |
flags_return | bool | false | Returns flag to spawn point of touched by a friendly player. |
spawn_tent_onstart | bool | true | Spawns a tent, with flag, at points defined by map (and map generators). |
restartmap_onlastplayer_disconnect | bool | true | Starts a new match when there are no players on server. |
nocollapsing_nearspawn | bool | true | Toggles the prevention of tiles surrounding spawn-point being broken by a 'friendly' player (same team). AKA Anti-grief. |
mirrormap | bool | true | Toggles horizontal reflection of the left side of a generated map. |
coins_death_drop_percentage | u8 | 20 | Amount of coins a player will drop upon death, as a percentage of total. |
coins_damage_enemy | u8 | 5 | Amount of coins player will receive when player attacks an enemy successfully. |
coins_build_percentage | u8 | 20 | Amount of coins given to player when placing tiles based on percentage of material used. |
room_config | string | "Entities/Rooms/CTF_Room.cfg" | Reference to the configuration file that defines workshops and their functions. |
zombie_portal_config | string | Reference to the configuration file that defines zombie portals (spawners). | |
party_mode | bool | false | Enables migrants and functionality for followers. Overrides unit-count variables. |
warmup_barrier | bool | true | Enables one barrier from ⅓ to ⅔ of map that prevents movement during warmup. |