Skip to content

Commit

Permalink
Bob's Classes revision and polish (#251)
Browse files Browse the repository at this point in the history
* Quick replace icons

* Quick replace icons

* Update bobclasses.cfg

Update miner -> crafter, prospector -> sapper. Add detailed breakdown of class abilities to selector gui and tech description. Update other descriptions.

* Update sprites to 64px versions.

* Finish adding new crafting categories to characters

* Update bodies.lua

Update to new icons, make adjustments to recipes and prereqs as needed to match the changes in the classes' properties.

* Add and update class parameters

* Add updates for new body recipes

* Update for revised character classes

* Revise icons

* Revise icons

* Rename brains to body system controllers

* Minor order revision

* Fixing unused properties warning

* Fixing prerequisites

Without bobassembly, Assembling machine 3 is Purple science.

* Updating changelog

---------

Co-authored-by: KiwiHawk <[email protected]>
  • Loading branch information
Qatavin and KiwiHawk authored Dec 16, 2024
1 parent f153a53 commit ef95984
Show file tree
Hide file tree
Showing 36 changed files with 483 additions and 256 deletions.
6 changes: 6 additions & 0 deletions bobclasses/changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ Date: ???
- Reduced the tier of electronics required for player brains #180
- Changed player brains to use circuits rather than circuit components #184
- Update for Factorio 2.0 #189
- Rebalanced classes #235
- Miner class has been replaced by Crafter class
- Builder class has been modified to lose its crafting speed bonus
- Balanced class has been strengthened a bit
- Fighter class has been buffed considerably in various combat-related ways
- Prospector class has been replaced with the Sapper class, a combination of Fighter + Builder instead of Fighter + Miner or Crafter
---------------------------------------------------------------------------------------------------
Version: 1.2.1
Date: 21. 02. 2024
Expand Down
114 changes: 70 additions & 44 deletions bobclasses/control.lua
Original file line number Diff line number Diff line change
Expand Up @@ -152,18 +152,15 @@ function add_classes()
tooltip = { "gui.bob-class-builder" },
sprite = "class-builder-button",
},
bonuses = {
character_crafting_speed_modifier = 1,
},
bonuses = {},
starting_inventory = {
add = {
{ name = "burner-inserter", count = 2 },
{ name = "transport-belt", count = 10 },
{ name = "transport-belt", count = 45 },
{ name = "burner-inserter", count = 10 },
},
replace = {
{ remove = { name = "iron-plate", count = 4 }, add = { name = "burner-inserter", count = 2 } },
{ remove = { name = "pistol", count = 1 }, add = { name = "transport-belt", count = 5 } },
{ remove = { name = "firearm-magazine", count = 10 }, add = { name = "transport-belt", count = 5 } },
{ remove = { name = "firearm-magazine", count = 2 }, add = { name = "transport-belt", count = 5 } },
},
},
respawn_inventory = {
Expand Down Expand Up @@ -295,7 +292,9 @@ function init()
sprite = "class-balanced-button",
group = "t1",
},
bonuses = {},
bonuses = {
character_crafting_speed_modifier = 1,
},
starting_inventory = {
add = {},
replace = {},
Expand All @@ -313,12 +312,15 @@ function init()
sprite = "class-miner-button",
group = "t1",
},
bonuses = {},
bonuses = {
character_crafting_speed_modifier = 2,
},
starting_inventory = {
add = {},
replace = {
{ remove = { name = "stone-furnace", count = 1 }, add = { name = "burner-mining-drill", count = 1 } },
add = {
{ name = "burner-mining-drill", count = 1 },
{ name = "stone-furnace", count = 1 },
},
replace = {},
},
respawn_inventory = {
add = {},
Expand All @@ -333,11 +335,17 @@ function init()
sprite = "class-fighter-button",
group = "t1",
},
bonuses = {},
bonuses = {
character_maximum_following_robot_count_bonus = 10,
},
starting_inventory = {
add = {},
add = {
{ name = "modular-armor", count = 1 },
{ name = "personal-laser-defense-equipment", count = 1 },
{ name = "battery-equipment", count = 2 },
{ name = "solar-panel-equipment", count = 6 },
},
replace = {
{ remove = { name = "iron-plate", count = 4 }, add = { name = "heavy-armor", count = 1 } },
{ remove = { name = "pistol", count = 1 }, add = { name = "submachine-gun", count = 1 } },
{ remove = { name = "burner-mining-drill", count = 1 }, add = { name = "firearm-magazine", count = 45 } },
{ remove = { name = "stone-furnace", count = 1 }, add = { name = "firearm-magazine", count = 45 } },
Expand All @@ -359,15 +367,14 @@ function init()
sprite = "class-builder-button",
group = "t1",
},
bonuses = {
character_crafting_speed_modifier = 1,
},
bonuses = {},
starting_inventory = {
add = {},
add = {
{ name = "burner-inserter", count = 6 },
{ name = "transport-belt", count = 20 },
},
replace = {
{ remove = { name = "iron-plate", count = 4 }, add = { name = "burner-inserter", count = 2 } },
{ remove = { name = "pistol", count = 1 }, add = { name = "transport-belt", count = 5 } },
{ remove = { name = "firearm-magazine", count = 10 }, add = { name = "transport-belt", count = 5 } },
{ remove = { name = "firearm-magazine", count = 2 }, add = { name = "transport-belt", count = 5 } },
},
},
respawn_inventory = {
Expand All @@ -384,7 +391,9 @@ function init()
group = "t2",
},
prerequisites = { "bodies-2" },
bonuses = {},
bonuses = {
character_crafting_speed_modifier = 2,
},
starting_inventory = {
add = {},
replace = {},
Expand All @@ -403,12 +412,15 @@ function init()
group = "t2",
},
prerequisites = { "miner-body-2" },
bonuses = {},
bonuses = {
character_crafting_speed_modifier = 3,
},
starting_inventory = {
add = {},
replace = {
{ remove = { name = "stone-furnace", count = 1 }, add = { name = "burner-mining-drill", count = 1 } },
add = {
{ name = "burner-mining-drill", count = 1 },
{ name = "stone-furnace", count = 1 },
},
replace = {},
},
respawn_inventory = {
add = {},
Expand All @@ -424,11 +436,17 @@ function init()
group = "t2",
},
prerequisites = { "fighter-body-2" },
bonuses = {},
bonuses = {
character_maximum_following_robot_count_bonus = 20,
},
starting_inventory = {
add = {},
add = {
{ name = "modular-armor", count = 1 },
{ name = "personal-laser-defense-equipment", count = 1 },
{ name = "battery-equipment", count = 2 },
{ name = "solar-panel-equipment", count = 6 },
},
replace = {
{ remove = { name = "iron-plate", count = 4 }, add = { name = "heavy-armor", count = 1 } },
{ remove = { name = "pistol", count = 1 }, add = { name = "submachine-gun", count = 1 } },
{ remove = { name = "burner-mining-drill", count = 1 }, add = { name = "firearm-magazine", count = 45 } },
{ remove = { name = "stone-furnace", count = 1 }, add = { name = "firearm-magazine", count = 45 } },
Expand All @@ -455,11 +473,12 @@ function init()
character_crafting_speed_modifier = 2,
},
starting_inventory = {
add = {},
add = {
{ name = "burner-inserter", count = 6 },
{ name = "transport-belt", count = 20 },
},
replace = {
{ remove = { name = "iron-plate", count = 4 }, add = { name = "burner-inserter", count = 2 } },
{ remove = { name = "pistol", count = 1 }, add = { name = "transport-belt", count = 5 } },
{ remove = { name = "firearm-magazine", count = 10 }, add = { name = "transport-belt", count = 5 } },
{ remove = { name = "firearm-magazine", count = 2 }, add = { name = "transport-belt", count = 5 } },
},
},
respawn_inventory = {
Expand All @@ -477,15 +496,16 @@ function init()
},
prerequisites = { "engineer-body" },
bonuses = {
character_crafting_speed_modifier = 1,
character_crafting_speed_modifier = 2,
},
starting_inventory = {
add = {},
add = {
{ name = "burner-mining-drill", count = 1 },
{ name = "burner-inserter", count = 4 },
{ name = "transport-belt", count = 10 },
},
replace = {
{ remove = { name = "stone-furnace", count = 1 }, add = { name = "burner-mining-drill", count = 1 } },
{ remove = { name = "iron-plate", count = 4 }, add = { name = "burner-inserter", count = 2 } },
{ remove = { name = "pistol", count = 1 }, add = { name = "transport-belt", count = 5 } },
{ remove = { name = "firearm-magazine", count = 10 }, add = { name = "transport-belt", count = 5 } },
{ remove = { name = "firearm-magazine", count = 2 }, add = { name = "transport-belt", count = 5 } },
},
},
respawn_inventory = {
Expand All @@ -502,13 +522,19 @@ function init()
group = "t2_advanced",
},
prerequisites = { "prospector-body" },
bonuses = {},
bonuses = {
character_maximum_following_robot_count_bonus = 10,
},
starting_inventory = {
add = {},
add = {
{ name = "modular-armor", count = 1 },
{ name = "energy-shield-equipment", count = 1 },
{ name = "battery-equipment", count = 2 },
{ name = "solar-panel-equipment", count = 6 },
},
replace = {
{ remove = { name = "iron-plate", count = 4 }, add = { name = "heavy-armor", count = 1 } },
{ remove = { name = "pistol", count = 1 }, add = { name = "submachine-gun", count = 1 } },
{ remove = { name = "stone-furnace", count = 1 }, add = { name = "firearm-magazine", count = 40 } },
{ remove = { name = "burner-mining-drill", count = 1 }, add = { name = "firearm-magazine", count = 50 } },
},
},
respawn_inventory = {
Expand Down
12 changes: 11 additions & 1 deletion bobclasses/data-updates.lua
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,19 @@ data.raw.character["bob-character-engineer"].crafting_categories = util.copy(cat
data.raw.character["bob-character-prospector"].crafting_categories = util.copy(categories)

table.insert(bobmods.classes.characters["bob-character-miner"].crafting_categories, "smelting")
table.insert(bobmods.classes.characters["bob-character-miner"].crafting_categories, "basic-crafting")
table.insert(bobmods.classes.characters["bob-character-miner"].crafting_categories, "advanced-crafting")
table.insert(bobmods.classes.characters["bob-character-miner-2"].crafting_categories, "smelting")
table.insert(bobmods.classes.characters["bob-character-miner-2"].crafting_categories, "basic-crafting")
table.insert(bobmods.classes.characters["bob-character-miner-2"].crafting_categories, "advanced-crafting")
table.insert(bobmods.classes.characters["bob-character-engineer"].crafting_categories, "smelting")
table.insert(bobmods.classes.characters["bob-character-prospector"].crafting_categories, "smelting")
table.insert(bobmods.classes.characters["bob-character-engineer"].crafting_categories, "basic-crafting")
table.insert(bobmods.classes.characters["bob-character-engineer"].crafting_categories, "advanced-crafting")
if data.raw["recipe-category"]["machine-crafting"] then
table.insert(bobmods.classes.characters["bob-character-miner"].crafting_categories, "machine-crafting")
table.insert(bobmods.classes.characters["bob-character-miner-2"].crafting_categories, "machine-crafting")
table.insert(bobmods.classes.characters["bob-character-engineer"].crafting_categories, "machine-crafting")
end

--if mixing furnace category exists, add it to characters with smelting category
if data.raw["recipe-category"]["mixing-furnace"] then
Expand Down
60 changes: 30 additions & 30 deletions bobclasses/data.lua
Original file line number Diff line number Diff line change
Expand Up @@ -18,83 +18,83 @@ data:extend({
{
type = "sprite",
name = "class-balanced-button",
filename = "__bobclasses__/icons/balanced.png",
filename = "__bobclasses__/icons/sprites/balanced.png",
priority = "medium",
width = 32,
height = 32,
width = 64,
height = 64,
},
{
type = "sprite",
name = "class-miner-button",
filename = "__bobclasses__/icons/miner.png",
filename = "__bobclasses__/icons/sprites/crafter.png",
priority = "medium",
width = 32,
height = 32,
width = 64,
height = 64,
},
{
type = "sprite",
name = "class-fighter-button",
filename = "__bobclasses__/icons/fighter.png",
filename = "__bobclasses__/icons/sprites/fighter.png",
priority = "medium",
width = 32,
height = 32,
width = 64,
height = 64,
},
{
type = "sprite",
name = "class-builder-button",
filename = "__bobclasses__/icons/builder.png",
filename = "__bobclasses__/icons/sprites/builder.png",
priority = "medium",
width = 32,
height = 32,
width = 64,
height = 64,
},

{
type = "sprite",
name = "class-balanced-2-button",
filename = "__bobclasses__/icons/balanced-2.png",
filename = "__bobclasses__/icons/sprites/balanced-2.png",
priority = "medium",
width = 32,
height = 32,
width = 64,
height = 64,
},
{
type = "sprite",
name = "class-miner-2-button",
filename = "__bobclasses__/icons/miner-2.png",
filename = "__bobclasses__/icons/sprites/crafter-2.png",
priority = "medium",
width = 32,
height = 32,
width = 64,
height = 64,
},
{
type = "sprite",
name = "class-fighter-2-button",
filename = "__bobclasses__/icons/fighter-2.png",
filename = "__bobclasses__/icons/sprites/fighter-2.png",
priority = "medium",
width = 32,
height = 32,
width = 64,
height = 64,
},
{
type = "sprite",
name = "class-builder-2-button",
filename = "__bobclasses__/icons/builder-2.png",
filename = "__bobclasses__/icons/sprites/builder-2.png",
priority = "medium",
width = 32,
height = 32,
width = 64,
height = 64,
},

{
type = "sprite",
name = "class-engineer-button",
filename = "__bobclasses__/icons/engineer.png",
filename = "__bobclasses__/icons/sprites/engineer.png",
priority = "medium",
width = 32,
height = 32,
width = 64,
height = 64,
},
{
type = "sprite",
name = "class-prospector-button",
filename = "__bobclasses__/icons/prospector.png",
filename = "__bobclasses__/icons/sprites/sapper.png",
priority = "medium",
width = 32,
height = 32,
width = 64,
height = 64,
},
})
Binary file modified bobclasses/icons/balanced-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified bobclasses/icons/balanced.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified bobclasses/icons/builder-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified bobclasses/icons/builder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bobclasses/icons/crafter-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bobclasses/icons/crafter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified bobclasses/icons/engineer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed bobclasses/icons/engineer2.png
Binary file not shown.
Binary file modified bobclasses/icons/fighter-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified bobclasses/icons/fighter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed bobclasses/icons/miner-2.png
Binary file not shown.
Binary file removed bobclasses/icons/miner.png
Binary file not shown.
Binary file removed bobclasses/icons/miner2.png
Binary file not shown.
Binary file removed bobclasses/icons/player.png
Binary file not shown.
Binary file removed bobclasses/icons/prospector.png
Binary file not shown.
Binary file removed bobclasses/icons/prospector2.png
Binary file not shown.
Binary file added bobclasses/icons/sapper.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bobclasses/icons/sprites/balanced-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bobclasses/icons/sprites/balanced.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bobclasses/icons/sprites/builder-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bobclasses/icons/sprites/builder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bobclasses/icons/sprites/crafter-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bobclasses/icons/sprites/crafter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bobclasses/icons/sprites/engineer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bobclasses/icons/sprites/fighter-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added bobclasses/icons/sprites/fighter.png
Binary file added bobclasses/icons/sprites/sapper.png
Loading

0 comments on commit ef95984

Please sign in to comment.