diff --git a/locale/en/pirates.cfg b/locale/en/pirates.cfg index d1dc5d3e..f23646a9 100644 --- a/locale/en/pirates.cfg +++ b/locale/en/pirates.cfg @@ -13,10 +13,10 @@ softmod_info_new_players_1=For New Players softmod_info_new_players_2=Mine coal and other resources and bring them to the ship to keep things going, or try asking the captain for more specific tasks. softmod_info_tips_1=Features of the game that are hard to work out alone -softmod_info_tips_2=• Resources granted to the ship appear in the captain's cabin.\n• Charging a silo launches a rocket. This causes pollution and evo, but each launch gives a reward of fuel and coins.\n• Charging a silo drains power from everything else on its network.\n• Once a silo has launched a rocket, biters will ignore it.\n• You can steer the boat from the crow's nest by placing 100 rail signals in one of the blue boxes.\n• Lab productivity increases with each league.\n• Passive pollution ramps up over time on each island.\n• Time increase in evolution, and the strength of attacks, are both proportional to the number of remaining nests. However, destroying a nest will immediately jump evolution by roughly the amount it 'would have' made had it survived. \n• At Abandoned Labs, biters don't care if you emit pollution. They only care how long you stay.\n• To launch a second parallel run, you need a fifth of the server's pirates to endorse it. +softmod_info_tips_2=• Resources granted to the ship appear in the captain's cabin.\n• Charging a silo launches a rocket. This causes pollution and evo, but each launch gives a reward of fuel and coins.\n• Charging a silo drains power from everything else on its network.\n• Once a silo has launched a rocket, biters will ignore it.\n• You can steer the boat from the crow's nest by placing 100 rail signals in one of the blue boxes.\n• Lab productivity increases with each league.\n• Passive pollution ramps up over time on each island.\n• The strength of attacks is proportional to the number of remaining nests. (Technically the time-based rate of evolution is proportional to nests too, but destroying a nest will immediately jump evolution by roughly the amount it 'would have' made had it survived.) \n• At Abandoned Labs, biters don't care if you emit pollution. They only care how long you stay.\n• To launch a second parallel run, you need a fifth of the server's pirates to endorse it. softmod_info_updates_1=Development -softmod_info_updates_2=Pirate Ship 1.0.3 is currently in testing! The gameplay is reworked to center around a fuel mechanic. This should make for a clear central objective. Please play and help us tune the gameplay :) +softmod_info_updates_2=Pirate Ship 1.0.3 is currently in testing! The gameplay is reworked to center around a fuel mechanic. This should make for a clear central objective. Please play and help us tune the gameplay :)\n\nRecent significant changes: Fuel mechanic replaces gold. Weakened chest+furnace resistance to biters. Additional silos that deconstrain power input. Some new classes. softmod_info_credits_1=Credits softmod_info_credits_2=Softmod designed and written by thesixthroc. Comfy codebase and help from Gerkiz, Hanakocz and Mew @ Comfy Industries (https://getcomfy.eu). Most island structure blueprints contributed by Mattisso.\n\n"Those white gloves. I'll never forget them 'till the day I die." - Dr. John diff --git a/maps/pirates/ai.lua b/maps/pirates/ai.lua index 65e35d0c..2043eae2 100644 --- a/maps/pirates/ai.lua +++ b/maps/pirates/ai.lua @@ -129,8 +129,8 @@ end function Public.try_main_attack() local wave_size_multiplier = 1 if Math.random(2) == 2 then return end --variance in attack sizes - if Math.random(9) == 1 then wave_size_multiplier = 2 return end --variance in attack sizes - if Math.random(50) == 1 then wave_size_multiplier = 3 return end --variance in attack sizes + if Math.random(10) == 1 then wave_size_multiplier = 2 end --variance in attack sizes + if Math.random(45) == 1 then wave_size_multiplier = 3.2 end --variance in attack sizes local memory = Memory.get_crew_memory() local surface = game.surfaces[Common.current_destination().surface_name] @@ -150,8 +150,8 @@ end function Public.try_secondary_attack() local wave_size_multiplier = 1 if Math.random(2) == 2 then return end --variance in attack sizes - if Math.random(9) == 1 then wave_size_multiplier = 2 return end --variance in attack sizes - if Math.random(50) == 1 then wave_size_multiplier = 3 return end --variance in attack sizes + if Math.random(10) == 1 then wave_size_multiplier = 2 end --variance in attack sizes + if Math.random(45) == 1 then wave_size_multiplier = 3.2 end --variance in attack sizes local memory = Memory.get_crew_memory() local surface = game.surfaces[Common.current_destination().surface_name] @@ -178,8 +178,8 @@ end function Public.try_rogue_attack() local wave_size_multiplier = 1 if Math.random(2) == 2 then return end --variance in attack sizes - if Math.random(9) == 1 then wave_size_multiplier = 2 return end --variance in attack sizes - if Math.random(50) == 1 then wave_size_multiplier = 3 return end --variance in attack sizes + if Math.random(10) == 1 then wave_size_multiplier = 2 end --variance in attack sizes + if Math.random(45) == 1 then wave_size_multiplier = 3.2 end --variance in attack sizes local memory = Memory.get_crew_memory() local surface = game.surfaces[Common.current_destination().surface_name] @@ -407,7 +407,7 @@ function Public.try_spawner_spend_fraction_of_available_pollution_on_biters(spaw temp_floating_pollution = temp_floating_pollution - unittype_pollutioncost budget = budget - unittype_pollutioncost - -- flow statistics should count the number of biters generated, without factors for extra expenditure: + -- flow statistics should reflect the number of biters generated, without factors for extra expenditure: game.pollution_statistics.on_flow(name2, - CoreData.biterPollutionValues[name2] * Balance.scripted_biters_pollution_cost_multiplier()) return biter.unit_number diff --git a/maps/pirates/balance.lua b/maps/pirates/balance.lua index c5bfe873..91ba1abd 100644 --- a/maps/pirates/balance.lua +++ b/maps/pirates/balance.lua @@ -71,14 +71,14 @@ end function Public.silo_total_pollution() return ( - 260 * (Common.difficulty()^(1.2)) * Public.onthefly_scaling_with_players_rule()^(4/5) * (1.25 + 0.75 * (Common.overworldx()/40)^(1.6)) + 280 * (Common.difficulty()^(1.2)) * Public.onthefly_scaling_with_players_rule()^(4/5) * (1.25 + 0.75 * (Common.overworldx()/40)^(1.6)) ) end function Public.max_time_on_island_formula() return 60 * ( - (33 + 2 * (Common.overworldx()/40)^(1/3)) + (32 + 2 * (Common.overworldx()/40)^(1/3)) ) / Public.onthefly_scaling_with_players_rule()^(2/3) / Math.sloped(Common.difficulty(), 1/4) end @@ -100,13 +100,13 @@ function Public.fuel_depletion_rate_static() local T = Public.expected_time_on_island() --always >0 - return - 1200 * (Common.overworldx()/40)^(1/2) / T * Public.onthefly_scaling_with_players_rule()^(1/3) --the extra player dependency accounts for the fact that even in compressed time, more players get more resources... + return - 1750 * (Common.overworldx()/40)^(8/10) * Public.onthefly_scaling_with_players_rule()^(1/2) * Math.sloped(Common.difficulty(), 2/3) / T --the extra player dependency accounts for the fact that even in compressed time, more players get more resources... end function Public.fuel_depletion_rate_sailing() if (not Common.overworldx()) then return 0 end - return - 10 * (1 + (Common.overworldx()/40)^(4/5)) + return - 10 * (1 + 0.5 * (Common.overworldx()/40)^(7/10)) end function Public.boat_passive_pollution_per_minute(time) @@ -131,7 +131,7 @@ end function Public.base_evolution() - local evo = (0.019 * (Common.overworldx()/40)) * Math.sloped(Common.difficulty(), 1/5) + local evo = (0.0201 * (Common.overworldx()/40)) * Math.sloped(Common.difficulty(), 1/5) if Common.overworldx()/40 == 0 then evo = 0 end return evo end @@ -183,24 +183,26 @@ function Public.evolution_per_biter_base_kill() end function Public.evolution_per_full_silo_charge() - return 0.09 + return 0.08 end function Public.bonus_damage_to_humans() - local ret = 0.25 + local ret = 0.15 local diff = Common.difficulty() - if diff <= 0.5 then ret = 0.2 end - if diff >= 1.5 then ret = 0.3 end - if diff >= 3 then ret = 0.4 end + if diff <= 0.7 then ret = 0.1 end + if diff >= 1.3 then ret = 0.2 end + if diff >= 2.5 then ret = 0.3 end return ret end function Public.periodic_free_resources_per_x(x) return { - {name = 'iron-plate', count = Math.ceil(5 * (Common.overworldx()/40)^(2/3))}, - {name = 'copper-plate', count = Math.ceil(1 * (Common.overworldx()/40)^(2/3))}, } + -- return { + -- {name = 'iron-plate', count = Math.ceil(5 * (Common.overworldx()/40)^(2/3))}, + -- {name = 'copper-plate', count = Math.ceil(1 * (Common.overworldx()/40)^(2/3))}, + -- } end function Public.periodic_free_resources_per_destination_5_seconds(x) @@ -235,7 +237,7 @@ function Public.quest_reward_multiplier() end function Public.island_richness_avg_multiplier() - return (1.0 + 0.08 * Common.overworldx()/40) + return (0.8 + 0.07 * Common.overworldx()/40) end function Public.resource_quest_multiplier() diff --git a/maps/pirates/commands.lua b/maps/pirates/commands.lua index 3129cced..49cad3a3 100644 --- a/maps/pirates/commands.lua +++ b/maps/pirates/commands.lua @@ -67,6 +67,7 @@ function(cmd) else local color = PlayerColors.names[Math.random(#PlayerColors.names)] local rgb = PlayerColors.colors[color] + if not rgb then return end player.color = rgb player.chat_color = rgb game.print(player.name .. '\'s color was randomized to ' .. color .. ' (via /ccolor).', rgb) diff --git a/maps/pirates/common.lua b/maps/pirates/common.lua index 32f9aba3..48008bba 100644 --- a/maps/pirates/common.lua +++ b/maps/pirates/common.lua @@ -850,6 +850,8 @@ end function Public.init_game_settings(technology_price_multiplier) + + --== Tuned for Pirate Ship ==-- global.friendly_fire_history = {} global.landfill_history = {} @@ -861,7 +863,6 @@ function Public.init_game_settings(technology_price_multiplier) game.map_settings.enemy_evolution.time_factor = 0 game.map_settings.enemy_evolution.destroy_factor = 0 - game.map_settings.max_expansion_distance = 4 game.map_settings.unit_group.min_group_gathering_time = 60 * 5 game.map_settings.unit_group.max_group_gathering_time = 60 * 210 game.map_settings.unit_group.max_wait_time_for_late_members = 60 * 15 @@ -871,7 +872,7 @@ function Public.init_game_settings(technology_price_multiplier) -- (0,2) for a symmetric search: game.map_settings.path_finder.goal_pressure_ratio = -0.1 --small pressure for stupid paths - game.map_settings.path_finder.fwd2bwd_ratio = 2 + game.map_settings.path_finder.fwd2bwd_ratio = 2 -- on experiments I found that only this value was symmetric... game.map_settings.max_failed_behavior_count = 2 game.map_settings.path_finder.max_work_done_per_tick = 20000 game.map_settings.path_finder.short_cache_min_algo_steps_to_cache = 100 @@ -879,11 +880,14 @@ function Public.init_game_settings(technology_price_multiplier) game.map_settings.enemy_expansion.enabled = true - -- game.map_settings.enemy_expansion.max_expansion_cooldown = 3600 - -- game.map_settings.enemy_expansion.min_expansion_cooldown = 3600 - -- game.map_settings.enemy_expansion.settler_group_max_size = 8 - -- game.map_settings.enemy_expansion.settler_group_min_size = 16 - -- game.map_settings.enemy_expansion.max_expansion_distance = 9 + -- faster expansion: + game.map_settings.enemy_expansion.min_expansion_cooldown = 1.2 * 3600 + game.map_settings.enemy_expansion.max_expansion_cooldown = 20 * 3600 + game.map_settings.enemy_expansion.settler_group_max_size = 24 + game.map_settings.enemy_expansion.settler_group_min_size = 6 + -- maybe should be 3.5 if possible: + game.map_settings.enemy_expansion.max_expansion_distance = 4 + -- could turn off default AI attacks: game.map_settings.pollution.enemy_attack_pollution_consumption_modifier = 1 -- diff --git a/maps/pirates/coredata.lua b/maps/pirates/coredata.lua index 68411e95..6a9121e8 100644 --- a/maps/pirates/coredata.lua +++ b/maps/pirates/coredata.lua @@ -5,8 +5,8 @@ local inspect = require 'utils.inspect'.inspect local Public = {} Public.scenario_id_name = 'pirates' -Public.version_string = '1.0.3.2' -Public.version_float = 1.032 +Public.version_string = '1.0.3.5' +Public.version_float = 1.035 Public.victory_x = 1000 @@ -96,9 +96,9 @@ Public.capacity_options = { -- {value = 64, icon = 'item/storage-tank', text = '64'}, } Public.difficulty_options = { - {value = 0.5, icon = 'item/firearm-magazine', text = 'Easy', associated_color = {50, 255, 50}}, + {value = 0.6, icon = 'item/firearm-magazine', text = 'Easy', associated_color = {50, 255, 50}}, {value = 1, icon = 'item/piercing-rounds-magazine', text = 'Normal', associated_color = {255, 255, 50}}, - {value = 1.5, icon = 'item/uranium-rounds-magazine', text = 'Hard', associated_color = {255, 50, 50}}, + {value = 1.4, icon = 'item/uranium-rounds-magazine', text = 'Hard', associated_color = {255, 50, 50}}, {value = 3, icon = 'item/atomic-bomb', text = 'Nightmare', associated_color = {50, 10, 10}}, } -- Public.mode_options = { diff --git a/maps/pirates/crew.lua b/maps/pirates/crew.lua index 8b4ffcdd..93972690 100644 --- a/maps/pirates/crew.lua +++ b/maps/pirates/crew.lua @@ -100,8 +100,8 @@ function Public.try_lose(reason) local playtimetext = Utils.time_longform((memory.age or 0)/60) - Server.to_discord_embed_raw(CoreData.comfy_emojis.trashbin .. '[' .. memory.name .. '] Game over — ' .. reason ..'. Playtime: ' .. playtimetext .. '.') - Common.notify_game('[' .. memory.name .. '] Game over — ' .. reason ..'. Playtime: [font=default-large-semibold]' .. playtimetext .. '[/font].', CoreData.colors.notify_gameover) + Server.to_discord_embed_raw(CoreData.comfy_emojis.trashbin .. '[' .. memory.name .. '] Game over — ' .. reason ..'. Playtime: ' .. playtimetext .. ' since 1st island.') + Common.notify_game('[' .. memory.name .. '] Game over — ' .. reason ..'. Playtime: [font=default-large-semibold]' .. playtimetext .. ' since 1st island[/font].', CoreData.colors.notify_gameover) local force = game.forces[memory.force_name] if not (force and force.valid) then return end @@ -705,6 +705,10 @@ function Public.reset_crew_and_enemy_force(id) crew_force.technologies['inserter-capacity-bonus-1'].researched = true crew_force.technologies['inserter-capacity-bonus-2'].researched = true + --@TRYING this out: + crew_force.technologies['coal-liquefaction'].enabled = true + crew_force.technologies['coal-liquefaction'].researched = true + crew_force.technologies['automobilism'].enabled = false -- note: some of these are overwritten after tech researched!!!!!!! like pistol @@ -772,7 +776,7 @@ function Public.reset_crew_and_enemy_force(id) crew_force.technologies['concrete'].enabled = false crew_force.technologies['nuclear-power'].enabled = false - crew_force.technologies['effect-transmission'].enabled = false + crew_force.technologies['effect-transmission'].enabled = true crew_force.technologies['gate'].enabled = false @@ -784,7 +788,7 @@ function Public.reset_crew_and_enemy_force(id) crew_force.technologies['effectivity-module'].enabled = false crew_force.technologies['effectivity-module-2'].enabled = false crew_force.technologies['effectivity-module-3'].enabled = false - crew_force.technologies['automation-3'].enabled = false + crew_force.technologies['automation-3'].enabled = true crew_force.technologies['rocket-control-unit'].enabled = false crew_force.technologies['rocket-silo'].enabled = false crew_force.technologies['space-science-pack'].enabled = false @@ -794,8 +798,7 @@ function Public.reset_crew_and_enemy_force(id) crew_force.technologies['physical-projectile-damage-7'].enabled = false crew_force.technologies['refined-flammables-7'].enabled = false crew_force.technologies['stronger-explosives-7'].enabled = false - crew_force.technologies['logistics-3'].enabled = false - crew_force.technologies['coal-liquefaction'].enabled = true + crew_force.technologies['logistics-3'].enabled = true crew_force.technologies['nuclear-fuel-reprocessing'].enabled = false crew_force.technologies['railway'].enabled = false diff --git a/maps/pirates/gui/crew.lua b/maps/pirates/gui/crew.lua index 7899cf94..5037df01 100644 --- a/maps/pirates/gui/crew.lua +++ b/maps/pirates/gui/crew.lua @@ -418,7 +418,7 @@ function Public.update(player) end if flow.captain.body.capn_undock_normal.visible then - flow.captain.body.capn_undock_normal.enabled = (memory.boat.state == Boats.enum_state.LANDED) and Common.query_sufficient_resources_to_leave() + flow.captain.body.capn_undock_normal.enabled = ((memory.boat.state == Boats.enum_state.LANDED) and Common.query_sufficient_resources_to_leave()) or (memory.boat.state == Boats.enum_state.DOCKED) end end diff --git a/maps/pirates/gui/gui.lua b/maps/pirates/gui/gui.lua index 58e806a6..9b488679 100644 --- a/maps/pirates/gui/gui.lua +++ b/maps/pirates/gui/gui.lua @@ -594,7 +594,7 @@ function Public.update_gui(player) if flow1.visible then if (not memory.undock_shortcut_are_you_sure_data) then memory.undock_shortcut_are_you_sure_data = {} end - if memory.undock_shortcut_are_you_sure_data[player.index] and memory.undock_shortcut_are_you_sure_data[player.index] > game.tick - 60 * 4 then + if memory.undock_shortcut_are_you_sure_data[player.index] and memory.undock_shortcut_are_you_sure_data[player.index] > game.tick - 60 * 4.5 then flow1.caption = 'Are you sure?' else flow1.caption = 'Undock' diff --git a/maps/pirates/interface.lua b/maps/pirates/interface.lua index 62f08ea8..fe3c07bc 100644 --- a/maps/pirates/interface.lua +++ b/maps/pirates/interface.lua @@ -442,7 +442,7 @@ local function event_on_player_mined_entity(event) local give = {} if memory.overworldx >= 0 then - if Math.random(6) == 1 then + if Math.random(8) == 1 then give[#give + 1] = {name = 'coin', count = 5} end end @@ -459,7 +459,7 @@ local function event_on_player_mined_entity(event) elseif entity.type == 'fish' then if not event.buffer then return end - local amount = 3 + local amount = 4 Common.give(player, {{name = 'raw-fish', count = amount}}, entity.position) event.buffer.clear() @@ -469,30 +469,20 @@ local function event_on_player_mined_entity(event) local give = {} - if memory.classes_table and memory.classes_table[event.player_index] then - local class = memory.classes_table[event.player_index] - if class == Classes.enum.PROSPECTOR then - if memory.overworldx > 0 then - give[#give + 1] = {name = 'coin', count = 5} - end + if memory.overworldx > 0 then + if memory.classes_table and memory.classes_table[event.player_index] and memory.classes_table[event.player_index] == Classes.enum.PROSPECTOR then + give[#give + 1] = {name = 'coin', count = 5} give[#give + 1] = {name = entity.name, count = 5} else if memory.overworldx > 0 then - give[#give + 1] = {name = 'coin', count = 1} + give[#give + 1] = {name = 'coin', count = 1} end give[#give + 1] = {name = entity.name, count = 2} end + else + give[#give + 1] = {name = entity.name, count = 2} end - if memory.overworldx > 0 then - -- if Math.random(2) == 1 then - -- give[#give + 1] = {name = 'coin', count = 1} - -- end - give[#give + 1] = {name = 'coin', count = 1} - end - - give[#give + 1] = {name = entity.name, count = 2} - Common.give(player, give, entity.position) event.buffer.clear() @@ -813,6 +803,11 @@ local function event_on_player_joined_game(event) Crew.join_crew(player, ages[1].id) end + --check if they are the only crew member, and make them the captain if so: + if #Common.crew_get_crew_members() == 1 then + Public.assign_captain_based_on_priorities() + end + if not _DEBUG then Gui.info.toggle_window(player) end diff --git a/maps/pirates/loot.lua b/maps/pirates/loot.lua index 96de70e4..88230fe3 100644 --- a/maps/pirates/loot.lua +++ b/maps/pirates/loot.lua @@ -345,7 +345,7 @@ function Public.chest_loot(number_of_items, game_completion_progress) elseif platesrng <= 4 then ret[#ret + 1] = {name = 'copper-plate', count = 120} else - ret[#ret + 1] = {name = 'steel-plate', count = 40} + ret[#ret + 1] = {name = 'steel-plate', count = 20} end return ret diff --git a/maps/pirates/overworld.lua b/maps/pirates/overworld.lua index d021f57a..6b97b0f4 100644 --- a/maps/pirates/overworld.lua +++ b/maps/pirates/overworld.lua @@ -102,6 +102,8 @@ function Public.generate_overworld_destination(p) type = Surfaces.enum.ISLAND subtype = Surfaces.Island.enum.RADIOACTIVE --electric engines needed at 20 + elseif macrop.x == 21 then + type = nil elseif macrop.x == 22 then type = Surfaces.enum.ISLAND subtype = Surfaces.Island.enum.WALKWAYS --moved from 20 to 22, let's not force a no-fight island right after the merchant dock @@ -136,7 +138,7 @@ function Public.generate_overworld_destination(p) -- temporarily placed this back here, as moving it to shorehit broke things: local playercount = Common.activecrewcount() local max_evo = 0.85 - if Common.difficulty() < 1 then max_evo = 0.68 end + if Common.difficulty() < 1 then max_evo = 0.72 end if macrop.x > 4 then scheduled_raft_raids = {} local times = {600, 360, 215, 210, 120, 30, 10, 5} diff --git a/maps/pirates/player_colors.lua b/maps/pirates/player_colors.lua index 12d76904..a0deaea9 100644 --- a/maps/pirates/player_colors.lua +++ b/maps/pirates/player_colors.lua @@ -1,3 +1,5 @@ +--a combination of https://en.wikipedia.org/wiki/Lists_of_colors and the xkcd colors https://blog.xkcd.com/2010/05/03/color-survey-results/, by thesixthroc + local Public = {} Public.colors = { @@ -7,8 +9,6 @@ Public.colors = { ["adobe"] = {r = 189, g = 108, b = 72}, ["aero"] = {r = 0.49, g = 0.73, b = 0.91}, ["aero blue"] = {r = 0.75, g = 0.91, b = 0.84}, - ["african violet"] = {r = 0.7, g = 0.52, b = 0.75}, - ["air superiority blue"] = {r = 0.45, g = 0.63, b = 0.76}, ["alabaster"] = {r = 0.93, g = 0.92, b = 0.88}, ["algae"] = {r = 84, g = 172, b = 104}, ["algae green"] = {r = 33, g = 195, b = 111}, @@ -91,7 +91,6 @@ Public.colors = { ["blanched almond"] = {r = 1., g = 0.92, b = 0.8}, ["bland"] = {r = 175, g = 168, b = 139}, ["blast off bronze"] = {r = 0.65, g = 0.44, b = 0.39}, - ["bleu de france"] = {r = 0.19, g = 0.55, b = 0.91}, ["blizzard blue"] = {r = 0.67, g = 0.9, b = 0.93}, ["blond"] = {r = 0.98, g = 0.94, b = 0.75}, ["blood"] = {r = 119, g = 0, b = 1}, @@ -130,7 +129,6 @@ Public.colors = { ["bone"] = {r = 0.89, g = 0.85, b = 0.79}, ["booger"] = {r = 155, g = 181, b = 60}, ["booger green"] = {r = 150, g = 180, b = 3}, - ["bordeaux"] = {r = 123, g = 0, b = 44}, ["boring green"] = {r = 99, g = 179, b = 101}, ["bottle green"] = {r = 0., g = 0.42, b = 0.31}, ["brandy"] = {r = 0.53, g = 0.25, b = 0.25}, @@ -164,7 +162,6 @@ Public.colors = { ["bright yellow green"] = {r = 157, g = 255, b = 0}, ["brilliant rose"] = {r = 1., g = 0.33, b = 0.64}, ["brink pink"] = {r = 0.98, g = 0.38, b = 0.5}, - ["british racing green"] = {r = 0., g = 0.26, b = 0.15}, ["bronze"] = {r = 0.8, g = 0.5, b = 0.2}, ["brown"] = {r = 0.53, g = 0.33, b = 0.04}, ["brown green"] = {r = 112, g = 108, b = 17}, @@ -403,7 +400,6 @@ Public.colors = { ["dark violet"] = {r = 0.58, g = 0., b = 0.83}, ["dark yellow"] = {r = 213, g = 182, b = 10}, ["dark yellow green"] = {r = 114, g = 143, b = 2}, - ["dartmouth green"] = {r = 0., g = 0.44, b = 0.24}, ["davy's grey"] = {r = 0.33, g = 0.33, b = 0.33}, ["deep aqua"] = {r = 8, g = 120, b = 127}, ["deep blue"] = {r = 4, g = 2, b = 115}, @@ -487,7 +483,6 @@ Public.colors = { ["egg shell"] = {r = 255, g = 252, b = 196}, ["eggshell"] = {r = 0.94, g = 0.92, b = 0.84}, ["eggshell blue"] = {r = 196, g = 255, b = 247}, - ["egyptian blue"] = {r = 0.06, g = 0.2, b = 0.65}, ["eigengrau"] = {r = 0.09, g = 0.09, b = 0.11}, ["electric blue"] = {r = 0.49, g = 0.98, b = 1.}, ["electric green"] = {r = 0., g = 1., b = 0.}, @@ -499,11 +494,6 @@ Public.colors = { ["emerald"] = {r = 0.31, g = 0.78, b = 0.47}, ["emerald green"] = {r = 2, g = 143, b = 30}, ["eminence"] = {r = 0.42, g = 0.19, b = 0.51}, - ["english green"] = {r = 0.11, g = 0.3, b = 0.24}, - ["english lavender"] = {r = 0.71, g = 0.51, b = 0.58}, - ["english red"] = {r = 0.67, g = 0.29, b = 0.32}, - ["english vermillion"] = {r = 0.8, g = 0.28, b = 0.29}, - ["english violet"] = {r = 0.34, g = 0.24, b = 0.36}, ["erin"] = {r = 0., g = 1., b = 0.25}, ["eton blue"] = {r = 0.59, g = 0.78, b = 0.64}, ["evergreen"] = {r = 5, g = 71, b = 42}, @@ -633,8 +623,6 @@ Public.colors = { ["gross green"] = {r = 160, g = 191, b = 22}, ["grullo"] = {r = 0.66, g = 0.6, b = 0.53}, ["gunmetal"] = {r = 0.16, g = 0.2, b = 0.22}, - ["han blue"] = {r = 0.27, g = 0.42, b = 0.81}, - ["han purple"] = {r = 0.32, g = 0.09, b = 0.98}, ["hansa yellow"] = {r = 0.91, g = 0.84, b = 0.42}, ["harlequin"] = {r = 0.25, g = 1., b = 0.}, ["harvest gold"] = {r = 0.85, g = 0.57, b = 0.}, @@ -646,8 +634,6 @@ Public.colors = { ["highlighter green"] = {r = 27, g = 252, b = 6}, ["hollywood cerise"] = {r = 0.96, g = 0., b = 0.63}, ["honeydew"] = {r = 0.94, g = 1., b = 0.94}, - ["honolulu blue"] = {r = 0., g = 0.43, b = 0.69}, - ["hooker's green"] = {r = 0.29, g = 0.47, b = 0.42}, ["hospital green"] = {r = 155, g = 229, b = 170}, ["hot green"] = {r = 37, g = 255, b = 41}, ["hot magenta"] = {r = 1., g = 0.11, b = 0.81}, @@ -660,12 +646,8 @@ Public.colors = { ["icky green"] = {r = 143, g = 174, b = 34}, ["icterine"] = {r = 0.99, g = 0.97, b = 0.37}, ["illuminating emerald"] = {r = 0.19, g = 0.57, b = 0.47}, - ["imperial red"] = {r = 0.93, g = 0.16, b = 0.22}, ["inchworm"] = {r = 0.7, g = 0.93, b = 0.36}, ["independence"] = {r = 0.3, g = 0.32, b = 0.43}, - ["india green"] = {r = 0.07, g = 0.53, b = 0.03}, - ["indian red"] = {r = 0.8, g = 0.36, b = 0.36}, - ["indian yellow"] = {r = 0.89, g = 0.66, b = 0.34}, ["indigo"] = {r = 0.29, g = 0., b = 0.51}, ["indigo blue"] = {r = 58, g = 24, b = 177}, ["indigo dye"] = {r = 0., g = 0.25, b = 0.42}, @@ -675,12 +657,9 @@ Public.colors = { ["irish green"] = {r = 1, g = 149, b = 41}, ["irresistible"] = {r = 0.7, g = 0.27, b = 0.42}, ["isabelline"] = {r = 0.96, g = 0.94, b = 0.93}, - ["italian sky blue"] = {r = 0.7, g = 1., b = 1.}, ["ivory"] = {r = 1., g = 1., b = 0.94}, ["jade"] = {r = 0., g = 0.66, b = 0.42}, ["jade green"] = {r = 43, g = 175, b = 106}, - ["japanese carmine"] = {r = 0.62, g = 0.16, b = 0.2}, - ["japanese violet"] = {r = 0.36, g = 0.2, b = 0.34}, ["jasmine"] = {r = 0.97, g = 0.87, b = 0.49}, ["jazzberry jam"] = {r = 0.65, g = 0.04, b = 0.37}, ["jet"] = {r = 0.2, g = 0.2, b = 0.2}, @@ -884,7 +863,6 @@ Public.colors = { ["metallic gold"] = {r = 0.83, g = 0.69, b = 0.22}, ["metallic seaweed"] = {r = 0.04, g = 0.49, b = 0.55}, ["metallic sunburst"] = {r = 0.61, g = 0.49, b = 0.22}, - ["mexican pink"] = {r = 0.89, g = 0., b = 0.49}, ["mid blue"] = {r = 39, g = 106, b = 179}, ["middle blue"] = {r = 0.49, g = 0.83, b = 0.9}, ["middle blue green"] = {r = 0.55, g = 0.85, b = 0.8}, @@ -947,7 +925,6 @@ Public.colors = { ["nadeshiko pink"] = {r = 0.96, g = 0.68, b = 0.78}, ["naples yellow"] = {r = 0.98, g = 0.85, b = 0.37}, ["nasty green"] = {r = 112, g = 178, b = 63}, - ["navajo white"] = {r = 1., g = 0.87, b = 0.68}, ["navy"] = {r = 1, g = 21, b = 62}, ["navy blue"] = {r = 0., g = 0., b = 0.5}, ["navy green"] = {r = 53, g = 83, b = 10}, @@ -1015,7 +992,6 @@ Public.colors = { ["oxblood"] = {r = 0.29, g = 0., b = 0.}, ["oxford blue"] = {r = 0., g = 0.13, b = 0.28}, ["pacific blue"] = {r = 0.11, g = 0.66, b = 0.79}, - ["pakistan green"] = {r = 0., g = 0.4, b = 0.}, ["palatinate purple"] = {r = 0.41, g = 0.16, b = 0.38}, ["pale"] = {r = 255, g = 249, b = 208}, ["pale aqua"] = {r = 0.74, g = 0.83, b = 0.9}, @@ -1063,7 +1039,6 @@ Public.colors = { ["pastel purple"] = {r = 202, g = 160, b = 255}, ["pastel red"] = {r = 219, g = 88, b = 86}, ["pastel yellow"] = {r = 255, g = 254, b = 113}, - ["patriarch"] = {r = 0.5, g = 0., b = 0.5}, ["payne's grey"] = {r = 0.33, g = 0.41, b = 0.47}, ["pea"] = {r = 164, g = 191, b = 32}, ["peach"] = {r = 1., g = 0.9, b = 0.71}, @@ -1127,20 +1102,13 @@ Public.colors = { ["polished pine"] = {r = 0.36, g = 0.64, b = 0.58}, ["pomp and power"] = {r = 0.53, g = 0.38, b = 0.56}, ["popstar"] = {r = 0.75, g = 0.31, b = 0.38}, - ["portland orange"] = {r = 1., g = 0.35, b = 0.21}, ["powder blue"] = {r = 0.69, g = 0.88, b = 0.9}, ["powder pink"] = {r = 255, g = 178, b = 208}, ["primary blue"] = {r = 8, g = 4, b = 249}, - ["princeton orange"] = {r = 0.96, g = 0.5, b = 0.15}, ["process yellow"] = {r = 1., g = 0.94, b = 0.}, ["prune"] = {r = 0.44, g = 0.11, b = 0.11}, - ["prussian blue"] = {r = 0., g = 0.19, b = 0.33}, ["psychedelic purple"] = {r = 0.87, g = 0., b = 1.}, ["puce"] = {r = 0.8, g = 0.53, b = 0.6}, - ["puke"] = {r = 165, g = 165, b = 2}, - ["puke brown"] = {r = 148, g = 119, b = 6}, - ["puke green"] = {r = 154, g = 174, b = 7}, - ["puke yellow"] = {r = 194, g = 190, b = 14}, ["pullman brown"] = {r = 0.39, g = 0.25, b = 0.09}, ["pumpkin"] = {r = 1., g = 0.46, b = 0.09}, ["pumpkin orange"] = {r = 251, g = 125, b = 7}, @@ -1249,15 +1217,12 @@ Public.colors = { ["ruby red"] = {r = 0.61, g = 0.07, b = 0.12}, ["rufous"] = {r = 0.66, g = 0.11, b = 0.03}, ["russet"] = {r = 0.5, g = 0.27, b = 0.11}, - ["russian green"] = {r = 0.4, g = 0.57, b = 0.4}, - ["russian violet"] = {r = 0.2, g = 0.09, b = 0.3}, ["rust"] = {r = 0.72, g = 0.25, b = 0.05}, ["rust brown"] = {r = 139, g = 49, b = 3}, ["rust orange"] = {r = 196, g = 85, b = 8}, ["rust red"] = {r = 170, g = 39, b = 4}, ["rusty orange"] = {r = 205, g = 89, b = 9}, ["rusty red"] = {r = 0.85, g = 0.17, b = 0.26}, - ["sacramento state green"] = {r = 0.02, g = 0.22, b = 0.15}, ["saddle brown"] = {r = 0.55, g = 0.27, b = 0.07}, ["safety orange"] = {r = 1., g = 0.47, b = 0.}, ["safety yellow"] = {r = 0.93, g = 0.82, b = 0.01}, @@ -1337,17 +1302,6 @@ Public.colors = { ["sonic silver"] = {r = 0.46, g = 0.46, b = 0.46}, ["space"] = {r = 0.18, g = 0.22, b = 0.23}, ["space cadet"] = {r = 0.11, g = 0.16, b = 0.32}, - ["spanish bistre"] = {r = 0.5, g = 0.46, b = 0.2}, - ["spanish blue"] = {r = 0., g = 0.44, b = 0.72}, - ["spanish carmine"] = {r = 0.82, g = 0., b = 0.28}, - ["spanish gray"] = {r = 0.6, g = 0.6, b = 0.6}, - ["spanish green"] = {r = 0., g = 0.57, b = 0.31}, - ["spanish orange"] = {r = 0.91, g = 0.38, b = 0.}, - ["spanish pink"] = {r = 0.97, g = 0.75, b = 0.75}, - ["spanish red"] = {r = 0.9, g = 0., b = 0.15}, - ["spanish sky blue"] = {r = 0., g = 1., b = 1.}, - ["spanish violet"] = {r = 0.3, g = 0.16, b = 0.51}, - ["spanish viridian"] = {r = 0., g = 0.5, b = 0.36}, ["spearmint"] = {r = 30, g = 248, b = 118}, ["spring bud"] = {r = 0.65, g = 0.99, b = 0.}, ["spring frost"] = {r = 0.53, g = 1., b = 0.16}, @@ -1449,8 +1403,6 @@ Public.colors = { ["ultra red"] = {r = 0.99, g = 0.42, b = 0.52}, ["umber"] = {r = 0.39, g = 0.32, b = 0.28}, ["unbleached silk"] = {r = 1., g = 0.87, b = 0.79}, - ["united nations blue"] = {r = 0.36, g = 0.57, b = 0.9}, - ["university of pennsylvania red"] = {r = 0.65, g = 0., b = 0.13}, ["unmellow yellow"] = {r = 1., g = 1., b = 0.4}, ["up forest green"] = {r = 0., g = 0.27, b = 0.13}, ["up maroon"] = {r = 0.48, g = 0.07, b = 0.07}, @@ -1495,9 +1447,6 @@ Public.colors = { ["vivid tangerine"] = {r = 1., g = 0.63, b = 0.54}, ["vivid violet"] = {r = 0.62, g = 0., b = 1.}, ["volt"] = {r = 0.8, g = 1., b = 0.}, - ["vomit"] = {r = 162, g = 164, b = 21}, - ["vomit green"] = {r = 137, g = 162, b = 3}, - ["vomit yellow"] = {r = 199, g = 193, b = 12}, ["warm black"] = {r = 0., g = 0.26, b = 0.26}, ["warm blue"] = {r = 75, g = 87, b = 219}, ["warm brown"] = {r = 150, g = 78, b = 2}, @@ -1549,6 +1498,6 @@ Public.colors = { ["zomp"] = {r = 0.22, g = 0.65, b = 0.56}, } -Public.names = {"absolute zero", "acid green", "adobe", "aero", "aero blue", "african violet", "air superiority blue", "alabaster", "algae", "algae green", "alice blue", "alloy orange", "almond", "almost black", "amaranth", "amaranth pink", "amaranth purple", "amaranth red", "amazon", "amber", "amethyst", "android green", "antique brass", "antique bronze", "antique fuchsia", "antique ruby", "antique white", "ao", "apple", "apple green", "apricot", "aqua", "aqua blue", "aqua green", "aqua marine", "aquamarine", "arctic lime", "army green", "artichoke", "arylide yellow", "ash gray", "asparagus", "atomic tangerine", "aubergine", "auburn", "aureolin", "avocado", "avocado green", "azul", "azure", "baby blue", "baby blue eyes", "baby green", "baby pink", "baby poo", "baby poop", "baby poop green", "baby powder", "baby puke green", "baby purple", "baby shit brown", "baby shit green", "baker miller pink", "banana", "banana yellow", "barbie pink", "barf green", "barney", "barney purple", "barn red", "battleship grey", "b'dazzled blue", "beau blue", "beaver", "beige", "berry", "big dip o'ruby", "bile", "bisque", "bistre", "bistre brown", "bitter lemon", "bitter lime", "bittersweet", "bittersweet shimmer", "black", "black bean", "black chocolate", "black coffee", "black coral", "black olive", "black shadows", "blanched almond", "bland", "blast off bronze", "bleu de france", "blizzard blue", "blond", "blood", "blood orange", "blood red", "blue", "blue bell", "blueberry", "blue blue", "blue gray", "blue/green", "blue green", "bluegreen", "blue/grey", "blue grey", "bluegrey", "blue jeans", "blue/purple", "blue purple", "blue sapphire", "bluetiful", "blue violet", "blue with a hint of purple", "bluey green", "bluey grey", "blue yonder", "bluey purple", "bluish", "bluish green", "bluish grey", "bluish purple", "blurple", "blush", "blush pink", "bole", "bone", "booger", "booger green", "bordeaux", "boring green", "bottle green", "brandy", "brick", "brick orange", "brick red", "bright aqua", "bright blue", "bright cyan", "bright green", "bright lavender", "bright light blue", "bright light green", "bright lilac", "bright lime", "bright lime green", "bright magenta", "bright maroon", "bright navy blue", "bright olive", "bright orange", "bright pink", "bright purple", "bright red", "bright sea green", "bright sky blue", "bright teal", "bright turquoise", "bright violet", "bright yellow", "bright yellow green", "brilliant rose", "brink pink", "british racing green", "bronze", "brown", "brown green", "brown grey", "brownish", "brownish green", "brownish grey", "brownish orange", "brownish pink", "brownish purple", "brownish red", "brownish yellow", "brown orange", "brown red", "brown sugar", "brown yellow", "browny green", "browny orange", "bruise", "brunswick green", "bubblegum", "bubble gum pink", "bubblegum pink", "bud green", "buff", "burgundy", "burlywood", "burnished brown", "burnt orange", "burnt red", "burnt siena", "burnt sienna", "burnt umber", "burnt yellow", "burple", "butter", "butterscotch", "butter yellow", "byzantine", "byzantium", "cadet", "cadet blue", "cadet grey", "cadmium green", "cadmium orange", "cadmium red", "cadmium yellow", "café au lait", "café noir", "cambridge blue", "camel", "cameo pink", "camo", "camo green", "camouflage green", "canary", "canary yellow", "candy apple red", "candy pink", "capri", "caput mortuum", "caramel", "cardinal", "caribbean green", "carmine", "carnation", "carnation pink", "carnelian", "carolina blue", "carrot orange", "castleton green", "catawba", "cedar chest", "celadon", "celadon blue", "celadon green", "celery", "celeste", "celtic blue", "cement", "cerise", "cerulean", "cerulean blue", "cerulean frost", "cg blue", "cg red", "champagne", "champagne pink", "charcoal", "charcoal grey", "charleston green", "charm pink", "chartreuse", "cherry", "cherry blossom pink", "cherry red", "chestnut", "chili red", "china pink", "china rose", "chinese red", "chinese violet", "chinese yellow", "chocolate", "chocolate brown", "chocolate cosmos", "chrome yellow", "cinereous", "cinnabar", "cinnamon", "cinnamon satin", "citrine", "citron", "claret", "clay", "clay brown", "clear blue", "cloudy blue", "cobalt", "cobalt blue", "cocoa", "cocoa brown", "coffee", "columbia blue", "congo pink", "cool blue", "cool green", "cool grey", "copper", "copper penny", "copper red", "copper rose", "coquelicot", "coral", "coral pink", "cordovan", "corn", "cornell red", "cornflower", "cornflower blue", "cornsilk", "cosmic cobalt", "cosmic latte", "cotton candy", "coyote brown", "cranberry", "cream", "creme", "crimson", "crystal", "cultured", "custard", "cyan", "cyber grape", "cyber yellow", "cyclamen", "dandelion", "dark", "dark aqua", "dark aquamarine", "dark beige", "dark blue", "darkblue", "dark blue gray", "dark blue green", "dark blue grey", "dark brown", "dark byzantium", "dark coral", "dark cornflower blue", "dark cream", "dark cyan", "dark electric blue", "dark forest green", "dark fuchsia", "dark gold", "dark goldenrod", "dark grass green", "dark green", "darkgreen", "dark green blue", "dark grey", "dark grey blue", "dark hot pink", "dark indigo", "darkish blue", "darkish green", "darkish pink", "darkish purple", "darkish red", "dark jungle green", "dark khaki", "dark lava", "dark lavender", "dark lilac", "dark lime", "dark lime green", "dark liver", "dark magenta", "dark maroon", "dark mauve", "dark mint", "dark mint green", "dark moss green", "dark mustard", "dark navy", "dark navy blue", "dark olive", "dark olive green", "dark orange", "dark orchid", "dark pastel green", "dark peach", "dark periwinkle", "dark pink", "dark plum", "dark purple", "dark red", "dark rose", "dark royal blue", "dark sage", "dark salmon", "dark sand", "dark seafoam", "dark seafoam green", "dark sea green", "dark sienna", "dark sky blue", "dark slate blue", "dark slate gray", "dark spring green", "dark tan", "dark taupe", "dark teal", "dark turquoise", "dark violet", "dark yellow", "dark yellow green", "dartmouth green", "davy's grey", "deep aqua", "deep blue", "deep brown", "deep cerise", "deep champagne", "deep chestnut", "deep green", "deep jungle green", "deep lavender", "deep lilac", "deep magenta", "deep orange", "deep pink", "deep purple", "deep red", "deep rose", "deep saffron", "deep sea blue", "deep sky blue", "deep space sparkle", "deep taupe", "deep teal", "deep turquoise", "deep violet", "denim", "denim blue", "desert", "desert sand", "diarrhea", "dim gray", "dirt", "dirt brown", "dirty blue", "dirty green", "dirty orange", "dirty pink", "dirty purple", "dirty yellow", "dodger blue", "dogwood rose", "drab", "drab green", "dried blood", "duck egg blue", "duke blue", "dull blue", "dull brown", "dull green", "dull orange", "dull pink", "dull purple", "dull red", "dull teal", "dull yellow", "dusk", "dusk blue", "dusky blue", "dusky pink", "dusky purple", "dusky rose", "dust", "dusty blue", "dusty green", "dusty lavender", "dusty orange", "dusty pink", "dusty purple", "dusty red", "dusty rose", "dusty teal", "dutch white", "earth", "earth yellow", "easter green", "easter purple", "ebony", "ecru", "eerie black", "eggplant", "eggplant purple", "egg shell", "eggshell", "eggshell blue", "egyptian blue", "eigengrau", "electric blue", "electric green", "electric indigo", "electric lime", "electric pink", "electric purple", "electric violet", "emerald", "emerald green", "eminence", "english green", "english lavender", "english red", "english vermillion", "english violet", "erin", "eton blue", "evergreen", "faded blue", "faded green", "faded orange", "faded pink", "faded purple", "faded red", "faded yellow", "fallow", "falu red", "fandango", "fandango pink", "fashion fuchsia", "fawn", "feldgrau", "fern", "fern green", "field drab", "fiery rose", "firebrick", "fire engine red", "fire opal", "flame", "flat blue", "flat green", "flax", "flirt", "floral white", "fluorescent blue", "fluorescent green", "fluro green", "foam green", "forest", "forest green", "forrest green", "french beige", "french bistre", "french blue", "french fuchsia", "french lilac", "french lime", "french mauve", "french pink", "french raspberry", "french rose", "french sky blue", "french violet", "fresh green", "frog green", "frostbite", "fuchsia", "fuchsia purple", "fuchsia rose", "fulvous", "fuzzy wuzzy", "gainsboro", "gamboge", "generic viridian", "ghost white", "glaucous", "glossy grape", "go green", "gold", "golden", "golden brown", "golden poppy", "golden rod", "goldenrod", "golden yellow", "gold fusion", "gotham green", "granite gray", "granny smith apple", "grape", "grapefruit", "grape purple", "grass", "grass green", "grassy green", "gray", "green", "green apple", "green/blue", "green blue", "greenblue", "green brown", "green cyan", "green grey", "greenish", "greenish beige", "greenish blue", "greenish brown", "greenish cyan", "greenish grey", "greenish tan", "greenish teal", "greenish turquoise", "greenish yellow", "green lizard", "green sheen", "green teal", "greeny blue", "greeny brown", "green/yellow", "green yellow", "greeny grey", "greeny yellow", "grey", "grey/blue", "grey blue", "greyblue", "grey brown", "grey/green", "grey green", "greyish", "greyish blue", "greyish brown", "greyish green", "greyish pink", "greyish purple", "greyish teal", "grey pink", "grey purple", "grey teal", "gross green", "grullo", "gunmetal", "han blue", "han purple", "hansa yellow", "harlequin", "harvest gold", "hazel", "heather", "heat wave", "heliotrope", "heliotrope gray", "highlighter green", "hollywood cerise", "honeydew", "honolulu blue", "hooker's green", "hospital green", "hot green", "hot magenta", "hot pink", "hot purple", "hunter green", "ice", "iceberg", "ice blue", "icky green", "icterine", "illuminating emerald", "imperial red", "inchworm", "independence", "india green", "indian red", "indian yellow", "indigo", "indigo blue", "indigo dye", "international klein blue", "international orange", "iris", "irish green", "irresistible", "isabelline", "italian sky blue", "ivory", "jade", "jade green", "japanese carmine", "japanese violet", "jasmine", "jazzberry jam", "jet", "jonquil", "june bud", "jungle green", "kelley green", "kelly green", "keppel", "kermit green", "key lime", "khaki", "khaki green", "kiwi", "kiwi green", "kobe", "kobi", "kobicha", "kombu green", "ksu purple", "languid lavender", "lapis lazuli", "laser lemon", "laurel green", "lava", "lavender", "lavender blue", "lavender blush", "lavender gray", "lavender pink", "lawn green", "leaf", "leaf green", "leafy green", "leather", "lemon", "lemon chiffon", "lemon curry", "lemon glacier", "lemon green", "lemon lime", "lemon meringue", "lemon yellow", "liberty", "lichen", "light aqua", "light aquamarine", "light beige", "light blue", "lightblue", "light blue green", "light blue grey", "light bluish green", "light bright green", "light brown", "light burgundy", "light coral", "light cornflower blue", "light cyan", "light eggplant", "lighter green", "lighter purple", "light forest green", "light french beige", "light gold", "light goldenrod yellow", "light grass green", "light gray", "light green", "lightgreen", "light green blue", "light greenish blue", "light grey", "light grey blue", "light grey green", "light indigo", "lightish blue", "lightish green", "lightish purple", "lightish red", "light khaki", "light lavendar", "light lavender", "light light blue", "light light green", "light lilac", "light lime", "light lime green", "light magenta", "light maroon", "light mauve", "light mint", "light mint green", "light moss green", "light mustard", "light navy", "light navy blue", "light neon green", "light olive", "light olive green", "light orange", "light pastel green", "light peach", "light pea green", "light periwinkle", "light pink", "light plum", "light purple", "light red", "light rose", "light royal blue", "light sage", "light salmon", "light seafoam", "light seafoam green", "light sea green", "light sky blue", "light slate gray", "light steel blue", "light tan", "light teal", "light turquoise", "light urple", "light violet", "light yellow", "light yellow green", "light yellowish green", "lilac", "lilac luster", "liliac", "lime", "lime green", "lime yellow", "lincoln green", "linen", "lion", "lipstick", "lipstick red", "liseran purple", "little boy blue", "liver", "liver chestnut", "livid", "macaroni and cheese", "madder lake", "magenta", "magenta haze", "magic mint", "magnolia", "mahogany", "maize", "majorelle blue", "malachite", "manatee", "mandarin", "mango", "mango tango", "manilla", "mantis", "mardi gras", "marigold", "marine", "marine blue", "maroon", "mauve", "mauvelous", "mauve taupe", "maximum blue", "maximum blue green", "maximum blue purple", "maximum green", "maximum green yellow", "maximum purple", "maximum red", "maximum red purple", "maximum yellow", "maximum yellow red", "maya blue", "may green", "medium aquamarine", "medium blue", "medium brown", "medium candy apple red", "medium carmine", "medium champagne", "medium green", "medium grey", "medium orchid", "medium pink", "medium purple", "medium sea green", "medium slate blue", "medium spring green", "medium turquoise", "medium violet red", "mellow apricot", "mellow yellow", "melon", "merlot", "metallic blue", "metallic gold", "metallic seaweed", "metallic sunburst", "mexican pink", "mid blue", "middle blue", "middle blue green", "middle blue purple", "middle green", "middle green yellow", "middle grey", "middle purple", "middle red", "middle red purple", "middle yellow", "middle yellow red", "mid green", "midnight", "midnight blue", "midnight green", "midnight purple", "mikado yellow", "military green", "milk chocolate", "mimi pink", "mindaro", "ming", "minion yellow", "mint", "mint cream", "mint green", "minty green", "misty moss", "misty rose", "mocha", "mode beige", "morning blue", "moss", "moss green", "mossy green", "mountain meadow", "mountbatten pink", "msu green", "mud", "mud brown", "muddy brown", "muddy green", "muddy yellow", "mud green", "mulberry", "murky green", "mushroom", "mustard", "mustard brown", "mustard green", "mustard yellow", "muted blue", "muted green", "muted pink", "muted purple", "myrtle green", "mystic", "mystic maroon", "nadeshiko pink", "naples yellow", "nasty green", "navajo white", "navy", "navy blue", "navy green", "neon blue", "neon carrot", "neon fuchsia", "neon green", "neon pink", "neon purple", "neon red", "neon yellow", "new york pink", "nice blue", "nickel", "night blue", "non photo blue", "nyanza", "ocean", "ocean blue", "ocean green", "ocher", "ochre", "ocre", "off blue", "off green", "off white", "off yellow", "old burgundy", "old gold", "old lace", "old lavender", "old mauve", "old pink", "old rose", "old silver", "olive", "olive brown", "olive drab", "olive green", "olive yellow", "olivine", "onyx", "opal", "opera mauve", "orange", "orange brown", "orangeish", "orange peel", "orange pink", "orange red", "orangered", "orange soda", "orangey brown", "orange yellow", "orangey red", "orangey yellow", "orangish", "orangish brown", "orangish red", "orchid", "orchid pink", "ou crimson red", "outer space", "outrageous orange", "oxblood", "oxford blue", "pacific blue", "pakistan green", "palatinate purple", "pale", "pale aqua", "pale blue", "pale brown", "pale cerulean", "pale cyan", "pale dogwood", "pale gold", "pale green", "pale grey", "pale lavender", "pale light green", "pale lilac", "pale lime", "pale lime green", "pale magenta", "pale mauve", "pale olive", "pale olive green", "pale orange", "pale peach", "pale pink", "pale purple", "pale red", "pale rose", "pale salmon", "pale silver", "pale sky blue", "pale spring bud", "pale teal", "pale turquoise", "pale violet", "pale yellow", "pansy purple", "paolo veronese green", "papaya whip", "paradise pink", "parchment", "paris green", "pastel blue", "pastel green", "pastel orange", "pastel pink", "pastel purple", "pastel red", "pastel yellow", "patriarch", "payne's grey", "pea", "peach", "peach puff", "peachy pink", "peacock blue", "pea green", "pear", "pearly purple", "pea soup", "pea soup green", "periwinkle", "periwinkle blue", "permanent geranium lake", "perrywinkle", "persian blue", "persian green", "persian indigo", "persian orange", "persian pink", "persian plum", "persian red", "persian rose", "persimmon", "petrol", "pewter blue", "phlox", "phthalo blue", "phthalo green", "picotee blue", "pictorial carmine", "piggy pink", "pig pink", "pine", "pine green", "pine tree", "pink", "pink flamingo", "pinkish", "pinkish brown", "pinkish grey", "pinkish orange", "pinkish purple", "pinkish red", "pinkish tan", "pink lace", "pink lavender", "pink/purple", "pink purple", "pink red", "pink sherbet", "pinky", "pinky purple", "pinky red", "piss yellow", "pistachio", "platinum", "plum", "plump purple", "plum purple", "poison green", "polished pine", "pomp and power", "poo", "poo brown", "poop", "poop brown", "poop green", "popstar", "portland orange", "powder blue", "powder pink", "primary blue", "princeton orange", "process yellow", "prune", "prussian blue", "psychedelic purple", "puce", "puke", "puke brown", "puke green", "puke yellow", "pullman brown", "pumpkin", "pumpkin orange", "pure blue", "purple", "purple/blue", "purple blue", "purple brown", "purple grey", "purpleish", "purpleish blue", "purpleish pink", "purple mountain majesty", "purple navy", "purple/pink", "purple pink", "purple pizzazz", "purple plum", "purple red", "purpley", "purpley blue", "purpley grey", "purpley pink", "purplish", "purplish blue", "purplish brown", "purplish grey", "purplish pink", "purplish red", "purply", "purply blue", "purply pink", "purpureus", "putty", "queen blue", "queen pink", "quick silver", "quinacridone magenta", "racing green", "radical red", "radioactive green", "raisin black", "rajah", "raspberry", "raspberry glace", "raspberry rose", "raw sienna", "raw umber", "razzle dazzle rose", "razzmatazz", "razzmic berry", "really light blue", "rebecca purple", "red", "red brown", "reddish", "reddish brown", "reddish grey", "reddish orange", "reddish pink", "reddish purple", "reddy brown", "red orange", "red pink", "red purple", "red salsa", "red violet", "red wine", "redwood", "resolution blue", "rhythm", "rich black", "rich blue", "rich purple", "rifle green", "robin egg blue", "robin's egg", "robin's egg blue", "rocket metallic", "rojo spanish red", "roman silver", "rosa", "rose", "rose bonbon", "rose dust", "rose ebony", "rose madder", "rose pink", "rose pompadour", "rose quartz", "rose red", "rose taupe", "rose vale", "rosewood", "rosso corsa", "rosy brown", "rosy pink", "rouge", "royal", "royal blue", "royal purple", "royal yellow", "ruber", "rubine red", "ruby", "ruby red", "rufous", "russet", "russian green", "russian violet", "rust", "rust brown", "rust orange", "rust red", "rusty orange", "rusty red", "sacramento state green", "saddle brown", "safety orange", "safety yellow", "saffron", "sage", "sage green", "salmon", "salmon pink", "sand", "sand brown", "sand dune", "sandstone", "sandy", "sandy brown", "sand yellow", "sandy yellow", "sap green", "sapphire", "sapphire blue", "satin sheen gold", "scarlet", "schauss pink", "school bus yellow", "screamin' green", "sea", "sea blue", "seafoam", "seafoam blue", "seafoam green", "sea green", "seal brown", "seashell", "seaweed", "seaweed green", "selective yellow", "sepia", "shadow", "shadow blue", "shamrock", "shamrock green", "sheen green", "shimmering blush", "shiny shamrock", "shit", "shit brown", "shit green", "shocking pink", "sick green", "sickly green", "sickly yellow", "sienna", "silver", "silver chalice", "silver pink", "silver sand", "sinopia", "sizzling red", "sizzling sunrise", "skobeloff", "sky", "sky blue", "sky magenta", "slate", "slate blue", "slate gray", "slate green", "slate grey", "slime green", "slimy green", "smitten", "smoky black", "snot", "snot green", "snow", "soft blue", "soft green", "soft pink", "soft purple", "solid pink", "sonic silver", "space", "space cadet", "spanish bistre", "spanish blue", "spanish carmine", "spanish gray", "spanish green", "spanish orange", "spanish pink", "spanish red", "spanish sky blue", "spanish violet", "spanish viridian", "spearmint", "spring bud", "spring frost", "spring green", "spruce", "squash", "star command blue", "steel", "steel blue", "steel grey", "steel pink", "steel teal", "stil de grain yellow", "stone", "stormy blue", "st. patrick's blue", "straw", "strawberry", "strawberry blonde", "strong blue", "strong pink", "sugar plum", "sunflower", "sunflower yellow", "sunglow", "sunny yellow", "sunray", "sunset", "sunshine yellow", "sun yellow", "super pink", "swamp", "swamp green", "sweet brown", "syracuse orange", "tan", "tan brown", "tangerine", "tango pink", "tan green", "tart orange", "taupe", "taupe gray", "tawny", "tea", "tea green", "teal", "teal blue", "teal green", "tealish", "tealish green", "tea rose", "telemagenta", "terracota", "terra cotta", "terracotta", "thistle", "thulian pink", "tickle me pink", "tiffany blue", "timberwolf", "titanium yellow", "tomato", "tomato red", "topaz", "toupe", "toxic green", "tree green", "tropical rainforest", "true blue", "true green", "trypan blue", "tufts blue", "tumbleweed", "turquoise", "turquoise blue", "turquoise green", "turtle green", "tuscan", "tuscan brown", "tuscan red", "tuscan tan", "tuscany", "twilight", "twilight blue", "twilight lavender", "tyrian purple", "ua blue", "ua red", "ugly blue", "ugly brown", "ugly green", "ugly pink", "ugly purple", "ugly yellow", "ultramarine", "ultramarine blue", "ultra pink", "ultra red", "umber", "unbleached silk", "united nations blue", "university of pennsylvania red", "unmellow yellow", "up forest green", "up maroon", "upsdell red", "uranian blue", "usafa blue", "van dyke brown", "vanilla", "vanilla ice", "vegas gold", "velvet", "venetian red", "verdigris", "vermilion", "vermillion", "veronica", "very dark blue", "very dark brown", "very dark green", "very dark purple", "very light blue", "very light brown", "very light green", "very light pink", "very light purple", "very pale blue", "very pale green", "vibrant blue", "vibrant green", "vibrant purple", "violet", "violet blue", "violet pink", "violet red", "viridian", "viridian green", "vivid blue", "vivid burgundy", "vivid green", "vivid purple", "vivid sky blue", "vivid tangerine", "vivid violet", "volt", "vomit", "vomit green", "vomit yellow", "warm black", "warm blue", "warm brown", "warm grey", "warm pink", "warm purple", "washed out green", "water blue", "watermelon", "weird green", "wheat", "white", "wild blue yonder", "wild orchid", "wild strawberry", "wild watermelon", "windows blue", "windsor tan", "wine", "wine dregs", "wine red", "wintergreen", "wintergreen dream", "winter sky", "wisteria", "wood brown", "xanadu", "xanthic", "xanthous", "yale blue", "yellow", "yellow brown", "yellow/green", "yellow green", "yellowgreen", "yellowish", "yellowish brown", "yellowish green", "yellowish orange", "yellowish tan", "yellow ochre", "yellow orange", "yellow sunshine", "yellow tan", "yellowy brown", "yellowy green", "yinmn blue", "zaffre", "zomp"} +Public.names = {"absolute zero", "acid green", "adobe", "aero", "aero blue", "alabaster", "algae", "algae green", "alice blue", "alloy orange", "almond", "almost black", "amaranth", "amaranth pink", "amaranth purple", "amaranth red", "amazon", "amber", "amethyst", "android green", "antique brass", "antique bronze", "antique fuchsia", "antique ruby", "antique white", "ao", "apple", "apple green", "apricot", "aqua", "aqua blue", "aqua green", "aqua marine", "aquamarine", "arctic lime", "army green", "artichoke", "arylide yellow", "ash gray", "asparagus", "atomic tangerine", "aubergine", "auburn", "aureolin", "avocado", "avocado green", "azul", "azure", "baby blue", "baby blue eyes", "baby green", "baby pink", "baby poo", "baby poop", "baby poop green", "baby powder", "baby puke green", "baby purple", "baby shit brown", "baby shit green", "baker miller pink", "banana", "banana yellow", "barbie pink", "barf green", "barney", "barney purple", "barn red", "battleship grey", "b'dazzled blue", "beau blue", "beaver", "beige", "berry", "big dip o'ruby", "bile", "bisque", "bistre", "bistre brown", "bitter lemon", "bitter lime", "bittersweet", "bittersweet shimmer", "black", "black bean", "black chocolate", "black coffee", "black coral", "black olive", "black shadows", "blanched almond", "bland", "blast off bronze", "blizzard blue", "blond", "blood", "blood orange", "blood red", "blue", "blue bell", "blueberry", "blue blue", "blue gray", "blue/green", "blue green", "bluegreen", "blue/grey", "blue grey", "bluegrey", "blue jeans", "blue/purple", "blue purple", "blue sapphire", "bluetiful", "blue violet", "blue with a hint of purple", "bluey green", "bluey grey", "blue yonder", "bluey purple", "bluish", "bluish green", "bluish grey", "bluish purple", "blurple", "blush", "blush pink", "bole", "bone", "booger", "booger green", "boring green", "bottle green", "brandy", "brick", "brick orange", "brick red", "bright aqua", "bright blue", "bright cyan", "bright green", "bright lavender", "bright light blue", "bright light green", "bright lilac", "bright lime", "bright lime green", "bright magenta", "bright maroon", "bright navy blue", "bright olive", "bright orange", "bright pink", "bright purple", "bright red", "bright sea green", "bright sky blue", "bright teal", "bright turquoise", "bright violet", "bright yellow", "bright yellow green", "brilliant rose", "brink pink", "bronze", "brown", "brown green", "brown grey", "brownish", "brownish green", "brownish grey", "brownish orange", "brownish pink", "brownish purple", "brownish red", "brownish yellow", "brown orange", "brown red", "brown sugar", "brown yellow", "browny green", "browny orange", "bruise", "brunswick green", "bubblegum", "bubble gum pink", "bubblegum pink", "bud green", "buff", "burgundy", "burlywood", "burnished brown", "burnt orange", "burnt red", "burnt siena", "burnt sienna", "burnt umber", "burnt yellow", "burple", "butter", "butterscotch", "butter yellow", "byzantine", "byzantium", "cadet", "cadet blue", "cadet grey", "cadmium green", "cadmium orange", "cadmium red", "cadmium yellow", "café au lait", "café noir", "cambridge blue", "camel", "cameo pink", "camo", "camo green", "camouflage green", "canary", "canary yellow", "candy apple red", "candy pink", "capri", "caput mortuum", "caramel", "cardinal", "caribbean green", "carmine", "carnation", "carnation pink", "carnelian", "carolina blue", "carrot orange", "castleton green", "catawba", "cedar chest", "celadon", "celadon blue", "celadon green", "celery", "celeste", "celtic blue", "cement", "cerise", "cerulean", "cerulean blue", "cerulean frost", "cg blue", "cg red", "champagne", "champagne pink", "charcoal", "charcoal grey", "charleston green", "charm pink", "chartreuse", "cherry", "cherry blossom pink", "cherry red", "chestnut", "chili red", "china pink", "china rose", "chinese red", "chinese violet", "chinese yellow", "chocolate", "chocolate brown", "chocolate cosmos", "chrome yellow", "cinereous", "cinnabar", "cinnamon", "cinnamon satin", "citrine", "citron", "claret", "clay", "clay brown", "clear blue", "cloudy blue", "cobalt", "cobalt blue", "cocoa", "cocoa brown", "coffee", "columbia blue", "congo pink", "cool blue", "cool green", "cool grey", "copper", "copper penny", "copper red", "copper rose", "coquelicot", "coral", "coral pink", "cordovan", "corn", "cornell red", "cornflower", "cornflower blue", "cornsilk", "cosmic cobalt", "cosmic latte", "cotton candy", "coyote brown", "cranberry", "cream", "creme", "crimson", "crystal", "cultured", "custard", "cyan", "cyber grape", "cyber yellow", "cyclamen", "dandelion", "dark", "dark aqua", "dark aquamarine", "dark beige", "dark blue", "darkblue", "dark blue gray", "dark blue green", "dark blue grey", "dark brown", "dark byzantium", "dark coral", "dark cornflower blue", "dark cream", "dark cyan", "dark electric blue", "dark forest green", "dark fuchsia", "dark gold", "dark goldenrod", "dark grass green", "dark green", "darkgreen", "dark green blue", "dark grey", "dark grey blue", "dark hot pink", "dark indigo", "darkish blue", "darkish green", "darkish pink", "darkish purple", "darkish red", "dark jungle green", "dark khaki", "dark lava", "dark lavender", "dark lilac", "dark lime", "dark lime green", "dark liver", "dark magenta", "dark maroon", "dark mauve", "dark mint", "dark mint green", "dark moss green", "dark mustard", "dark navy", "dark navy blue", "dark olive", "dark olive green", "dark orange", "dark orchid", "dark pastel green", "dark peach", "dark periwinkle", "dark pink", "dark plum", "dark purple", "dark red", "dark rose", "dark royal blue", "dark sage", "dark salmon", "dark sand", "dark seafoam", "dark seafoam green", "dark sea green", "dark sienna", "dark sky blue", "dark slate blue", "dark slate gray", "dark spring green", "dark tan", "dark taupe", "dark teal", "dark turquoise", "dark violet", "dark yellow", "dark yellow green", "davy's grey", "deep aqua", "deep blue", "deep brown", "deep cerise", "deep champagne", "deep chestnut", "deep green", "deep jungle green", "deep lavender", "deep lilac", "deep magenta", "deep orange", "deep pink", "deep purple", "deep red", "deep rose", "deep saffron", "deep sea blue", "deep sky blue", "deep space sparkle", "deep taupe", "deep teal", "deep turquoise", "deep violet", "denim", "denim blue", "desert", "desert sand", "diarrhea", "dim gray", "dirt", "dirt brown", "dirty blue", "dirty green", "dirty orange", "dirty pink", "dirty purple", "dirty yellow", "dodger blue", "dogwood rose", "drab", "drab green", "dried blood", "duck egg blue", "duke blue", "dull blue", "dull brown", "dull green", "dull orange", "dull pink", "dull purple", "dull red", "dull teal", "dull yellow", "dusk", "dusk blue", "dusky blue", "dusky pink", "dusky purple", "dusky rose", "dust", "dusty blue", "dusty green", "dusty lavender", "dusty orange", "dusty pink", "dusty purple", "dusty red", "dusty rose", "dusty teal", "dutch white", "earth", "earth yellow", "easter green", "easter purple", "ebony", "ecru", "eerie black", "eggplant", "eggplant purple", "egg shell", "eggshell", "eggshell blue", "eigengrau", "electric blue", "electric green", "electric indigo", "electric lime", "electric pink", "electric purple", "electric violet", "emerald", "emerald green", "eminence", "erin", "eton blue", "evergreen", "faded blue", "faded green", "faded orange", "faded pink", "faded purple", "faded red", "faded yellow", "fallow", "falu red", "fandango", "fandango pink", "fashion fuchsia", "fawn", "feldgrau", "fern", "fern green", "field drab", "fiery rose", "firebrick", "fire engine red", "fire opal", "flame", "flat blue", "flat green", "flax", "flirt", "floral white", "fluorescent blue", "fluorescent green", "fluro green", "foam green", "forest", "forest green", "forrest green", "french beige", "french bistre", "french blue", "french fuchsia", "french lilac", "french lime", "french mauve", "french pink", "french raspberry", "french rose", "french sky blue", "french violet", "fresh green", "frog green", "frostbite", "fuchsia", "fuchsia purple", "fuchsia rose", "fulvous", "fuzzy wuzzy", "gainsboro", "gamboge", "generic viridian", "ghost white", "glaucous", "glossy grape", "go green", "gold", "golden", "golden brown", "golden poppy", "golden rod", "goldenrod", "golden yellow", "gold fusion", "gotham green", "granite gray", "granny smith apple", "grape", "grapefruit", "grape purple", "grass", "grass green", "grassy green", "gray", "green", "green apple", "green/blue", "green blue", "greenblue", "green brown", "green cyan", "green grey", "greenish", "greenish beige", "greenish blue", "greenish brown", "greenish cyan", "greenish grey", "greenish tan", "greenish teal", "greenish turquoise", "greenish yellow", "green lizard", "green sheen", "green teal", "greeny blue", "greeny brown", "green/yellow", "green yellow", "greeny grey", "greeny yellow", "grey", "grey/blue", "grey blue", "greyblue", "grey brown", "grey/green", "grey green", "greyish", "greyish blue", "greyish brown", "greyish green", "greyish pink", "greyish purple", "greyish teal", "grey pink", "grey purple", "grey teal", "gross green", "grullo", "gunmetal", "hansa yellow", "harlequin", "harvest gold", "hazel", "heather", "heat wave", "heliotrope", "heliotrope gray", "highlighter green", "hollywood cerise", "honeydew", "hospital green", "hot green", "hot magenta", "hot pink", "hot purple", "hunter green", "ice", "iceberg", "ice blue", "icky green", "icterine", "illuminating emerald", "inchworm", "independence", "indigo", "indigo blue", "indigo dye", "international klein blue", "international orange", "iris", "irish green", "irresistible", "isabelline", "ivory", "jade", "jade green", "jasmine", "jazzberry jam", "jet", "jonquil", "june bud", "jungle green", "kelley green", "kelly green", "keppel", "kermit green", "key lime", "khaki", "khaki green", "kiwi", "kiwi green", "kobe", "kobi", "kobicha", "kombu green", "ksu purple", "languid lavender", "lapis lazuli", "laser lemon", "laurel green", "lava", "lavender", "lavender blue", "lavender blush", "lavender gray", "lavender pink", "lawn green", "leaf", "leaf green", "leafy green", "leather", "lemon", "lemon chiffon", "lemon curry", "lemon glacier", "lemon green", "lemon lime", "lemon meringue", "lemon yellow", "liberty", "lichen", "light aqua", "light aquamarine", "light beige", "light blue", "lightblue", "light blue green", "light blue grey", "light bluish green", "light bright green", "light brown", "light burgundy", "light coral", "light cornflower blue", "light cyan", "light eggplant", "lighter green", "lighter purple", "light forest green", "light french beige", "light gold", "light goldenrod yellow", "light grass green", "light gray", "light green", "lightgreen", "light green blue", "light greenish blue", "light grey", "light grey blue", "light grey green", "light indigo", "lightish blue", "lightish green", "lightish purple", "lightish red", "light khaki", "light lavendar", "light lavender", "light light blue", "light light green", "light lilac", "light lime", "light lime green", "light magenta", "light maroon", "light mauve", "light mint", "light mint green", "light moss green", "light mustard", "light navy", "light navy blue", "light neon green", "light olive", "light olive green", "light orange", "light pastel green", "light peach", "light pea green", "light periwinkle", "light pink", "light plum", "light purple", "light red", "light rose", "light royal blue", "light sage", "light salmon", "light seafoam", "light seafoam green", "light sea green", "light sky blue", "light slate gray", "light steel blue", "light tan", "light teal", "light turquoise", "light urple", "light violet", "light yellow", "light yellow green", "light yellowish green", "lilac", "lilac luster", "liliac", "lime", "lime green", "lime yellow", "lincoln green", "linen", "lion", "lipstick", "lipstick red", "liseran purple", "little boy blue", "liver", "liver chestnut", "livid", "macaroni and cheese", "madder lake", "magenta", "magenta haze", "magic mint", "magnolia", "mahogany", "maize", "majorelle blue", "malachite", "manatee", "mandarin", "mango", "mango tango", "manilla", "mantis", "mardi gras", "marigold", "marine", "marine blue", "maroon", "mauve", "mauvelous", "mauve taupe", "maximum blue", "maximum blue green", "maximum blue purple", "maximum green", "maximum green yellow", "maximum purple", "maximum red", "maximum red purple", "maximum yellow", "maximum yellow red", "maya blue", "may green", "medium aquamarine", "medium blue", "medium brown", "medium candy apple red", "medium carmine", "medium champagne", "medium green", "medium grey", "medium orchid", "medium pink", "medium purple", "medium sea green", "medium slate blue", "medium spring green", "medium turquoise", "medium violet red", "mellow apricot", "mellow yellow", "melon", "merlot", "metallic blue", "metallic gold", "metallic seaweed", "metallic sunburst", "mid blue", "middle blue", "middle blue green", "middle blue purple", "middle green", "middle green yellow", "middle grey", "middle purple", "middle red", "middle red purple", "middle yellow", "middle yellow red", "mid green", "midnight", "midnight blue", "midnight green", "midnight purple", "mikado yellow", "military green", "milk chocolate", "mimi pink", "mindaro", "ming", "minion yellow", "mint", "mint cream", "mint green", "minty green", "misty moss", "misty rose", "mocha", "mode beige", "morning blue", "moss", "moss green", "mossy green", "mountain meadow", "mountbatten pink", "msu green", "mud", "mud brown", "muddy brown", "muddy green", "muddy yellow", "mud green", "mulberry", "murky green", "mushroom", "mustard", "mustard brown", "mustard green", "mustard yellow", "muted blue", "muted green", "muted pink", "muted purple", "myrtle green", "mystic", "mystic maroon", "nadeshiko pink", "naples yellow", "nasty green", "navy", "navy blue", "navy green", "neon blue", "neon carrot", "neon fuchsia", "neon green", "neon pink", "neon purple", "neon red", "neon yellow", "new york pink", "nice blue", "nickel", "night blue", "non photo blue", "nyanza", "ocean", "ocean blue", "ocean green", "ocher", "ochre", "ocre", "off blue", "off green", "off white", "off yellow", "old burgundy", "old gold", "old lace", "old lavender", "old mauve", "old pink", "old rose", "old silver", "olive", "olive brown", "olive drab", "olive green", "olive yellow", "olivine", "onyx", "opal", "opera mauve", "orange", "orange brown", "orangeish", "orange peel", "orange pink", "orange red", "orangered", "orange soda", "orangey brown", "orange yellow", "orangey red", "orangey yellow", "orangish", "orangish brown", "orangish red", "orchid", "orchid pink", "ou crimson red", "outer space", "outrageous orange", "oxblood", "oxford blue", "pacific blue", "palatinate purple", "pale", "pale aqua", "pale blue", "pale brown", "pale cerulean", "pale cyan", "pale dogwood", "pale gold", "pale green", "pale grey", "pale lavender", "pale light green", "pale lilac", "pale lime", "pale lime green", "pale magenta", "pale mauve", "pale olive", "pale olive green", "pale orange", "pale peach", "pale pink", "pale purple", "pale red", "pale rose", "pale salmon", "pale silver", "pale sky blue", "pale spring bud", "pale teal", "pale turquoise", "pale violet", "pale yellow", "pansy purple", "paolo veronese green", "papaya whip", "paradise pink", "parchment", "paris green", "pastel blue", "pastel green", "pastel orange", "pastel pink", "pastel purple", "pastel red", "pastel yellow", "payne's grey", "pea", "peach", "peach puff", "peachy pink", "peacock blue", "pea green", "pear", "pearly purple", "pea soup", "pea soup green", "periwinkle", "periwinkle blue", "permanent geranium lake", "perrywinkle", "persian blue", "persian green", "persian indigo", "persian orange", "persian pink", "persian plum", "persian red", "persian rose", "persimmon", "petrol", "pewter blue", "phlox", "phthalo blue", "phthalo green", "picotee blue", "pictorial carmine", "piggy pink", "pig pink", "pine", "pine green", "pine tree", "pink", "pink flamingo", "pinkish", "pinkish brown", "pinkish grey", "pinkish orange", "pinkish purple", "pinkish red", "pinkish tan", "pink lace", "pink lavender", "pink/purple", "pink purple", "pink red", "pink sherbet", "pinky", "pinky purple", "pinky red", "piss yellow", "pistachio", "platinum", "plum", "plump purple", "plum purple", "poison green", "polished pine", "pomp and power", "poo", "poo brown", "poop", "poop brown", "poop green", "popstar", "powder blue", "powder pink", "primary blue", "process yellow", "prune", "psychedelic purple", "puce", "pullman brown", "pumpkin", "pumpkin orange", "pure blue", "purple", "purple/blue", "purple blue", "purple brown", "purple grey", "purpleish", "purpleish blue", "purpleish pink", "purple mountain majesty", "purple navy", "purple/pink", "purple pink", "purple pizzazz", "purple plum", "purple red", "purpley", "purpley blue", "purpley grey", "purpley pink", "purplish", "purplish blue", "purplish brown", "purplish grey", "purplish pink", "purplish red", "purply", "purply blue", "purply pink", "purpureus", "putty", "queen blue", "queen pink", "quick silver", "quinacridone magenta", "racing green", "radical red", "radioactive green", "raisin black", "rajah", "raspberry", "raspberry glace", "raspberry rose", "raw sienna", "raw umber", "razzle dazzle rose", "razzmatazz", "razzmic berry", "really light blue", "rebecca purple", "red", "red brown", "reddish", "reddish brown", "reddish grey", "reddish orange", "reddish pink", "reddish purple", "reddy brown", "red orange", "red pink", "red purple", "red salsa", "red violet", "red wine", "redwood", "resolution blue", "rhythm", "rich black", "rich blue", "rich purple", "rifle green", "robin egg blue", "robin's egg", "robin's egg blue", "rocket metallic", "rojo spanish red", "roman silver", "rosa", "rose", "rose bonbon", "rose dust", "rose ebony", "rose madder", "rose pink", "rose pompadour", "rose quartz", "rose red", "rose taupe", "rose vale", "rosewood", "rosso corsa", "rosy brown", "rosy pink", "rouge", "royal", "royal blue", "royal purple", "royal yellow", "ruber", "rubine red", "ruby", "ruby red", "rufous", "russet", "rust", "rust brown", "rust orange", "rust red", "rusty orange", "rusty red", "saddle brown", "safety orange", "safety yellow", "saffron", "sage", "sage green", "salmon", "salmon pink", "sand", "sand brown", "sand dune", "sandstone", "sandy", "sandy brown", "sand yellow", "sandy yellow", "sap green", "sapphire", "sapphire blue", "satin sheen gold", "scarlet", "schauss pink", "school bus yellow", "screamin' green", "sea", "sea blue", "seafoam", "seafoam blue", "seafoam green", "sea green", "seal brown", "seashell", "seaweed", "seaweed green", "selective yellow", "sepia", "shadow", "shadow blue", "shamrock", "shamrock green", "sheen green", "shimmering blush", "shiny shamrock", "shit", "shit brown", "shit green", "shocking pink", "sick green", "sickly green", "sickly yellow", "sienna", "silver", "silver chalice", "silver pink", "silver sand", "sinopia", "sizzling red", "sizzling sunrise", "skobeloff", "sky", "sky blue", "sky magenta", "slate", "slate blue", "slate gray", "slate green", "slate grey", "slime green", "slimy green", "smitten", "smoky black", "snot", "snot green", "snow", "soft blue", "soft green", "soft pink", "soft purple", "solid pink", "sonic silver", "space", "space cadet", "spearmint", "spring bud", "spring frost", "spring green", "spruce", "squash", "star command blue", "steel", "steel blue", "steel grey", "steel pink", "steel teal", "stil de grain yellow", "stone", "stormy blue", "st. patrick's blue", "straw", "strawberry", "strawberry blonde", "strong blue", "strong pink", "sugar plum", "sunflower", "sunflower yellow", "sunglow", "sunny yellow", "sunray", "sunset", "sunshine yellow", "sun yellow", "super pink", "swamp", "swamp green", "sweet brown", "syracuse orange", "tan", "tan brown", "tangerine", "tango pink", "tan green", "tart orange", "taupe", "taupe gray", "tawny", "tea", "tea green", "teal", "teal blue", "teal green", "tealish", "tealish green", "tea rose", "telemagenta", "terracota", "terra cotta", "terracotta", "thistle", "thulian pink", "tickle me pink", "tiffany blue", "timberwolf", "titanium yellow", "tomato", "tomato red", "topaz", "toupe", "toxic green", "tree green", "tropical rainforest", "true blue", "true green", "trypan blue", "tufts blue", "tumbleweed", "turquoise", "turquoise blue", "turquoise green", "turtle green", "tuscan", "tuscan brown", "tuscan red", "tuscan tan", "tuscany", "twilight", "twilight blue", "twilight lavender", "tyrian purple", "ua blue", "ua red", "ugly blue", "ugly brown", "ugly green", "ugly pink", "ugly purple", "ugly yellow", "ultramarine", "ultramarine blue", "ultra pink", "ultra red", "umber", "unbleached silk", "unmellow yellow", "up forest green", "up maroon", "upsdell red", "uranian blue", "usafa blue", "van dyke brown", "vanilla", "vanilla ice", "vegas gold", "velvet", "venetian red", "verdigris", "vermilion", "vermillion", "veronica", "very dark blue", "very dark brown", "very dark green", "very dark purple", "very light blue", "very light brown", "very light green", "very light pink", "very light purple", "very pale blue", "very pale green", "vibrant blue", "vibrant green", "vibrant purple", "violet", "violet blue", "violet pink", "violet red", "viridian", "viridian green", "vivid blue", "vivid burgundy", "vivid green", "vivid purple", "vivid sky blue", "vivid tangerine", "vivid violet", "volt", "warm black", "warm blue", "warm brown", "warm grey", "warm pink", "warm purple", "washed out green", "water blue", "watermelon", "weird green", "wheat", "white", "wild blue yonder", "wild orchid", "wild strawberry", "wild watermelon", "windows blue", "windsor tan", "wine", "wine dregs", "wine red", "wintergreen", "wintergreen dream", "winter sky", "wisteria", "wood brown", "xanadu", "xanthic", "xanthous", "yale blue", "yellow", "yellow brown", "yellow/green", "yellow green", "yellowgreen", "yellowish", "yellowish brown", "yellowish green", "yellowish orange", "yellowish tan", "yellow ochre", "yellow orange", "yellow sunshine", "yellow tan", "yellowy brown", "yellowy green", "yinmn blue", "zaffre", "zomp"} return Public \ No newline at end of file diff --git a/maps/pirates/progression.lua b/maps/pirates/progression.lua index 3c94656e..bd6156c2 100644 --- a/maps/pirates/progression.lua +++ b/maps/pirates/progression.lua @@ -37,8 +37,10 @@ function Public.fuel_depletion_rate() local memory = Memory.get_crew_memory() local state = memory.boat.state - if state == Boats.enum_state.ATSEA_SAILING or state == Boats.enum_state.RETREATING or state == Boats.enum_state.APPROACHING or state == Boats.enum_state.LEAVING_DOCK then + if state == Boats.enum_state.ATSEA_SAILING or state == Boats.enum_state.APPROACHING or state == Boats.enum_state.LEAVING_DOCK then return Balance.fuel_depletion_rate_sailing() + elseif state == Boats.enum_state.RETREATING then + return Balance.fuel_depletion_rate_sailing() / 10 elseif state == Boats.enum_state.LANDED then return Balance.fuel_depletion_rate_static() else @@ -458,7 +460,7 @@ function Public.retreat_from_island() if boat.state and boat.state == Boats.enum_state.RETREATING then return end boat.state = Boats.enum_state.RETREATING - boat.speed = 1 + boat.speed = 1.2 Boats.place_boat(boat, CoreData.moving_boat_floor, false, false) diff --git a/maps/pirates/roles/classes.lua b/maps/pirates/roles/classes.lua index 5a7a513e..5b538292 100644 --- a/maps/pirates/roles/classes.lua +++ b/maps/pirates/roles/classes.lua @@ -47,9 +47,9 @@ Public.explanation = { [enum.FISHERMAN] = 'They fish at greater distance.', [enum.SCOUT] = 'They are faster, but frail and deal much less damage.', [enum.SAMURAI] = 'They are tough, and when they have no weapon equipped they fight well by melee, but poorly otherwise.', - [enum.MERCHANT] = 'They generate 40 coins per league, but they are frail.', + [enum.MERCHANT] = 'They generate 40 coins per league, but are frail.', [enum.SHORESMAN] = 'They move slightly faster and generate iron ore for the ship whilst offboard, but move slower onboard.', - [enum.BOATSWAIN] = 'They move faster and generate lots of ore for the ship whilst onboard below deck, but move slower offboard.', + [enum.BOATSWAIN] = 'They move faster and generate lots of ore for the ship whilst below deck, but move slower offboard.', [enum.PROSPECTOR] = 'They find more resources when handmining ore.', } diff --git a/maps/pirates/roles/roles.lua b/maps/pirates/roles/roles.lua index 2e6af3cf..099e1c47 100644 --- a/maps/pirates/roles/roles.lua +++ b/maps/pirates/roles/roles.lua @@ -24,7 +24,7 @@ function Public.tag_text(player) tags[#tags + 1] = "Cap'n" elseif player.controller_type == defines.controllers.spectator then tags[#tags + 1] = 'Spectating' - elseif memory.officers_table and memory.classes_table[player.index] then + elseif memory.officers_table and memory.officers_table[player.index] then tags[#tags + 1] = "Officer" end @@ -76,7 +76,6 @@ end function Public.player_left_so_redestribute_roles(player) local memory = Memory.get_crew_memory() - -- we can assume #Common.crew_get_crew_members() > 0 if player and player.index and player.index == memory.playerindex_captain then Public.assign_captain_based_on_priorities() @@ -252,6 +251,8 @@ function Public.assign_captain_based_on_priorities(excluded_player_index) Common.notify_force_light(force, message .. ' If yes say /ok') -- Server.to_discord_embed_raw('[' .. memory.name .. ']' .. CoreData.comfy_emojis.spurdo .. ' ' .. message) memory.captain_acceptance_timer = 72 --tuned + else + memory.captain_acceptance_timer = nil end end @@ -270,16 +271,16 @@ function Public.captain_requisition_coins(captain_index) local captain_inv = captain.get_inventory(defines.inventory.character_main) for _, player_index in pairs(crew_members) do - if player_index == captain_index then return end - - local player = game.players[player_index] - if player then - local inv = player.get_inventory(defines.inventory.character_main) - if not inv then return end - local coin_amount = inv.get_item_count('coin') - if coin_amount and coin_amount > 0 then - inv.remove{name='coin', count=coin_amount} - captain_inv.insert{name='coin', count=coin_amount} + if player_index ~= captain_index then + local player = game.players[player_index] + if player then + local inv = player.get_inventory(defines.inventory.character_main) + if not inv then return end + local coin_amount = inv.get_item_count('coin') + if coin_amount and coin_amount > 0 then + inv.remove{name='coin', count=coin_amount} + captain_inv.insert{name='coin', count=coin_amount} + end end end end diff --git a/maps/pirates/shop/covered.lua b/maps/pirates/shop/covered.lua index 88e7ba4b..851f0f24 100644 --- a/maps/pirates/shop/covered.lua +++ b/maps/pirates/shop/covered.lua @@ -31,7 +31,7 @@ Public.offers_loaders = { Public.offers_default = { {price = {{'coin', 1000}}, offer = {type = 'give-item', item = 'copper-plate', count = 250}}, {price = {{'coin', 1000}}, offer = {type = 'give-item', item = 'iron-plate', count = 250}}, - {price = {{'coin', 1000}}, offer = {type = 'give-item', item = 'crude-oil-barrel', count = 10}}, + {price = {{'coin', 1000}}, offer = {type = 'give-item', item = 'crude-oil-barrel', count = 7}}, } Public.offers_rockets = { diff --git a/maps/pirates/shop/shop.lua b/maps/pirates/shop/shop.lua index 591df604..31fb0bfe 100644 --- a/maps/pirates/shop/shop.lua +++ b/maps/pirates/shop/shop.lua @@ -56,40 +56,40 @@ Public.main_shop_data_1 = { [Upgrades.enum.MORE_POWER] = { tooltip = 'Upgrade the ship\'s power.', what_you_get_sprite_buttons = {['utility/status_working'] = false}, - base_cost = {coins = 5000, fuel = 1000}, + base_cost = {coins = 5000, fuel = 700}, }, [Upgrades.enum.EXTRA_HOLD] = { tooltip = 'Upgrade the ship\'s hold.', what_you_get_sprite_buttons = {['item/steel-chest'] = false}, - base_cost = {coins = 10000, fuel = 2000}, + base_cost = {coins = 10000, fuel = 2500}, }, [Upgrades.enum.ROCKETS_FOR_SALE] = { tooltip = 'Unlock rockets for sale at covered-up markets.', what_you_get_sprite_buttons = {['item/rocket-launcher'] = false}, - base_cost = {coins = 10000, fuel = 2000}, + base_cost = {coins = 10000, fuel = 3000}, }, [Upgrades.enum.UNLOCK_MERCHANTS] = { tooltip = 'Unlock merchant ships.', what_you_get_sprite_buttons = {['entity/market'] = false}, - base_cost = {coins = 10000, fuel = 2500}, + base_cost = {coins = 10000, fuel = 4000}, }, } Public.main_shop_data_2 = { rail_signal = { - tooltip = "100 signals, used to steer the boat once space in the Crow's Nest View.", + tooltip = "100 signals, used to steer the boat one space in the Crow's Nest View.", what_you_get_sprite_buttons = {['item/rail-signal'] = 100}, - base_cost = {coins = 500}, + base_cost = {coins = 600}, }, artillery_shell = { tooltip = '10 cannon shells.', what_you_get_sprite_buttons = {['item/artillery-shell'] = 10}, - base_cost = {coins = 1500, fuel = 500}, + base_cost = {coins = 2000, fuel = 300}, }, artillery_remote = { tooltip = 'An artillery targeting remote.', what_you_get_sprite_buttons = {['item/artillery-targeting-remote'] = 1}, - base_cost = {coins = 15000, fuel = 2000}, + base_cost = {coins = 12000, fuel = 2500}, }, -- extra_time = { -- tooltip = 'Relax at sea for an extra minute for 50 stored fuel. (Increases the next destination\'s loading time.)', @@ -104,7 +104,7 @@ Public.main_shop_data_2 = { uranium_ore = { tooltip = '10 green rocks of unknown origin.', what_you_get_sprite_buttons = {['item/uranium-238'] = 10}, - base_cost = {coins = 200, fuel = 800}, + base_cost = {coins = 1000, fuel = 800}, }, } @@ -351,6 +351,16 @@ function Public.event_on_market_item_purchased(event) market.remove_market_item(offer_index) else + if (price and price[1]) then + -- if (price and price[1] and price[1].name and ((price[1].name ~= 'coin' and price[1].name ~= 'pistol') or price[2])) then + if price[2] then + local fish = price[2].name + if fish == 'raw-fish' then fish = 'fish' end + Common.notify_force_light(player.force, player.name .. ' is trading away ' .. price[1].amount .. ' ' .. price[1].name .. ' and ' .. fish .. ' for ' .. this_offer.offer.count .. ' ' .. this_offer.offer.item .. '...') + else + Common.notify_force_light(player.force, player.name .. ' is trading away ' .. price[1].amount .. ' ' .. price[1].name .. ' for ' .. this_offer.offer.count .. ' ' .. this_offer.offer.item .. '...') + end + end if (price and price[1] and price[1].name and (price[1].name == 'pistol')) then if not inv then return end local flying_text_color = {r = 255, g = 255, b = 255} @@ -373,16 +383,6 @@ function Public.event_on_market_item_purchased(event) market.add_market_item(offer) end end - if (price and price[1]) then - -- if (price and price[1] and price[1].name and ((price[1].name ~= 'coin' and price[1].name ~= 'pistol') or price[2])) then - if price[2] then - local fish = price[2].name - if fish == 'raw-fish' then fish = 'fish' end - Common.notify_force_light(player.force, player.name .. ' is trading away ' .. price[1].amount .. ' ' .. price[1].name .. ' and ' .. fish .. ' to get ' .. this_offer.offer.item .. '...') - else - Common.notify_force_light(player.force, player.name .. ' is trading away ' .. price[1].amount .. ' ' .. price[1].name .. ' to get ' .. this_offer.offer.item .. '...') - end - end end end diff --git a/maps/pirates/surfaces/islands/common.lua b/maps/pirates/surfaces/islands/common.lua index 35044872..3c032c03 100644 --- a/maps/pirates/surfaces/islands/common.lua +++ b/maps/pirates/surfaces/islands/common.lua @@ -28,8 +28,8 @@ function Public.place_water_tile(args) then args.tiles[#args.tiles + 1] = {name = 'deepwater', position = args.p} - local fishrng = Math.random(400) - if fishrng == 400 then + local fishrng = Math.random(350) + if fishrng == 350 then args.entities[#args.entities + 1] = {name = 'fish', position = args.p} end return true @@ -41,8 +41,8 @@ function Public.place_water_tile(args) if height_noise < 0 then args.tiles[#args.tiles + 1] = {name = 'water', position = args.p} - local fishrng = Math.random(400) - if fishrng == 400 then + local fishrng = Math.random(350) + if fishrng == 350 then args.entities[#args.entities + 1] = {name = 'fish', position = args.p} end return true diff --git a/maps/pirates/surfaces/islands/horseshoe/horseshoe.lua b/maps/pirates/surfaces/islands/horseshoe/horseshoe.lua index c15d33b5..9249082a 100644 --- a/maps/pirates/surfaces/islands/horseshoe/horseshoe.lua +++ b/maps/pirates/surfaces/islands/horseshoe/horseshoe.lua @@ -55,7 +55,7 @@ function Public.terrain(args) args.tiles[#args.tiles + 1] = {name = 'dirt-1', position = args.p} else if noises.mood(p) > 0.66 then - args.tiles[#args.tiles + 1] = {name = 'water-shallow', position = args.p} + args.tiles[#args.tiles + 1] = {name = 'water', position = args.p} else args.tiles[#args.tiles + 1] = {name = 'sand-3', position = args.p} end @@ -100,7 +100,7 @@ function Public.terrain(args) end if noises.height(p) > 0.18 and noises.mood(p) > 0.2 then - if noises.forest_abs(p) < 0.2 and noises.rock_abs(p) > 1.5 then + if noises.forest_abs(p) < 0.2 and noises.rock_abs(p) > 1.8 then args.entities[#args.entities + 1] = {name = 'coal', position = args.p, amount = 10} end end diff --git a/maps/pirates/surfaces/islands/walkways/walkways.lua b/maps/pirates/surfaces/islands/walkways/walkways.lua index 73ffbcdf..52293347 100644 --- a/maps/pirates/surfaces/islands/walkways/walkways.lua +++ b/maps/pirates/surfaces/islands/walkways/walkways.lua @@ -73,7 +73,7 @@ function Public.terrain(args) end if noises.height(p) > 0.12 and noises.walkways(p) < 0.1 and noises.rock_abs(p) < 0.07 then - args.entities[#args.entities + 1] = {name = 'coal', position = args.p, amount = 20} + args.entities[#args.entities + 1] = {name = 'coal', position = args.p, amount = 14} end else