diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index 1c07a192929..b99b8c708d2 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -99,12 +99,12 @@ display round(lastgen) and plasmatank amount
/obj/machinery/power/port_gen/pacman
name = "P.A.C.M.A.N.-type Portable Generator"
var
- coins = 0
- max_coins = 1000
- coin_path = "/obj/item/weapon/coin/plasma"
+ sheets = 0
+ max_sheets = 100
+ sheet_path = /obj/item/stack/sheet/plasma
board_path = "/obj/item/weapon/circuitboard/pacman"
- coin_left = 0 // How much is left of the coin
- time_per_coin = 1
+ sheet_left = 0 // How much is left of the sheet
+ time_per_sheet = 10
heat = 0
New()
@@ -123,7 +123,7 @@ display round(lastgen) and plasmatank amount
var/temp_reliability = 0
for(var/obj/item/weapon/stock_parts/SP in component_parts)
if(istype(SP, /obj/item/weapon/stock_parts/matter_bin))
- max_coins = SP.rating * SP.rating * 1000
+ max_sheets = SP.rating * SP.rating * 50
else if(istype(SP, /obj/item/weapon/stock_parts/micro_laser) || istype(SP, /obj/item/weapon/stock_parts/capacitor))
temp_rating += SP.rating
for(var/obj/item/weapon/CP in component_parts)
@@ -133,24 +133,24 @@ display round(lastgen) and plasmatank amount
examine()
..()
- usr << "\blue The generator has [coins] units of fuel left, producing [power_gen] per cycle."
+ usr << "\blue The generator has [sheets] units of fuel left, producing [power_gen] per cycle."
if(crit_fail) usr << "\red The generator seems to have broken down."
HasFuel()
- if(coins >= 1 / (time_per_coin / power_output) - coin_left)
+ if(sheets >= 1 / (time_per_sheet / power_output) - sheet_left)
return 1
return 0
UseFuel()
- var/needed_coins = 1 / (time_per_coin / power_output)
- var/temp = min(needed_coins, coin_left)
- needed_coins -= temp
- coin_left -= temp
- coins -= round(needed_coins)
- needed_coins -= round(needed_coins)
- if (coin_left <= 0 && coins > 0)
- coin_left = 1 - needed_coins
- coins--
+ var/needed_sheets = 1 / (time_per_sheet / power_output)
+ var/temp = min(needed_sheets, sheet_left)
+ needed_sheets -= temp
+ sheet_left -= temp
+ sheets -= round(needed_sheets)
+ needed_sheets -= round(needed_sheets)
+ if (sheet_left <= 0 && sheets > 0)
+ sheet_left = 1 - needed_sheets
+ sheets--
var/lower_limit = 56 + power_output * 10
var/upper_limit = 76 + power_output * 10
@@ -186,14 +186,16 @@ display round(lastgen) and plasmatank amount
explosion(src.loc, 2, 5, 2, -1)
attackby(var/obj/item/O as obj, var/mob/user as mob)
- if(istype(O, text2path(coin_path)))
- if(coins >= max_coins)
- user << "\red The generator already has its maximum amount of fuel!"
+ if(istype(O, sheet_path))
+ var/obj/item/stack/addstack = O
+ var/amount = min((max_sheets - sheets), addstack.amount)
+ if(amount < 1)
+ user << "\blue The [src.name] is full!"
return
- coins++
- user.drop_item()
- del(O)
- user << "\blue You add a coin to the generator."
+ user << "\blue You add [amount] sheets to the [src.name]."
+ sheets += amount
+ addstack.use(amount)
+ return
else if (istype(O, /obj/item/weapon/card/emag))
var/obj/item/weapon/card/emag/E = O
if(E.uses)
@@ -230,27 +232,6 @@ display round(lastgen) and plasmatank amount
attack_hand(mob/user as mob)
..()
-
- if (istype(user.pulling,/obj/item/weapon/moneybag))
- var/new_coins = 0
- var/target_coins = text2num(input("How many coins do you wish to transfer?", "Generator", "0"))
- for (var/obj/item/weapon/coin/C in user.pulling.contents)
- if(istype(C, text2path(coin_path)))
- if (coins >= max_coins)
- user << "\blue The generator is full!"
- break
- if (new_coins >= target_coins)
- break
- coins++
- new_coins++
- del(C)
- if (user.pulling.contents.len < 1)
- del(user.pulling)
-
- user << "\blue You move [new_coins] coins from the money bag to the generator."
- src.add_fingerprint(usr)
- return
-
if (!anchored)
return
@@ -277,9 +258,9 @@ display round(lastgen) and plasmatank amount
dat += text("Generator: On
")
else
dat += text("Generator: Off
")
- dat += text("Coins: [coins]
")
- var/coin_percent = round(coin_left * 100, 1)
- dat += text("Current coin: [coin_percent]%
")
+ dat += text("sheets: [sheets]
")
+ var/stack_percent = round(sheet_left * 100, 1)
+ dat += text("Current stack: [stack_percent]%
")
dat += text("Power output: - [power_gen * power_output] +
")
dat += text("Heat: [heat]
")
dat += "
Close"
@@ -316,9 +297,9 @@ display round(lastgen) and plasmatank amount
/obj/machinery/power/port_gen/pacman/super
name = "S.U.P.E.R.P.A.C.M.A.N.-type Portable Generator"
icon_state = "portgen1"
- coin_path = "/obj/item/weapon/coin/uranium"
+ sheet_path = "/obj/item/stack/sheet/uranium"
power_gen = 15000
- time_per_coin = 5
+ time_per_sheet = 25
board_path = "/obj/item/weapon/circuitboard/pacman/super"
overheat()
explosion(src.loc, 3, 3, 3, -1)
@@ -326,10 +307,9 @@ display round(lastgen) and plasmatank amount
/obj/machinery/power/port_gen/pacman/mrs
name = "M.R.S.P.A.C.M.A.N.-type Portable Generator"
icon_state = "portgen2"
- coin_path = "/obj/item/weapon/coin/diamond"
+ sheet_path = "/obj/item/stack/sheet/diamond"
power_gen = 40000
- time_per_coin = 60
+ time_per_sheet = 30
board_path = "/obj/item/weapon/circuitboard/pacman/mrs"
overheat()
- explosion(src.loc, 4, 4, 4, -1)
-
+ explosion(src.loc, 4, 4, 4, -1)
\ No newline at end of file
diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi
index a2381589ab7..8fec430acd7 100644
Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ