mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-03-17 20:58:13 +02:00
rpg module integration
This commit is contained in:
parent
6d14efb8ea
commit
5d6fe34c87
@ -147,6 +147,8 @@ function reset_map()
|
||||
global.market = spawn_market(global.current_surface, {x = 0, y = -8})
|
||||
|
||||
game.map_settings.enemy_evolution.time_factor = difficulties_votes_evo[4]
|
||||
|
||||
if global.rpg then rpg_reset_all_players() end
|
||||
end
|
||||
|
||||
local function on_player_joined_game(event)
|
||||
|
@ -1,8 +1,8 @@
|
||||
-- spooky forest -- by mewmew --
|
||||
|
||||
require "modules.hunger"
|
||||
require "modules.fish_respawner"
|
||||
global.fish_respawner_water_tiles_per_fish = 16
|
||||
require "modules.trees_randomly_die"
|
||||
--require "modules.fish_respawner"
|
||||
--global.fish_respawner_water_tiles_per_fish = 16
|
||||
|
||||
require "modules.satellite_score"
|
||||
require "modules.explosives_are_explosive"
|
||||
@ -15,6 +15,8 @@ require "modules.biters_double_damage"
|
||||
require "modules.spawners_contain_biters"
|
||||
require "modules.rocks_broken_paint_tiles"
|
||||
require "modules.rocks_yield_ore"
|
||||
require "modules.rpg"
|
||||
require "modules.hunger"
|
||||
|
||||
local shapes = require "tools.shapes"
|
||||
local event = require 'utils.event'
|
||||
@ -407,7 +409,7 @@ local function on_entity_died(event)
|
||||
end
|
||||
end
|
||||
|
||||
if event.entity.type == "unit" and math_random(1, 256) == 1 then
|
||||
if event.entity.type == "unit" and math_random(1, 8) == 1 then
|
||||
surface.spill_item_stack(event.entity.position,{name = "raw-fish", count = 1}, true)
|
||||
end
|
||||
|
||||
@ -435,11 +437,11 @@ local function on_player_joined_game(event)
|
||||
game.create_surface("spooky_forest", map_gen_settings)
|
||||
local surface = game.surfaces["spooky_forest"]
|
||||
surface.daytime = 0.5
|
||||
--surface.freeze_daytime = 1
|
||||
surface.freeze_daytime = 1
|
||||
game.forces["player"].set_spawn_position({0, 0}, surface)
|
||||
|
||||
game.map_settings.enemy_expansion.enabled = true
|
||||
game.map_settings.enemy_evolution.destroy_factor = 0.0016
|
||||
game.map_settings.enemy_evolution.destroy_factor = 0.0025
|
||||
game.map_settings.enemy_evolution.time_factor = 0
|
||||
game.map_settings.enemy_evolution.pollution_factor = 0
|
||||
|
||||
@ -460,9 +462,9 @@ local function on_player_joined_game(event)
|
||||
player.insert({name = "iron-plate", count = 64})
|
||||
player.insert({name = "grenade", count = 3})
|
||||
player.insert({name = "raw-fish", count = 5})
|
||||
player.insert({name = "land-mine", count = 5})
|
||||
player.insert({name = "land-mine", count = 2})
|
||||
player.insert({name = "light-armor", count = 1})
|
||||
player.insert({name = "firearm-magazine", count = 128})
|
||||
player.insert({name = "firearm-magazine", count = 64})
|
||||
if global.show_floating_killscore then global.show_floating_killscore[player.name] = false end
|
||||
end
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
--optionals
|
||||
require "modules.satellite_score"
|
||||
require "modules.dynamic_landfill"
|
||||
require "modules.dangerous_goods"
|
||||
require "modules.spawners_contain_biters"
|
||||
require "modules.manual_mining_booster"
|
||||
--require "modules.manual_mining_booster"
|
||||
require "modules.rpg"
|
||||
require "modules.hunger"
|
||||
|
||||
--essentials
|
||||
require "functions.maze"
|
||||
|
@ -65,7 +65,7 @@ local function update_player_stats(player)
|
||||
global.player_modifiers[player.index].character_mining_speed_modifier["rpg"] = strength * 0.004
|
||||
|
||||
local magic = global.rpg[player.index].magic - 10
|
||||
local v = magic * 0.2
|
||||
local v = magic * 0.15
|
||||
global.player_modifiers[player.index].character_build_distance_bonus["rpg"] = v
|
||||
global.player_modifiers[player.index].character_item_drop_distance_bonus["rpg"] = v
|
||||
global.player_modifiers[player.index].character_reach_distance_bonus["rpg"] = v
|
||||
@ -403,6 +403,25 @@ local function gain_xp(player, amount)
|
||||
global.rpg[player.index].last_floaty_text = game.tick + visuals_delay
|
||||
end
|
||||
|
||||
function rpg_reset_player(player)
|
||||
if player.gui.left.rpg then player.gui.left.rpg.destroy() end
|
||||
global.rpg[player.index] = {
|
||||
level = 1, xp = 0, strength = 10, magic = 10, dexterity = 10, vitality = 10, points_to_distribute = 0,
|
||||
last_floaty_text = visuals_delay, xp_since_last_floaty_text = 0,
|
||||
rotated_entity_delay = 0, gui_refresh_delay = 0,
|
||||
}
|
||||
draw_gui_char_button(player)
|
||||
update_char_button(player)
|
||||
update_player_stats(player)
|
||||
draw_level_text(player)
|
||||
end
|
||||
|
||||
function rpg_reset_all_players()
|
||||
for _, p in pairs(game.players) do
|
||||
rpg_reset_player(p)
|
||||
end
|
||||
end
|
||||
|
||||
local function on_gui_click(event)
|
||||
if not event.element then return end
|
||||
if not event.element.valid then return end
|
||||
@ -529,11 +548,7 @@ end
|
||||
local function on_player_joined_game(event)
|
||||
local player = game.players[event.player_index]
|
||||
if not global.rpg[player.index] then
|
||||
global.rpg[player.index] = {
|
||||
level = 1, xp = 0, strength = 10, magic = 10, dexterity = 10, vitality = 10, points_to_distribute = 0,
|
||||
last_floaty_text = visuals_delay, xp_since_last_floaty_text = 0,
|
||||
rotated_entity_delay = 0, gui_refresh_delay = 0,
|
||||
}
|
||||
rpg_reset_player(player)
|
||||
end
|
||||
draw_gui_char_button(player)
|
||||
update_player_stats(player)
|
||||
|
Loading…
x
Reference in New Issue
Block a user