1
1
--[[
2
- Copyright (c) 2019-2020 ZwerOxotnik <[email protected] >
2
+ Copyright (c) 2019-2021 ZwerOxotnik <[email protected] >
3
3
Licensed under the MIT licence;
4
4
5
5
You can write and receive any information on the links below.
@@ -9,15 +9,23 @@ Homepage: https://forums.factorio.com/viewtopic.php?f=190&t=64617&p=395994
9
9
10
10
]] --
11
11
12
+ -- TODO: optimize!
13
+
12
14
local bonus_modifier = settings .global [" adrenaline_bonus_modifier" ].value or 2
13
15
local module = {}
14
16
15
17
local function reset_player_data (player )
16
- local player_modifier = global .adrenaline .players_modifiers [player .index ]
18
+ local player_modifiers_data = global .adrenaline .players_modifiers [player .index ]
17
19
if player_modifier == nil then return end
18
20
19
- player .character_mining_speed_modifier = player_modifier .character_mining_speed_modifier
20
- player .character_running_speed_modifier = player_modifier .character_running_speed_modifier
21
+ local value1 = player_modifiers_data .character_mining_speed_modifier
22
+ if value1 then
23
+ player .character_mining_speed_modifier = value1
24
+ end
25
+ local value = player_modifiers_data .character_running_speed_modifier
26
+ if value then
27
+ player .character_running_speed_modifier = value
28
+ end
21
29
player_modifier = nil
22
30
end
23
31
40
48
-- TODO: refactor
41
49
local function check_health (player )
42
50
local character = player .character
43
- local health = character .get_health_ratio ()
44
- if health > 0.1 then
51
+ local health_ratio = character .get_health_ratio ()
52
+ if health_ratio > 0.1 then
45
53
reset_player_data (player )
46
54
return
47
55
end
48
56
49
- local force = character . force
50
- local adrenaline = global .adrenaline
51
- if adrenaline . players_modifiers [player . index ] == nil then
57
+ local player_index = player . index
58
+ local players_modifiers = global .adrenaline . players_modifiers
59
+ if players_modifiers [player_index ] == nil then
52
60
-- if #game.connected_players == 1 then
53
61
-- adrenaline.forces_modifiers[force.name] = {}
54
62
-- adrenaline.forces_modifiers[force.name].guns_speed = {}
@@ -58,16 +66,16 @@ local function check_health(player)
58
66
-- end
59
67
-- end
60
68
61
- adrenaline . players_modifiers [player . index ] = {}
62
- local player_modifier = adrenaline . players_modifiers [player . index ]
63
- player_modifier .character_mining_speed_modifier = player .character_mining_speed_modifier
64
- player_modifier .character_running_speed_modifier = player .character_running_speed_modifier
69
+ players_modifiers [player_index ] = {}
70
+ local player_modifiers_data = players_modifiers [player_index ]
71
+ player_modifiers_data .character_mining_speed_modifier = player .character_mining_speed_modifier
72
+ player_modifiers_data .character_running_speed_modifier = player .character_running_speed_modifier
65
73
end
66
74
67
- local init_player_modifier = adrenaline . players_modifiers [player . index ]
68
- local modifier = (1 - health * 10 ) * bonus_modifier
69
- character .character_running_speed_modifier = init_player_modifier .character_mining_speed_modifier + modifier
70
- character .character_mining_speed_modifier = init_player_modifier .character_running_speed_modifier + modifier
75
+ local init_player_modifiers = players_modifiers [player_index ]
76
+ local modifier = (1 - health_ratio * 10 ) * bonus_modifier
77
+ character .character_running_speed_modifier = init_player_modifiers .character_mining_speed_modifier + modifier
78
+ character .character_mining_speed_modifier = init_player_modifiers .character_running_speed_modifier + modifier
71
79
72
80
-- local force_modifier = adrenaline.forces_modifiers[force.name]
73
81
-- if force_modifier then
@@ -117,12 +125,6 @@ local function on_player_left_game(event)
117
125
-- Validation of data
118
126
local player = game .get_player (event .player_index )
119
127
if not (player and player .valid ) then return end
120
- local player_modifier = global .adrenaline .players_modifiers [event .player_index ]
121
- if not player_modifier then return end
122
-
123
- -- if #player.force.connected_players == 0 then
124
- -- reset_force_data(player.force.name)
125
- -- end
126
128
reset_player_data (player )
127
129
end
128
130
0 commit comments