conf/worlds.lua
dofile("scripts/utils/tableHelper.lua");

function generateWorld(props)
	-- Any properties passed to this function will override the defaults present here
	-- The only other required properties are name, id, and port
	return extend({
		-- Number of channels (minimum 1, maximum 20)
		["channels"] = 19,
		-- Ribbon (a badge that displays on the world selection menu)
		-- Valid options: system_ribbon_none, system_ribbon_event, system_ribbon_new, or system_ribbon_hot
		["ribbon"] = system_ribbon_none,
		-- Whether GM chat is enabled or disabled by default
		["gm_chat_by_default"] = false,
		-- Server rates
		["rates"] = {
			["mob_exp"] = 1,
			["quest_exp"] = 1,
			["drop_meso"] = 1,
			["drop_rate"] = 1,
			-- -1 means that the global drop rate should use the regular drop rate, including when it's modified at runtime
			["global_drop_rate"] = -1,
			["global_drop_meso"] = -1,
		},
		-- Max allowed character slots (between 1 and 6)
		["max_characters"] = 6,
		-- Default character slots (should be <= max chars)
		["default_characters"] = 3,
		-- Default storage slots (between 4 and 100)
		["default_storage"] = 4,
		-- Max AP a user is allowed to put into their core stats (minimum 4, maximum 32767)
		["max_stats"] = 999,
		-- How many times should your users level up at once, if EXP allows?
		--  0 is disabled leveling
		-- -1 is as many times as the EXP allows
		["max_multi_level"] = 1,
		-- Scrolls across the top of the screen as the player is playing the game
		["scrolling_header"] = "",
		-- Event message (displays while logging in)
		["event_message"] = "",
		-- Maximum player load on the WorldServer (used to indicate population bars on channel select)
		["max_player_load"] = 1000,
		-- Time between character fames (in seconds)
		-- 0 means disabled faming
		-- -1 means as often as you would like (not recommended)
		["fame_time"] = 60 * 60 * 24,
		-- Time between a character faming a specific character and being able to do it again
		["fame_reset_time"] = 60 * 60 * 24 * 30,
		-- Map unload time (in seconds)
		-- 0 means map unloading is disabled
		["map_unload_time"] = 60 * 60,
		
		-- NPC script allocation, overrides regular scripts set in client
		-- Note: wrong npc ids give exception!!!
		["npc_forced_script"] = {
			[9200000] = "cody",
		},

		["pianus"] = {
			-- Valid boss channels
			-- An empty list means the boss is disabled, -1 means all channels
			["channels"] = {-1},
			-- Number of times a player may fight a boss per day
			-- -1 means as many times as they would like, 0 means they cannot fight a given boss
			["attempts"] = -1,
		},
		["papulatus"] = {
			["channels"] = {-1},
			["attempts"] = 2,
		},
		["zakum"] = {
			["channels"] = {4, 5, 6},
			["attempts"] = 2,
		},
		["horntail"] = {
			["channels"] = {8},
			["attempts"] = 2,
		},
		["pinkbean"] = {
			["channels"] = {9},
			["attempts"] = 1,
		},
	}, props);
end

worlds = {
	generateWorld({
		["name"] = "Scania",
		-- World ID (affects the icon of the world; minimum 0, maximum 9)
		["id"] = 0,
		-- What port should the WorldServer listen on?
		-- Channels will run on a port generated by world port + channel number
		-- i.e. Channel 1 will run on 7101 and channel 2 will run on 7102
		["port"] = 7100,
	}),
--[[ Uncomment for another world
	generateWorld({
		["name"] = "Bera",
		["id"] = 1,
		["port"] = 7200,
	}),
]]--
};