1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-05-13 21:56:29 +02:00

biter_battles_v2/bb_map_intro

This commit is contained in:
MewMew 2019-03-18 05:51:32 +01:00
parent b120b1bb41
commit 953c43036d
5 changed files with 44 additions and 35 deletions

View File

@ -39,7 +39,7 @@ require "score"
-----------------------------
---- enable maps here ----
--require "maps.biter_battles_v2.biter_battles_v2"
require "maps.biter_battles_v2.biter_battles_v2"
--require "maps.biter_battles.biter_battles"
--require "maps.cave_miner"
--require "maps.labyrinth"
@ -49,7 +49,7 @@ require "score"
--require "maps.atoll"
--require "maps.choppy"
--require "maps.tank_battles"
require "maps.spiral_troopers"
--require "maps.spiral_troopers"
--require "maps.fish_defender"
--require "maps.mountain_fortress"
--require "maps.stoneblock"

View File

@ -3,8 +3,8 @@ local math_random = math.random
local ai = {}
local threat_values = {
["small-spitter"] = 1.5,
["small-biter"] = 1.5,
["small-spitter"] = 1,
["small-biter"] = 1,
["medium-spitter"] = 4,
["medium-biter"] = 4,
["big-spitter"] = 8,

View File

@ -1,46 +1,53 @@
local event = require 'utils.event'
local info = [[
Biter Battles v2
- - B I T E R B A T T L E S - -
Defend the rocket silo of your team.
Your goal is to defend your team's rocket silo and defeat the other team.
Feeding science packs via the gui buttons,
increases the strength of the opposing team's biters.
There is no major direct pvp combat
The horizontal border river is landfill proof.
Construction robots can not build on the other teams's side.
Feeding science packs via the gui buttons will
There is no biter evolution from pollution, time or destruction.
ONLY feeding them increases their power and will lead to your teams victory.
The gui yields two different main stats for each team's biters.
- EVO -
The evolution of the biters.
It can go above 100% which unlocks endgame modifiers,
granting biters increased damage and evasion.
- THREAT -
Threat creates biter attacks.
Feeding gives permanent "threat-income", as well as creating instant threat.
A high threat value will cause more biters to attack.
A threat of zero or below will cause no attacks.
]]
local function create_map_intro_button(player)
if player.gui.top["map_intro_button"] then return end
local b = player.gui.top.add({type = "sprite-button", caption = "?", name = "map_intro_button", tooltip = "Map Info"})
b.style.font_color = {r = 80, g = 10, b = 255}
b.style.font_color = {r=0.5, g=0.3, b=0.99}
b.style.font = "heading-1"
b.style.minimal_height = 38
b.style.minimal_width = 38
b.style.top_padding = 2
b.style.left_padding = 4
b.style.right_padding = 4
b.style.bottom_padding = 2
b.style.top_padding = 1
b.style.left_padding = 1
b.style.right_padding = 1
b.style.bottom_padding = 1
end
local function create_map_intro(player)
if player.gui.left["map_intro_frame"] then player.gui.left["map_intro_frame"].destroy() end
local frame = player.gui.left.add {type = "frame", name = "map_intro_frame", direction = "vertical"}
local t = frame.add {type = "table", column_count = 1}
local b = frame.add {type = "button", caption = "Close", name = "close_map_intro_frame", align = "right"}
b.style.font = "default"
b.style.minimal_height = 30
b.style.minimal_width = 30
b.style.top_padding = 2
b.style.left_padding = 4
b.style.right_padding = 4
b.style.bottom_padding = 2
local frame = t.add {type = "frame"}
local l = frame.add {type = "label", caption = info}
if player.gui.center["map_intro_frame"] then player.gui.center["map_intro_frame"].destroy() end
local frame = player.gui.center.add {type = "frame", name = "map_intro_frame", direction = "vertical"}
local frame = frame.add {type = "frame"}
local l = frame.add {type = "label", caption = info, name = "map_intro_text"}
l.style.single_line = false
l.style.font = "heading-3"
l.style.font_color = {r=0.95, g=0.95, b=0.95}
l.style.font = "heading-2"
l.style.font_color = {r=0.7, g=0.6, b=0.99}
end
local function on_player_joined_game(event)
@ -56,10 +63,11 @@ local function on_gui_click(event)
if not event.element then return end
if not event.element.valid then return end
local player = game.players[event.element.player_index]
if event.element.name == "close_map_intro_frame" then player.gui.left["map_intro_frame"].destroy() return end
if event.element.name == "close_map_intro_frame" then player.gui.center["map_intro_frame"].destroy() return end
if event.element.name == "map_intro_text" then player.gui.center["map_intro_frame"].destroy() return end
if event.element.name == "map_intro_button" then
if player.gui.left["map_intro_frame"] then
player.gui.left["map_intro_frame"].destroy()
if player.gui.center["map_intro_frame"] then
player.gui.center["map_intro_frame"].destroy()
else
create_map_intro(player)
end

View File

@ -175,4 +175,5 @@ event.add(defines.events.on_player_joined_game, on_player_joined_game)
require "maps.biter_battles_v2.on_tick"
require "maps.biter_battles_v2.terrain"
require "maps.biter_battles_v2.chat"
require "maps.biter_battles_v2.chat"
require "maps.biter_battles_v2.bb_map_intro"

View File

@ -466,7 +466,7 @@ local function on_player_joined_game(event)
["uranium-ore"] = {frequency = "none", size = "none", richness = "none"},
["crude-oil"] = {frequency = "none", size = "none", richness = "none"},
["trees"] = {frequency = "none", size = "none", richness = "none"},
["enemy-base"] = {frequency = "none", size = "none", richness = "very-good"},
["enemy-base"] = {frequency = "none", size = "none", richness = "very-good"}
}
game.create_surface("spiral_troopers", map_gen_settings)