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