1
0
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:
MewMew 2019-10-04 22:03:41 +02:00
parent 6d14efb8ea
commit 5d6fe34c87
4 changed files with 36 additions and 16 deletions

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)