1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-01-10 00:43:27 +02:00
ComfyFactorio/modules/rpg/spells.lua

392 lines
12 KiB
Lua
Raw Normal View History

2020-07-26 22:06:19 +02:00
local Public = {}
2020-07-29 19:29:29 +02:00
function Public.conjure_items()
local spells = {}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.stone-wall'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'stone-wall',
level = 10,
type = 'item',
mana_cost = 60,
2020-07-28 11:24:16 +02:00
tick = 100,
2021-05-23 21:13:21 +02:00
aoe = true,
enabled = true,
sprite = 'recipe/stone-wall'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.wooden-chest'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'wooden-chest',
level = 2,
type = 'item',
mana_cost = 50,
2020-07-28 11:24:16 +02:00
tick = 100,
2021-05-23 21:13:21 +02:00
aoe = true,
enabled = true,
sprite = 'recipe/wooden-chest'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.iron-chest'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'iron-chest',
level = 10,
type = 'item',
mana_cost = 110,
2020-07-28 11:24:16 +02:00
tick = 200,
2021-05-23 21:13:21 +02:00
aoe = true,
enabled = true,
sprite = 'recipe/iron-chest'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.steel-chest'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'steel-chest',
level = 15,
type = 'item',
mana_cost = 150,
2020-07-28 11:24:16 +02:00
tick = 300,
2021-05-23 21:13:21 +02:00
aoe = true,
enabled = true,
sprite = 'recipe/steel-chest'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.transport-belt'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'transport-belt',
level = 3,
type = 'item',
mana_cost = 80,
2020-07-28 11:24:16 +02:00
tick = 100,
2021-05-23 21:13:21 +02:00
aoe = true,
enabled = true,
sprite = 'recipe/transport-belt'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.fast-transport-belt'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'fast-transport-belt',
level = 20,
type = 'item',
mana_cost = 110,
2020-07-28 11:24:16 +02:00
tick = 200,
2021-05-23 21:13:21 +02:00
aoe = true,
enabled = true,
sprite = 'recipe/fast-transport-belt'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.express-transport-belt'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'express-transport-belt',
level = 60,
type = 'item',
mana_cost = 150,
2020-07-28 11:24:16 +02:00
tick = 300,
2021-05-23 21:13:21 +02:00
aoe = true,
enabled = true,
sprite = 'recipe/express-transport-belt'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.underground-belt'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'underground-belt',
level = 3,
type = 'item',
mana_cost = 80,
2020-07-28 11:24:16 +02:00
tick = 100,
2021-05-23 21:13:21 +02:00
aoe = true,
enabled = true,
sprite = 'recipe/underground-belt'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.fast-underground-belt'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'fast-underground-belt',
level = 20,
type = 'item',
mana_cost = 110,
2020-07-28 11:24:16 +02:00
tick = 200,
2021-05-23 21:13:21 +02:00
aoe = true,
enabled = true,
sprite = 'recipe/fast-underground-belt'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.express-underground-belt'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'express-underground-belt',
level = 60,
type = 'item',
mana_cost = 150,
2020-07-28 11:24:16 +02:00
tick = 300,
2021-05-23 21:13:21 +02:00
aoe = true,
enabled = true,
sprite = 'recipe/express-underground-belt'
2020-07-29 19:29:29 +02:00
}
2021-07-01 21:30:29 +02:00
spells[#spells + 1] = {
name = {'entity-name.tree'},
obj_to_create = 'tree-05',
level = 70,
type = 'entity',
mana_cost = 100,
tick = 350,
aoe = true,
enabled = true,
sprite = 'entity/tree-05'
}
2020-07-29 19:29:29 +02:00
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.sand-rock-big'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'sand-rock-big',
level = 80,
type = 'entity',
mana_cost = 80,
2020-07-28 11:24:16 +02:00
tick = 350,
2021-05-23 21:13:21 +02:00
aoe = true,
enabled = true,
sprite = 'entity/sand-rock-big'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.small-biter'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'small-biter',
level = 50,
biter = true,
type = 'entity',
mana_cost = 55,
tick = 200,
enabled = true,
sprite = 'entity/small-biter'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.small-spitter'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'small-spitter',
level = 50,
biter = true,
type = 'entity',
mana_cost = 55,
tick = 200,
enabled = true,
sprite = 'entity/small-spitter'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.medium-biter'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'medium-biter',
level = 70,
biter = true,
type = 'entity',
mana_cost = 100,
tick = 300,
enabled = true,
sprite = 'entity/medium-biter'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.medium-spitter'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'medium-spitter',
level = 70,
2021-07-13 16:37:01 +02:00
biter = true,
2020-07-26 22:06:19 +02:00
type = 'entity',
mana_cost = 100,
tick = 300,
enabled = true,
sprite = 'entity/medium-spitter'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.biter-spawner'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'biter-spawner',
level = 100,
biter = true,
type = 'entity',
mana_cost = 800,
2020-07-26 22:06:19 +02:00
tick = 1420,
enabled = false,
sprite = 'entity/biter-spawner'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'entity-name.spitter-spawner'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'spitter-spawner',
level = 100,
biter = true,
type = 'entity',
2020-11-15 20:23:54 +02:00
mana_cost = 800,
2020-07-26 22:06:19 +02:00
tick = 1420,
enabled = false,
sprite = 'entity/spitter-spawner'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'item-name.grenade'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'grenade',
target = true,
amount = 1,
damage = true,
force = 'player',
level = 30,
type = 'special',
2020-11-15 20:23:54 +02:00
mana_cost = 110,
2020-07-26 22:06:19 +02:00
tick = 150,
enabled = true,
sprite = 'recipe/grenade'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'item-name.cluster-grenade'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'cluster-grenade',
target = true,
amount = 2,
damage = true,
force = 'player',
level = 50,
type = 'special',
mana_cost = 150,
tick = 200,
enabled = true,
sprite = 'recipe/cluster-grenade'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'item-name.rocket'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'rocket',
range = 240,
target = true,
amount = 4,
damage = true,
force = 'enemy',
level = 40,
type = 'special',
mana_cost = 60,
tick = 320,
enabled = true,
sprite = 'recipe/rocket'
2020-07-29 19:29:29 +02:00
}
2021-05-23 21:13:21 +02:00
spells[#spells + 1] = {
name = {'spells.pointy_explosives'},
obj_to_create = 'pointy_explosives',
target = true,
amount = 1,
range = 0,
damage = true,
force = 'player',
level = 70,
type = 'special',
mana_cost = 100,
tick = 100,
enabled = true,
sprite = 'recipe/explosives'
}
spells[#spells + 1] = {
name = {'spells.repair_aoe'},
obj_to_create = 'repair_aoe',
target = true,
amount = 1,
range = 50,
damage = false,
force = 'player',
level = 50,
type = 'special',
mana_cost = 200,
tick = 100,
enabled = true,
2021-05-25 22:19:20 +02:00
sprite = 'recipe/repair-pack'
2021-05-23 21:13:21 +02:00
}
2020-07-29 19:29:29 +02:00
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'spells.acid_stream'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'acid-stream-spitter-big',
target = true,
amount = 2,
range = 0,
damage = true,
force = 'player',
level = 70,
type = 'special',
mana_cost = 90,
2020-07-28 11:24:16 +02:00
tick = 100,
enabled = true,
sprite = 'virtual-signal/signal-S'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'spells.raw_fish'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'fish',
target = false,
amount = 4,
damage = false,
range = 30,
force = 'player',
level = 50,
type = 'special',
2020-11-15 20:23:54 +02:00
mana_cost = 140,
2020-07-26 22:06:19 +02:00
tick = 320,
enabled = true,
sprite = 'item/raw-fish'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'spells.comfylatron'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'suicidal_comfylatron',
target = false,
amount = 4,
damage = false,
range = 30,
force = 'player',
level = 60,
type = 'special',
mana_cost = 250,
tick = 320,
enabled = true,
sprite = 'entity/compilatron'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'spells.distractor'},
2020-07-26 22:06:19 +02:00
obj_to_create = 'distractor-capsule',
target = true,
amount = 1,
damage = false,
range = 30,
force = 'player',
2020-07-28 11:24:16 +02:00
level = 50,
2020-07-26 22:06:19 +02:00
type = 'special',
2020-11-15 20:23:54 +02:00
mana_cost = 340,
2020-07-26 22:06:19 +02:00
tick = 320,
enabled = true,
sprite = 'recipe/distractor-capsule'
2020-07-29 19:29:29 +02:00
}
spells[#spells + 1] = {
2020-12-28 11:48:25 +02:00
name = {'spells.warp'},
2020-07-28 11:24:16 +02:00
obj_to_create = 'warp-gate',
target = true,
force = 'player',
level = 60,
type = 'special',
2020-11-15 20:23:54 +02:00
mana_cost = 340,
2020-07-28 11:24:16 +02:00
tick = 2000,
enabled = true,
sprite = 'virtual-signal/signal-W'
2020-07-26 22:06:19 +02:00
}
2020-07-29 19:29:29 +02:00
return spells
end
2020-07-26 22:06:19 +02:00
Public.projectile_types = {
['explosives'] = {name = 'grenade', count = 0.5, max_range = 32, tick_speed = 1},
['land-mine'] = {name = 'grenade', count = 1, max_range = 32, tick_speed = 1},
['grenade'] = {name = 'grenade', count = 1, max_range = 40, tick_speed = 1},
['cluster-grenade'] = {name = 'cluster-grenade', count = 1, max_range = 40, tick_speed = 3},
['artillery-shell'] = {name = 'artillery-projectile', count = 1, max_range = 60, tick_speed = 3},
['cannon-shell'] = {name = 'cannon-projectile', count = 1, max_range = 60, tick_speed = 1},
['explosive-cannon-shell'] = {name = 'explosive-cannon-projectile', count = 1, max_range = 60, tick_speed = 1},
['explosive-uranium-cannon-shell'] = {
name = 'explosive-uranium-cannon-projectile',
count = 1,
max_range = 60,
tick_speed = 1
},
['uranium-cannon-shell'] = {name = 'uranium-cannon-projectile', count = 1, max_range = 60, tick_speed = 1},
['atomic-bomb'] = {name = 'atomic-rocket', count = 1, max_range = 80, tick_speed = 20},
['explosive-rocket'] = {name = 'explosive-rocket', count = 1, max_range = 48, tick_speed = 1},
['rocket'] = {name = 'rocket', count = 1, max_range = 48, tick_speed = 1},
['flamethrower-ammo'] = {name = 'flamethrower-fire-stream', count = 4, max_range = 28, tick_speed = 1},
['crude-oil-barrel'] = {name = 'flamethrower-fire-stream', count = 3, max_range = 24, tick_speed = 1},
['petroleum-gas-barrel'] = {name = 'flamethrower-fire-stream', count = 4, max_range = 24, tick_speed = 1},
['light-oil-barrel'] = {name = 'flamethrower-fire-stream', count = 4, max_range = 24, tick_speed = 1},
['heavy-oil-barrel'] = {name = 'flamethrower-fire-stream', count = 4, max_range = 24, tick_speed = 1},
['acid-stream-spitter-big'] = {
name = 'acid-stream-spitter-big',
count = 3,
max_range = 16,
tick_speed = 1,
force = 'enemy'
},
['lubricant-barrel'] = {name = 'acid-stream-spitter-big', count = 3, max_range = 16, tick_speed = 1},
['shotgun-shell'] = {name = 'shotgun-pellet', count = 16, max_range = 24, tick_speed = 1},
['piercing-shotgun-shell'] = {name = 'piercing-shotgun-pellet', count = 16, max_range = 24, tick_speed = 1},
['firearm-magazine'] = {name = 'shotgun-pellet', count = 16, max_range = 24, tick_speed = 1},
['piercing-rounds-magazine'] = {name = 'piercing-shotgun-pellet', count = 16, max_range = 24, tick_speed = 1},
['uranium-rounds-magazine'] = {name = 'piercing-shotgun-pellet', count = 32, max_range = 24, tick_speed = 1},
['cliff-explosives'] = {name = 'cliff-explosives', count = 1, max_range = 48, tick_speed = 2}
}
return Public