diff --git a/baystation12.dme b/baystation12.dme
index 19d8c6101ce..2218c3fa7cd 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -1122,6 +1122,7 @@
#include "code\WorkInProgress\Chinsky\ashtray.dm"
#include "code\WorkInProgress\mapload\dmm_suite.dm"
#include "code\WorkInProgress\mapload\reader.dm"
+#include "code\WorkInProgress\Mini\ATM.dm"
#include "code\WorkInProgress\Mini\atmos_control.dm"
#include "code\WorkInProgress\Mini\pipe_heater.dm"
#include "code\WorkInProgress\Mloc\Shortcuts.dm"
diff --git a/code/WorkInProgress/Mini/ATM.dm b/code/WorkInProgress/Mini/ATM.dm
new file mode 100644
index 00000000000..6a6fada2912
--- /dev/null
+++ b/code/WorkInProgress/Mini/ATM.dm
@@ -0,0 +1,83 @@
+/*
+
+TODO:
+give money an actual use (QM stuff, vending machines)
+send money to people (might be worth attaching money to custom database thing for this, instead of being in the ID)
+log transactions
+
+*/
+
+/obj/item/weapon/card/id/var/money = 2000
+
+/obj/machinery/atm
+ name = "NanoTrasen Automatic Teller Machine"
+ desc = "For all your monetary needs!"
+ icon = 'terminals.dmi'
+ icon_state = "atm"
+ use_power = 1
+ idle_power_usage = 10
+
+/obj/machinery/atm/attackby(obj/item/I as obj, mob/user as mob)
+ if(ishuman(user))
+ var/obj/item/weapon/card/id/user_id = src.scan_user(user)
+ if(istype(I,/obj/item/weapon/spacecash))
+ user_id.money += I:worth
+ del I
+
+/obj/machinery/atm/attack_hand(mob/user as mob)
+ var/obj/item/weapon/card/id/user_id = src.scan_user(user)
+ if(..())
+ return
+ var/dat = ""
+ dat += "
NanoTrasen Automatic Teller Machine
"
+ dat += "For all your monetary needs!
"
+ dat += "Welcome, [user_id.registered_name].
"
+ dat += "You have $[user_id.money] in your account.
"
+ dat += "Withdraw
"
+ user << browse(dat,"window=atm")
+
+/obj/machinery/atm/Topic(var/href, var/href_list)
+ if(href_list["withdraw"] && href_list["id"])
+ var/amount = input("How much would you like to withdraw?", "Amount", 0) in list(1,10,20,50,100,200,500,1000, 0)
+ var/obj/item/weapon/card/id/user_id = locate(href_list["id"])
+ if(amount != 0 && user_id)
+ if(amount <= user_id.money)
+ user_id.money -= amount
+ //hueg switch for giving moneh out
+ switch(amount)
+ if(1)
+ new /obj/item/weapon/spacecash(loc)
+ if(10)
+ new /obj/item/weapon/spacecash/c10(loc)
+ if(20)
+ new /obj/item/weapon/spacecash/c20(loc)
+ if(50)
+ new /obj/item/weapon/spacecash/c50(loc)
+ if(100)
+ new /obj/item/weapon/spacecash/c100(loc)
+ if(200)
+ new /obj/item/weapon/spacecash/c200(loc)
+ if(500)
+ new /obj/item/weapon/spacecash/c500(loc)
+ if(1000)
+ new /obj/item/weapon/spacecash/c1000(loc)
+ else
+ usr << browse("You don't have that much money!
Back","window=atm")
+ return
+ src.attack_hand(usr)
+
+//stolen wholesale and then edited a bit from newscasters, which are awesome and by Agouri
+/obj/machinery/atm/proc/scan_user(mob/living/carbon/human/human_user as mob)
+ if(human_user.wear_id)
+ if(istype(human_user.wear_id, /obj/item/device/pda) )
+ var/obj/item/device/pda/P = human_user.wear_id
+ if(P.id)
+ return P.id
+ else
+ return null
+ else if(istype(human_user.wear_id, /obj/item/weapon/card/id) )
+ return human_user.wear_id
+ else
+ return null
+ else
+ return null
diff --git a/code/defines/obj.dm b/code/defines/obj.dm
index 4ddce4f2cdd..438a322193e 100644
--- a/code/defines/obj.dm
+++ b/code/defines/obj.dm
@@ -640,6 +640,10 @@
color="blue"
icon = 'power_cond_blue.dmi'
+/obj/structure/cable/pink
+ color="pink"
+ icon = 'power_cond_pink.dmi'
+
/obj/effect/manifest
name = "manifest"
icon = 'screen1.dmi'
diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index 9b501ff93f5..e737c29cb4e 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -180,35 +180,43 @@
w_class = 1.0
var/access = list()
access = access_crate_cash
+ var/worth = 1
/obj/item/weapon/spacecash/c10
icon_state = "spacecash10"
access = access_crate_cash
desc = "It's worth 10 credits."
+ worth = 10
/obj/item/weapon/spacecash/c20
icon_state = "spacecash20"
access = access_crate_cash
desc = "It's worth 20 credits."
+ worth = 20
/obj/item/weapon/spacecash/c50
icon_state = "spacecash50"
access = access_crate_cash
desc = "It's worth 50 credits."
+ worth = 50
/obj/item/weapon/spacecash/c100
icon_state = "spacecash100"
access = access_crate_cash
desc = "It's worth 100 credits."
+ worth = 100
/obj/item/weapon/spacecash/c200
icon_state = "spacecash200"
access = access_crate_cash
desc = "It's worth 200 credits."
+ worth = 200
/obj/item/weapon/spacecash/c500
icon_state = "spacecash500"
access = access_crate_cash
desc = "It's worth 500 credits."
+ worth = 500
/obj/item/weapon/spacecash/c1000
icon_state = "spacecash1000"
access = access_crate_cash
desc = "It's worth 1000 credits."
+ worth = 1000
/obj/item/device/mass_spectrometer
desc = "A hand-held mass spectrometer which identifies trace chemicals in a blood sample."
@@ -672,8 +680,12 @@
color = "green"
icon_state = "coil_green"
+/obj/item/weapon/cable_coil/pink
+ color = "pink"
+ icon_state = "coil_pink"
+
/obj/item/weapon/cable_coil/random/New()
- color = pick("red","yellow","green","blue")
+ color = pick("red","yellow","green","blue","pink")
icon_state = "coil_[color]"
..()
diff --git a/code/game/objects/closets/secure/engineering.dm b/code/game/objects/closets/secure/engineering.dm
index 152adefcdd4..bba590229f3 100644
--- a/code/game/objects/closets/secure/engineering.dm
+++ b/code/game/objects/closets/secure/engineering.dm
@@ -85,6 +85,9 @@
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
new /obj/item/weapon/weldingtool/largetank(src)
+ new /obj/item/weapon/weldpack(src)
+ new /obj/item/weapon/weldpack(src)
+ new /obj/item/weapon/weldpack(src)
return
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 39ba8fc0b17..97e9e7a97b5 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1098,7 +1098,8 @@
else
m_select.screen_loc = null
-
+ var/suit_img //A bit of kludge to make belts go under coats, but on other suits
+ var/suit_stain
if (wear_suit)
/*if (mutations & FAT && !(wear_suit.flags & ONESIZEFITSALL))
src << "\red You burst out of the [wear_suit.name]!"
@@ -1112,7 +1113,7 @@
c:layer = initial(c:layer)*/
if (istype(wear_suit, /obj/item/clothing/suit))
var/t1 = wear_suit.icon_state
- overlays += image("icon" = 'suit.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
+ suit_img = image("icon" = 'suit.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
if (wear_suit)
if (wear_suit.blood_DNA)
var/icon/stain_icon = null
@@ -1122,7 +1123,7 @@
stain_icon = icon('blood.dmi', "coatblood[!lying ? "" : "2"]")
else
stain_icon = icon('blood.dmi', "suitblood[!lying ? "" : "2"]")
- overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
+ suit_stain = image("icon" = stain_icon, "layer" = MOB_LAYER)
wear_suit.screen_loc = ui_oclothing
if (istype(wear_suit, /obj/item/clothing/suit/straight_jacket))
if (handcuffed)
@@ -1136,6 +1137,24 @@
hand = 0
drop_item()
hand = h
+ // Belt
+ var/belt_img //A bit of kludge to make belts go under coats, but on other suits
+ if (belt)
+ var/t1 = belt.item_state
+ if (!t1)
+ t1 = belt.icon_state
+ belt_img = image("icon" = 'belt.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
+ belt.screen_loc = ui_belt
+
+ //A bit of kludge to make belts go under coats, but on other suits
+ if (istype(wear_suit, /obj/item/clothing/suit/storage/det_suit) || istype(wear_suit, /obj/item/clothing/suit/storage/labcoat))
+ overlays += belt_img
+ overlays += suit_img
+ overlays += suit_stain
+ else
+ overlays += suit_img
+ overlays += suit_stain
+ overlays += belt_img
if (lying)
@@ -1169,13 +1188,6 @@
overlays += image("icon" = stain_icon, "layer" = MOB_LAYER)
head.screen_loc = ui_head
- // Belt
- if (belt)
- var/t1 = belt.item_state
- if (!t1)
- t1 = belt.icon_state
- overlays += image("icon" = 'belt.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")), "layer" = MOB_LAYER)
- belt.screen_loc = ui_belt
if ((wear_mask && !(wear_mask.see_face)) || (head && !(head.see_face))) // can't see the face
if (wear_id)
diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm
index e9cc815edf1..8e23153041e 100644
--- a/code/modules/mob/new_player/preferences.dm
+++ b/code/modules/mob/new_player/preferences.dm
@@ -172,7 +172,7 @@ datum/preferences
switch(points)
if(0)
return "Unconfigured"
- if(1 to 2)
+ if(1 to 3)
return "Terrifying"
if(4 to 6)
return "Below Average"
diff --git a/code/modules/mob/new_player/skill.dm b/code/modules/mob/new_player/skill.dm
index 14cff71aa6e..61698212088 100644
--- a/code/modules/mob/new_player/skill.dm
+++ b/code/modules/mob/new_player/skill.dm
@@ -177,7 +177,7 @@ mob/living/carbon/human/proc/GetSkillClass(points)
switch(points)
if(0)
return "Unconfigured"
- if(1 to 2)
+ if(1 to 3)
return "Terrifying"
if(4 to 6)
return "Below Average"
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index bc5e765cab7..4ab442a2713 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -221,7 +221,7 @@
/obj/item/weapon/cable_coil/proc/updateicon()
if (!color)
- color = pick("red", "yellow", "blue", "green")
+ color = pick("red", "yellow", "blue", "green", "pink")
if(amount == 1)
icon_state = "coil_[color]1"
name = "cable piece"
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index b99b8c708d2..17c0d52e850 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -297,7 +297,7 @@ 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"
- sheet_path = "/obj/item/stack/sheet/uranium"
+ sheet_path = /obj/item/stack/sheet/uranium
power_gen = 15000
time_per_sheet = 25
board_path = "/obj/item/weapon/circuitboard/pacman/super"
@@ -307,7 +307,7 @@ 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"
- sheet_path = "/obj/item/stack/sheet/diamond"
+ sheet_path = /obj/item/stack/sheet/diamond
power_gen = 40000
time_per_sheet = 30
board_path = "/obj/item/weapon/circuitboard/pacman/mrs"
diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi
index 23a90c3c21d..3367e6ec454 100644
Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ
diff --git a/icons/obj/power_cond_pink.dmi b/icons/obj/power_cond_pink.dmi
new file mode 100644
index 00000000000..931d486e1e2
Binary files /dev/null and b/icons/obj/power_cond_pink.dmi differ
diff --git a/icons/obj/terminals.dmi b/icons/obj/terminals.dmi
index 82e55b340ac..19a7712aec0 100644
Binary files a/icons/obj/terminals.dmi and b/icons/obj/terminals.dmi differ