You've already forked ComfyFactorio
mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-11-25 22:32:18 +02:00
minor fixes
This commit is contained in:
@@ -106,14 +106,14 @@ flameboots_label=Enable flame boots?
|
|||||||
flameboots_tooltip=When the bullets simply don´t bite.
|
flameboots_tooltip=When the bullets simply don´t bite.
|
||||||
explosive_bullets_label=Enable explosive bullets?
|
explosive_bullets_label=Enable explosive bullets?
|
||||||
explosive_bullets_tooltip=Hurts the biters a bit extra
|
explosive_bullets_tooltip=Hurts the biters a bit extra
|
||||||
magic_label=Enable spawning with raw-fish?
|
magic_label=Enable spawning with fish?
|
||||||
toggle_cast_spell_label=Toggles the ability to cast spells.
|
toggle_cast_spell_label=Toggles the ability to cast spells.
|
||||||
cast_spell_enabled_label=Casting spells with fish has been enabled!
|
cast_spell_enabled_label=Casting spells with fish has been enabled!
|
||||||
cast_spell_disabled_label=Casting spells with fish has been disabled!
|
cast_spell_disabled_label=Casting spells with fish has been disabled!
|
||||||
magic_tooltip=When simply constructing items is not enough.\nNOTE! Use Raw-fish to cast spells.
|
magic_tooltip=When simply constructing items is not enough.\nNOTE! Use Raw-fish to cast spells.
|
||||||
magic_spell=Select what entity to spawn
|
magic_spell=Select your spell:
|
||||||
allocation_settings_label=Allocations Settings:
|
allocation_settings_label=Allocations Settings:
|
||||||
allocation_label=Select what skill to auto-allocate.
|
allocation_label=Select your auto-allocate skill.
|
||||||
allocation_tooltip=This will automatically allocate all available points to the given node.
|
allocation_tooltip=This will automatically allocate all available points to the given node.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -245,11 +245,9 @@ local function set_train_final_health(final_damage_amount, repair)
|
|||||||
local carriages = WPT.get('carriages')
|
local carriages = WPT.get('carriages')
|
||||||
|
|
||||||
if carriages then
|
if carriages then
|
||||||
for _ = 1, 10 do
|
for i = 1, #carriages do
|
||||||
for i = 1, #carriages do
|
local entity = carriages[i]
|
||||||
local entity = carriages[i]
|
DefenseSystem.enable_robotic_defense(entity.position)
|
||||||
DefenseSystem.enable_robotic_defense(entity.position)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local p = {
|
local p = {
|
||||||
|
|||||||
@@ -801,6 +801,14 @@ function Public.get_melee_modifier(player)
|
|||||||
return total
|
return total
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function Public.get_player_level(player)
|
||||||
|
local rpg_t = Public.get_value_from_player(player.index)
|
||||||
|
if not rpg_t then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
return rpg_t.level
|
||||||
|
end
|
||||||
|
|
||||||
function Public.get_area_of_effect_range(player)
|
function Public.get_area_of_effect_range(player)
|
||||||
local rpg_t = Public.get_value_from_player(player.index)
|
local rpg_t = Public.get_value_from_player(player.index)
|
||||||
if not rpg_t then
|
if not rpg_t then
|
||||||
|
|||||||
@@ -970,9 +970,7 @@ local function on_player_used_capsule(event)
|
|||||||
|
|
||||||
spell.callback(data)
|
spell.callback(data)
|
||||||
|
|
||||||
local msg = player.name .. ' casted ' .. spell.entityName .. '. '
|
rpg_t.last_spawned = game.tick + spell.cooldown
|
||||||
|
|
||||||
rpg_t.last_spawned = game.tick + spell.tick
|
|
||||||
Public.update_mana(player)
|
Public.update_mana(player)
|
||||||
|
|
||||||
local reward_xp = spell.mana_cost * 0.085
|
local reward_xp = spell.mana_cost * 0.085
|
||||||
@@ -982,7 +980,10 @@ local function on_player_used_capsule(event)
|
|||||||
|
|
||||||
Public.gain_xp(player, reward_xp)
|
Public.gain_xp(player, reward_xp)
|
||||||
|
|
||||||
AntiGrief.insert_into_capsule_history(player, position, msg)
|
if spell.log_spell then
|
||||||
|
local msg = player.name .. ' casted ' .. spell.entityName .. '. '
|
||||||
|
AntiGrief.insert_into_capsule_history(player, position, msg)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function on_player_changed_surface(event)
|
local function on_player_changed_surface(event)
|
||||||
|
|||||||
@@ -36,7 +36,9 @@ local function create_input_element(frame, type, value, items, index)
|
|||||||
return frame.add({type = 'checkbox', state = value})
|
return frame.add({type = 'checkbox', state = value})
|
||||||
end
|
end
|
||||||
if type == 'label' then
|
if type == 'label' then
|
||||||
return frame.add({type = 'label', caption = value})
|
local label = frame.add({type = 'label', caption = value})
|
||||||
|
label.style.font = 'default-listbox'
|
||||||
|
return label
|
||||||
end
|
end
|
||||||
if type == 'dropdown' then
|
if type == 'dropdown' then
|
||||||
return frame.add({type = 'drop-down', items = items, selected_index = index})
|
return frame.add({type = 'drop-down', items = items, selected_index = index})
|
||||||
@@ -47,8 +49,12 @@ end
|
|||||||
local function create_custom_label_element(frame, sprite, localised_string, value)
|
local function create_custom_label_element(frame, sprite, localised_string, value)
|
||||||
local t = frame.add({type = 'flow'})
|
local t = frame.add({type = 'flow'})
|
||||||
t.add({type = 'label', caption = '[' .. sprite .. ']'})
|
t.add({type = 'label', caption = '[' .. sprite .. ']'})
|
||||||
t.add({type = 'label', caption = localised_string})
|
local heading = t.add({type = 'label', caption = localised_string})
|
||||||
return t.add({type = 'label', caption = value})
|
heading.style.font = 'default-listbox'
|
||||||
|
local subheading = t.add({type = 'label', caption = value})
|
||||||
|
subheading.style.font = 'default-listbox'
|
||||||
|
|
||||||
|
return subheading
|
||||||
end
|
end
|
||||||
|
|
||||||
function Public.update_spell_gui_indicator(player)
|
function Public.update_spell_gui_indicator(player)
|
||||||
@@ -185,8 +191,6 @@ function Public.extra_settings(player)
|
|||||||
main_frame_style.width = 500
|
main_frame_style.width = 500
|
||||||
main_frame.auto_center = true
|
main_frame.auto_center = true
|
||||||
|
|
||||||
inside_table.add({type = 'line'})
|
|
||||||
|
|
||||||
local info_text = inside_table.add({type = 'label', caption = ({'rpg_settings.info_text_label'})})
|
local info_text = inside_table.add({type = 'label', caption = ({'rpg_settings.info_text_label'})})
|
||||||
local info_text_style = info_text.style
|
local info_text_style = info_text.style
|
||||||
info_text_style.font = 'default-bold'
|
info_text_style.font = 'default-bold'
|
||||||
@@ -668,9 +672,7 @@ function Public.settings_tooltip(player)
|
|||||||
local main_frame, inside_table = Gui.add_main_frame_with_toolbar(player, 'center', settings_tooltip_frame, nil, close_settings_tooltip_frame, 'Spell info')
|
local main_frame, inside_table = Gui.add_main_frame_with_toolbar(player, 'center', settings_tooltip_frame, nil, close_settings_tooltip_frame, 'Spell info')
|
||||||
|
|
||||||
local inside_table_style = inside_table.style
|
local inside_table_style = inside_table.style
|
||||||
inside_table_style.width = 500
|
inside_table_style.width = 530
|
||||||
|
|
||||||
inside_table.add({type = 'line'})
|
|
||||||
|
|
||||||
local info_text = inside_table.add({type = 'label', caption = ({'rpg_settings.spellbook_label'})})
|
local info_text = inside_table.add({type = 'label', caption = ({'rpg_settings.spellbook_label'})})
|
||||||
local info_text_style = info_text.style
|
local info_text_style = info_text.style
|
||||||
@@ -708,17 +710,16 @@ function Public.settings_tooltip(player)
|
|||||||
table.sort(spells, comparator)
|
table.sort(spells, comparator)
|
||||||
|
|
||||||
for _, entity in pairs(spells) do
|
for _, entity in pairs(spells) do
|
||||||
|
local cooldown = (entity.cooldown / 60) .. 's'
|
||||||
if entity.type == 'item' then
|
if entity.type == 'item' then
|
||||||
local text = '[item=' .. entity.entityName .. '] requires ' .. entity.mana_cost .. ' mana to cast. Level: ' .. entity.level
|
local text = '[item=' .. entity.entityName .. '] ▪️ Level: [font=default-bold]' .. entity.level .. '[/font] Mana: [font=default-bold]' .. entity.mana_cost .. '[/font]. Cooldown: [font=default-bold]' .. cooldown .. '[/font]'
|
||||||
create_input_element(normal_spell_grid, 'label', text)
|
create_input_element(normal_spell_grid, 'label', text)
|
||||||
elseif entity.type == 'entity' then
|
elseif entity.type == 'entity' then
|
||||||
local text = '[entity=' .. entity.entityName .. '] requires ' .. entity.mana_cost .. ' mana to cast. Level: ' .. entity.level
|
local text = '[entity=' .. entity.entityName .. '] ▪️ Level: [font=default-bold]' .. entity.level .. '[/font] Mana: [font=default-bold]' .. entity.mana_cost .. '[/font]. Cooldown: [font=default-bold]' .. cooldown .. '[/font]'
|
||||||
create_input_element(normal_spell_grid, 'label', text)
|
create_input_element(normal_spell_grid, 'label', text)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
normal_spell_pane.add({type = 'line'})
|
|
||||||
|
|
||||||
local special_spell_pane = inside_table.add({type = 'scroll-pane'})
|
local special_spell_pane = inside_table.add({type = 'scroll-pane'})
|
||||||
local ss = special_spell_pane.style
|
local ss = special_spell_pane.style
|
||||||
ss.vertically_squashable = true
|
ss.vertically_squashable = true
|
||||||
@@ -727,6 +728,8 @@ function Public.settings_tooltip(player)
|
|||||||
ss.right_padding = 5
|
ss.right_padding = 5
|
||||||
ss.top_padding = 5
|
ss.top_padding = 5
|
||||||
|
|
||||||
|
normal_spell_pane.add({type = 'line'})
|
||||||
|
|
||||||
local special_spells = special_spell_pane.add({type = 'label', caption = ({'rpg_settings.special_spells_label'})})
|
local special_spells = special_spell_pane.add({type = 'label', caption = ({'rpg_settings.special_spells_label'})})
|
||||||
local special_spells_style = special_spells.style
|
local special_spells_style = special_spells.style
|
||||||
special_spells_style.font = 'heading-3'
|
special_spells_style.font = 'heading-3'
|
||||||
@@ -738,9 +741,10 @@ function Public.settings_tooltip(player)
|
|||||||
local special_spell_grid = special_spell_pane.add({type = 'table', column_count = 1})
|
local special_spell_grid = special_spell_pane.add({type = 'table', column_count = 1})
|
||||||
|
|
||||||
for _, entity in pairs(spells) do
|
for _, entity in pairs(spells) do
|
||||||
|
local cooldown = (entity.cooldown / 60) .. 's'
|
||||||
if entity.type == 'special' then
|
if entity.type == 'special' then
|
||||||
local text = 'requires ' .. entity.mana_cost .. ' mana to cast. Level: ' .. entity.level
|
local text = '▪️ Level: [font=default-bold]' .. entity.level .. '[/font] Mana: [font=default-bold]' .. entity.mana_cost .. '[/font]. Cooldown: [font=default-bold]' .. cooldown .. '[/font]'
|
||||||
create_custom_label_element(special_spell_grid, entity.sprite, entity.name, text)
|
create_custom_label_element(special_spell_grid, entity.special_sprite, entity.name, text)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ local random = math.random
|
|||||||
local floor = math.floor
|
local floor = math.floor
|
||||||
|
|
||||||
local states = {
|
local states = {
|
||||||
['attack'] = 'nuclear-smoke',
|
['attack'] = 'fire-smoke',
|
||||||
['support'] = 'poison-capsule-smoke'
|
['support'] = 'poison-capsule-smoke'
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,7 +76,6 @@ local function area_of_effect(player, position, state, radius, callback, find_en
|
|||||||
else
|
else
|
||||||
callback(p)
|
callback(p)
|
||||||
end
|
end
|
||||||
|
|
||||||
cs.create_trivial_smoke({name = states[state], position = p})
|
cs.create_trivial_smoke({name = states[state], position = p})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -222,7 +221,7 @@ spells[#spells + 1] = {
|
|||||||
level = 1,
|
level = 1,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 60,
|
mana_cost = 60,
|
||||||
tick = 100,
|
cooldown = 100,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/stone-wall',
|
sprite = 'recipe/stone-wall',
|
||||||
@@ -236,7 +235,7 @@ spells[#spells + 1] = {
|
|||||||
level = 1,
|
level = 1,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 50,
|
mana_cost = 50,
|
||||||
tick = 100,
|
cooldown = 100,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/wooden-chest',
|
sprite = 'recipe/wooden-chest',
|
||||||
@@ -250,7 +249,7 @@ spells[#spells + 1] = {
|
|||||||
level = 10,
|
level = 10,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 110,
|
mana_cost = 110,
|
||||||
tick = 200,
|
cooldown = 200,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/iron-chest',
|
sprite = 'recipe/iron-chest',
|
||||||
@@ -264,7 +263,7 @@ spells[#spells + 1] = {
|
|||||||
level = 30,
|
level = 30,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 150,
|
mana_cost = 150,
|
||||||
tick = 300,
|
cooldown = 300,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/steel-chest',
|
sprite = 'recipe/steel-chest',
|
||||||
@@ -278,7 +277,7 @@ spells[#spells + 1] = {
|
|||||||
level = 1,
|
level = 1,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 80,
|
mana_cost = 80,
|
||||||
tick = 100,
|
cooldown = 100,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/transport-belt',
|
sprite = 'recipe/transport-belt',
|
||||||
@@ -292,7 +291,7 @@ spells[#spells + 1] = {
|
|||||||
level = 10,
|
level = 10,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 110,
|
mana_cost = 110,
|
||||||
tick = 200,
|
cooldown = 200,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/fast-transport-belt',
|
sprite = 'recipe/fast-transport-belt',
|
||||||
@@ -306,7 +305,7 @@ spells[#spells + 1] = {
|
|||||||
level = 30,
|
level = 30,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 150,
|
mana_cost = 150,
|
||||||
tick = 300,
|
cooldown = 300,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/express-transport-belt',
|
sprite = 'recipe/express-transport-belt',
|
||||||
@@ -320,7 +319,7 @@ spells[#spells + 1] = {
|
|||||||
level = 1,
|
level = 1,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 80,
|
mana_cost = 80,
|
||||||
tick = 100,
|
cooldown = 100,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/underground-belt',
|
sprite = 'recipe/underground-belt',
|
||||||
@@ -334,7 +333,7 @@ spells[#spells + 1] = {
|
|||||||
level = 10,
|
level = 10,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 110,
|
mana_cost = 110,
|
||||||
tick = 200,
|
cooldown = 200,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/fast-underground-belt',
|
sprite = 'recipe/fast-underground-belt',
|
||||||
@@ -348,7 +347,7 @@ spells[#spells + 1] = {
|
|||||||
level = 30,
|
level = 30,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 150,
|
mana_cost = 150,
|
||||||
tick = 300,
|
cooldown = 300,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/express-underground-belt',
|
sprite = 'recipe/express-underground-belt',
|
||||||
@@ -362,7 +361,7 @@ spells[#spells + 1] = {
|
|||||||
level = 1,
|
level = 1,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 50,
|
mana_cost = 50,
|
||||||
tick = 100,
|
cooldown = 100,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/pipe',
|
sprite = 'recipe/pipe',
|
||||||
@@ -376,7 +375,7 @@ spells[#spells + 1] = {
|
|||||||
level = 1,
|
level = 1,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 100,
|
mana_cost = 100,
|
||||||
tick = 100,
|
cooldown = 100,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe/pipe-to-ground',
|
sprite = 'recipe/pipe-to-ground',
|
||||||
@@ -390,7 +389,7 @@ spells[#spells + 1] = {
|
|||||||
level = 30,
|
level = 30,
|
||||||
type = 'entity',
|
type = 'entity',
|
||||||
mana_cost = 100,
|
mana_cost = 100,
|
||||||
tick = 350,
|
cooldown = 350,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'entity/tree-05',
|
sprite = 'entity/tree-05',
|
||||||
@@ -404,7 +403,7 @@ spells[#spells + 1] = {
|
|||||||
level = 60,
|
level = 60,
|
||||||
type = 'entity',
|
type = 'entity',
|
||||||
mana_cost = 80,
|
mana_cost = 80,
|
||||||
tick = 350,
|
cooldown = 350,
|
||||||
aoe = true,
|
aoe = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'entity/sand-rock-big',
|
sprite = 'entity/sand-rock-big',
|
||||||
@@ -419,7 +418,7 @@ spells[#spells + 1] = {
|
|||||||
biter = true,
|
biter = true,
|
||||||
type = 'entity',
|
type = 'entity',
|
||||||
mana_cost = 55,
|
mana_cost = 55,
|
||||||
tick = 200,
|
cooldown = 200,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'entity/small-biter',
|
sprite = 'entity/small-biter',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
@@ -433,7 +432,7 @@ spells[#spells + 1] = {
|
|||||||
biter = true,
|
biter = true,
|
||||||
type = 'entity',
|
type = 'entity',
|
||||||
mana_cost = 55,
|
mana_cost = 55,
|
||||||
tick = 200,
|
cooldown = 200,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'entity/small-spitter',
|
sprite = 'entity/small-spitter',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
@@ -447,7 +446,7 @@ spells[#spells + 1] = {
|
|||||||
biter = true,
|
biter = true,
|
||||||
type = 'entity',
|
type = 'entity',
|
||||||
mana_cost = 100,
|
mana_cost = 100,
|
||||||
tick = 300,
|
cooldown = 300,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'entity/medium-biter',
|
sprite = 'entity/medium-biter',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
@@ -461,7 +460,7 @@ spells[#spells + 1] = {
|
|||||||
biter = true,
|
biter = true,
|
||||||
type = 'entity',
|
type = 'entity',
|
||||||
mana_cost = 100,
|
mana_cost = 100,
|
||||||
tick = 300,
|
cooldown = 300,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'entity/medium-spitter',
|
sprite = 'entity/medium-spitter',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
@@ -475,8 +474,9 @@ spells[#spells + 1] = {
|
|||||||
biter = true,
|
biter = true,
|
||||||
type = 'entity',
|
type = 'entity',
|
||||||
mana_cost = 800,
|
mana_cost = 800,
|
||||||
tick = 1420,
|
cooldown = 1420,
|
||||||
enabled = false,
|
enabled = false,
|
||||||
|
log_spell = true,
|
||||||
sprite = 'entity/biter-spawner',
|
sprite = 'entity/biter-spawner',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_entity(data)
|
create_entity(data)
|
||||||
@@ -489,8 +489,9 @@ spells[#spells + 1] = {
|
|||||||
biter = true,
|
biter = true,
|
||||||
type = 'entity',
|
type = 'entity',
|
||||||
mana_cost = 800,
|
mana_cost = 800,
|
||||||
tick = 1420,
|
cooldown = 1420,
|
||||||
enabled = false,
|
enabled = false,
|
||||||
|
log_spell = true,
|
||||||
sprite = 'entity/spitter-spawner',
|
sprite = 'entity/spitter-spawner',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_entity(data)
|
create_entity(data)
|
||||||
@@ -507,8 +508,9 @@ spells[#spells + 1] = {
|
|||||||
level = 10,
|
level = 10,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 40,
|
mana_cost = 40,
|
||||||
tick = 150,
|
cooldown = 150,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
|
log_spell = true,
|
||||||
sprite = 'recipe/shotgun-shell',
|
sprite = 'recipe/shotgun-shell',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_projectiles(data)
|
create_projectiles(data)
|
||||||
@@ -524,8 +526,9 @@ spells[#spells + 1] = {
|
|||||||
level = 30,
|
level = 30,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 100,
|
mana_cost = 100,
|
||||||
tick = 150,
|
cooldown = 150,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
|
log_spell = true,
|
||||||
sprite = 'recipe/grenade',
|
sprite = 'recipe/grenade',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_projectiles(data)
|
create_projectiles(data)
|
||||||
@@ -541,8 +544,9 @@ spells[#spells + 1] = {
|
|||||||
level = 50,
|
level = 50,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 225,
|
mana_cost = 225,
|
||||||
tick = 200,
|
cooldown = 200,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
|
log_spell = true,
|
||||||
sprite = 'recipe/cluster-grenade',
|
sprite = 'recipe/cluster-grenade',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_projectiles(data)
|
create_projectiles(data)
|
||||||
@@ -558,8 +562,9 @@ spells[#spells + 1] = {
|
|||||||
level = 30,
|
level = 30,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 125,
|
mana_cost = 125,
|
||||||
tick = 150,
|
cooldown = 150,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
|
log_spell = true,
|
||||||
sprite = 'recipe/cannon-shell',
|
sprite = 'recipe/cannon-shell',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_projectiles(data)
|
create_projectiles(data)
|
||||||
@@ -575,8 +580,9 @@ spells[#spells + 1] = {
|
|||||||
level = 50,
|
level = 50,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 250,
|
mana_cost = 250,
|
||||||
tick = 200,
|
cooldown = 200,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
|
log_spell = true,
|
||||||
sprite = 'recipe/explosive-cannon-shell',
|
sprite = 'recipe/explosive-cannon-shell',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_projectiles(data)
|
create_projectiles(data)
|
||||||
@@ -592,8 +598,9 @@ spells[#spells + 1] = {
|
|||||||
level = 70,
|
level = 70,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 400,
|
mana_cost = 400,
|
||||||
tick = 200,
|
cooldown = 200,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
|
log_spell = true,
|
||||||
sprite = 'recipe/uranium-cannon-shell',
|
sprite = 'recipe/uranium-cannon-shell',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_projectiles(data)
|
create_projectiles(data)
|
||||||
@@ -610,8 +617,9 @@ spells[#spells + 1] = {
|
|||||||
level = 40,
|
level = 40,
|
||||||
type = 'item',
|
type = 'item',
|
||||||
mana_cost = 60,
|
mana_cost = 60,
|
||||||
tick = 320,
|
cooldown = 320,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
|
log_spell = true,
|
||||||
sprite = 'recipe/rocket',
|
sprite = 'recipe/rocket',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_projectiles(data)
|
create_projectiles(data)
|
||||||
@@ -628,9 +636,11 @@ spells[#spells + 1] = {
|
|||||||
level = 70,
|
level = 70,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 100,
|
mana_cost = 100,
|
||||||
tick = 100,
|
cooldown = 100,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe=explosives',
|
log_spell = true,
|
||||||
|
sprite = 'recipe/explosives',
|
||||||
|
special_sprite = 'recipe=explosives',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
local self = data.self
|
local self = data.self
|
||||||
local player = data.player
|
local player = data.player
|
||||||
@@ -668,10 +678,13 @@ spells[#spells + 1] = {
|
|||||||
force = 'player',
|
force = 'player',
|
||||||
level = 45,
|
level = 45,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 150,
|
mana_cost = 400,
|
||||||
tick = 100,
|
cooldown = 2400,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe=repair-pack',
|
enforce_cooldown = true,
|
||||||
|
log_spell = true,
|
||||||
|
sprite = 'recipe/repair-pack',
|
||||||
|
special_sprite = 'recipe=repair-pack',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
local self = data.self
|
local self = data.self
|
||||||
local rpg_t = data.rpg_t
|
local rpg_t = data.rpg_t
|
||||||
@@ -710,13 +723,14 @@ spells[#spells + 1] = {
|
|||||||
force = 'player',
|
force = 'player',
|
||||||
level = 50,
|
level = 50,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 70,
|
mana_cost = 700,
|
||||||
tick = 100,
|
cooldown = 900,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'virtual-signal=signal-S',
|
enforce_cooldown = true,
|
||||||
|
sprite = 'virtual-signal/signal-S',
|
||||||
|
special_sprite = 'virtual-signal=signal-S',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
local self = data.self
|
local self = data.self
|
||||||
local rpg_t = data.rpg_t
|
|
||||||
local player = data.player
|
local player = data.player
|
||||||
local position = data.position
|
local position = data.position
|
||||||
|
|
||||||
@@ -728,14 +742,12 @@ spells[#spells + 1] = {
|
|||||||
'attack',
|
'attack',
|
||||||
range,
|
range,
|
||||||
function(p)
|
function(p)
|
||||||
if self.mana_cost < rpg_t.mana then
|
do_projectile(player.surface, 'acid-stream-spitter-big', p, player.force, p)
|
||||||
do_projectile(player.surface, 'acid-stream-spitter-big', p, player.force, p)
|
|
||||||
Public.remove_mana(player, self.mana_cost)
|
|
||||||
end
|
|
||||||
end,
|
end,
|
||||||
false
|
false
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Public.remove_mana(player, self.mana_cost)
|
||||||
Public.cast_spell(player)
|
Public.cast_spell(player)
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
@@ -748,9 +760,10 @@ spells[#spells + 1] = {
|
|||||||
level = 1000,
|
level = 1000,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 10000, -- they who know, will know
|
mana_cost = 10000, -- they who know, will know
|
||||||
tick = 320,
|
cooldown = 320,
|
||||||
enabled = false,
|
enabled = false,
|
||||||
sprite = 'entity=tank',
|
sprite = 'entity/tank',
|
||||||
|
special_sprite = 'entity=tank',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_entity(data)
|
create_entity(data)
|
||||||
end
|
end
|
||||||
@@ -764,9 +777,11 @@ spells[#spells + 1] = {
|
|||||||
level = 2000,
|
level = 2000,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 19500, -- they who know, will know
|
mana_cost = 19500, -- they who know, will know
|
||||||
tick = 320,
|
cooldown = 320,
|
||||||
enabled = false,
|
enabled = false,
|
||||||
sprite = 'entity=spidertron',
|
log_spell = true,
|
||||||
|
sprite = 'entity/spidertron',
|
||||||
|
special_sprite = 'entity=spidertron',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_entity(data)
|
create_entity(data)
|
||||||
end
|
end
|
||||||
@@ -783,9 +798,10 @@ spells[#spells + 1] = {
|
|||||||
level = 50,
|
level = 50,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 140,
|
mana_cost = 140,
|
||||||
tick = 320,
|
cooldown = 320,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'item=raw-fish',
|
sprite = 'item/raw-fish',
|
||||||
|
special_sprite = 'item=raw-fish',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
insert_onto(data)
|
insert_onto(data)
|
||||||
end
|
end
|
||||||
@@ -802,9 +818,10 @@ spells[#spells + 1] = {
|
|||||||
level = 25,
|
level = 25,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 140,
|
mana_cost = 140,
|
||||||
tick = 320,
|
cooldown = 320,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'item=explosives',
|
sprite = 'item=explosives',
|
||||||
|
special_sprite = 'item/explosives',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
insert_onto(data)
|
insert_onto(data)
|
||||||
end
|
end
|
||||||
@@ -820,9 +837,11 @@ spells[#spells + 1] = {
|
|||||||
level = 60,
|
level = 60,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 150,
|
mana_cost = 150,
|
||||||
tick = 320,
|
cooldown = 320,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'entity=compilatron',
|
log_spell = true,
|
||||||
|
sprite = 'entity/compilatron',
|
||||||
|
special_sprite = 'entity=compilatron',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
local self = data.self
|
local self = data.self
|
||||||
local player = data.player
|
local player = data.player
|
||||||
@@ -845,9 +864,10 @@ spells[#spells + 1] = {
|
|||||||
level = 50,
|
level = 50,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 220,
|
mana_cost = 220,
|
||||||
tick = 320,
|
cooldown = 320,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'recipe=distractor-capsule',
|
sprite = 'recipe/distractor-capsule',
|
||||||
|
special_sprite = 'recipe=distractor-capsule',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
create_projectiles(data)
|
create_projectiles(data)
|
||||||
end
|
end
|
||||||
@@ -860,9 +880,11 @@ spells[#spells + 1] = {
|
|||||||
level = 60,
|
level = 60,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 340,
|
mana_cost = 340,
|
||||||
tick = 2000,
|
cooldown = 2000,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'virtual-signal=signal-W',
|
log_spell = true,
|
||||||
|
sprite = 'virtual-signal/signal-W',
|
||||||
|
special_sprite = 'virtual-signal=signal-W',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
local player = data.player
|
local player = data.player
|
||||||
local surface = data.surface
|
local surface = data.surface
|
||||||
@@ -888,10 +910,12 @@ spells[#spells + 1] = {
|
|||||||
level = 25,
|
level = 25,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 100,
|
mana_cost = 100,
|
||||||
tick = 2000,
|
cooldown = 2000,
|
||||||
check_if_active = true,
|
check_if_active = true,
|
||||||
enabled = true,
|
enabled = true,
|
||||||
sprite = 'virtual-signal=signal-info',
|
log_spell = true,
|
||||||
|
sprite = 'virtual-signal/signal-info',
|
||||||
|
special_sprite = 'virtual-signal=signal-info',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
local self = data.self
|
local self = data.self
|
||||||
local player = data.player
|
local player = data.player
|
||||||
@@ -913,13 +937,15 @@ spells[#spells + 1] = {
|
|||||||
entityName = 'eternal_blades',
|
entityName = 'eternal_blades',
|
||||||
target = false,
|
target = false,
|
||||||
force = 'player',
|
force = 'player',
|
||||||
level = 25,
|
level = 200,
|
||||||
type = 'special',
|
type = 'special',
|
||||||
mana_cost = 100,
|
mana_cost = 350,
|
||||||
tick = 2000,
|
cooldown = 2000,
|
||||||
check_if_active = true,
|
|
||||||
enabled = false,
|
enabled = false,
|
||||||
sprite = 'virtual-signal=signal-info',
|
enforce_cooldown = false,
|
||||||
|
log_spell = true,
|
||||||
|
sprite = 'virtual-signal/signal-info',
|
||||||
|
special_sprite = 'virtual-signal=signal-info',
|
||||||
callback = function(data)
|
callback = function(data)
|
||||||
local self = data.self
|
local self = data.self
|
||||||
local player = data.player
|
local player = data.player
|
||||||
@@ -927,7 +953,9 @@ spells[#spells + 1] = {
|
|||||||
|
|
||||||
local range = Public.get_area_of_effect_range(player)
|
local range = Public.get_area_of_effect_range(player)
|
||||||
|
|
||||||
local damage = 34
|
local damage = Public.get_player_level(player)
|
||||||
|
|
||||||
|
damage = damage / 4
|
||||||
|
|
||||||
area_of_effect(
|
area_of_effect(
|
||||||
player,
|
player,
|
||||||
@@ -952,7 +980,8 @@ spells[#spells + 1] = {
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
if entity.valid then
|
if entity.valid then
|
||||||
entity.health = entity.health - damage * 0.05
|
log(serpent.block(entity.name))
|
||||||
|
entity.health = entity.health - damage
|
||||||
if entity.health <= 0 then
|
if entity.health <= 0 then
|
||||||
entity.die(entity.force.name, player.character)
|
entity.die(entity.force.name, player.character)
|
||||||
end
|
end
|
||||||
@@ -1059,13 +1088,13 @@ function Public.set_new_spell(tbl)
|
|||||||
|
|
||||||
if tbl then
|
if tbl then
|
||||||
if not tbl.name then
|
if not tbl.name then
|
||||||
return error('A spell requires a name. string', 2)
|
return error('A spell requires a name. <string>', 2)
|
||||||
end
|
end
|
||||||
if not tbl.entityName then
|
if not tbl.entityName then
|
||||||
return error('A spell requires an object to create. string', 2)
|
return error('A spell requires an object to create. <string>', 2)
|
||||||
end
|
end
|
||||||
if not tbl.target then
|
if not tbl.target then
|
||||||
return error('A spell requires position. boolean', 2)
|
return error('A spell requires position. <boolean>', 2)
|
||||||
end
|
end
|
||||||
if not tbl.amount then
|
if not tbl.amount then
|
||||||
return error('A spell requires an amount of creation. <integer>', 2)
|
return error('A spell requires an amount of creation. <integer>', 2)
|
||||||
@@ -1077,7 +1106,7 @@ function Public.set_new_spell(tbl)
|
|||||||
return error('A spell requires damage. <damage-area=true/false>', 2)
|
return error('A spell requires damage. <damage-area=true/false>', 2)
|
||||||
end
|
end
|
||||||
if not tbl.force then
|
if not tbl.force then
|
||||||
return error('A spell requires a force. string', 2)
|
return error('A spell requires a force. <string>', 2)
|
||||||
end
|
end
|
||||||
if not tbl.level then
|
if not tbl.level then
|
||||||
return error('A spell requires a level. <integer>', 2)
|
return error('A spell requires a level. <integer>', 2)
|
||||||
@@ -1088,11 +1117,20 @@ function Public.set_new_spell(tbl)
|
|||||||
if not tbl.mana_cost then
|
if not tbl.mana_cost then
|
||||||
return error('A spell requires mana_cost. <integer>', 2)
|
return error('A spell requires mana_cost. <integer>', 2)
|
||||||
end
|
end
|
||||||
if not tbl.tick then
|
if not tbl.cooldown then
|
||||||
return error('A spell requires tick. <integer>', 2)
|
return error('A spell requires cooldown. <integer>', 2)
|
||||||
|
end
|
||||||
|
if not tbl.enforce_cooldown then
|
||||||
|
return error('A spell requires enforce_cooldown. <boolean>', 2)
|
||||||
end
|
end
|
||||||
if not tbl.enabled then
|
if not tbl.enabled then
|
||||||
return error('A spell requires enabled. boolean', 2)
|
return error('A spell requires enabled. <boolean>', 2)
|
||||||
|
end
|
||||||
|
if not tbl.log_spell then
|
||||||
|
return error('A spell requires log_spell. <boolean>', 2)
|
||||||
|
end
|
||||||
|
if not tbl.check_if_active then
|
||||||
|
return error('A spell requires check_if_active. <boolean>', 2)
|
||||||
end
|
end
|
||||||
|
|
||||||
Public.all_spells[#Public.all_spells + 1] = tbl
|
Public.all_spells[#Public.all_spells + 1] = tbl
|
||||||
@@ -1124,9 +1162,14 @@ function Public.disable_cooldowns_on_spells()
|
|||||||
local new_spells = {}
|
local new_spells = {}
|
||||||
|
|
||||||
for i = 1, #spells do
|
for i = 1, #spells do
|
||||||
if spells[i].enabled then
|
local spell = spells[i]
|
||||||
spells[i].tick = 0
|
if spell.enabled then
|
||||||
new_spells[#new_spells + 1] = spells[i]
|
if not spell.enforce_cooldown then
|
||||||
|
spell.cooldown = 0
|
||||||
|
new_spells[#new_spells + 1] = spell
|
||||||
|
else
|
||||||
|
new_spells[#new_spells + 1] = spell
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user