From e9c3c990b139bb04f6d561979750bbafd998822a Mon Sep 17 00:00:00 2001 From: Erthilo Date: Thu, 17 May 2012 20:50:47 +0100 Subject: [PATCH 01/11] Ported Animus Station's currency system, credit to @EditorRUS. ATM's now require a pin which is generated and stored in mob notes. Space cash renamed to stack of credits, and same value credits can be stacked together. Credits are generated randomly between 500 to 2000 credits. Credits or coins can be inserted and converted to credits. Still not used for anything! --- baystation12.dme | 3 +- code/WorkInProgress/animusstation/atm.dm | 165 +++++++++++++++++++ code/defines/obj/weapon.dm | 53 +++++- code/game/jobs/job_controller.dm | 5 + code/game/objects/items/weapons/cards_ids.dm | 6 + 5 files changed, 228 insertions(+), 4 deletions(-) create mode 100644 code/WorkInProgress/animusstation/atm.dm diff --git a/baystation12.dme b/baystation12.dme index 8fe8cc3f78..cc4ebdfc30 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -159,6 +159,7 @@ #define FILE_DIR "code/unused/powerarmor" #define FILE_DIR "code/unused/spacecraft" #define FILE_DIR "code/WorkInProgress" +#define FILE_DIR "code/WorkInProgress/animusstation" #define FILE_DIR "code/WorkInProgress/Apples" #define FILE_DIR "code/WorkInProgress/Cael_Aislinn" #define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust" @@ -1139,6 +1140,7 @@ #include "code\WorkInProgress\AI_Visibility.dm" #include "code\WorkInProgress\buildmode.dm" #include "code\WorkInProgress\explosion_particles.dm" +#include "code\WorkInProgress\animusstation\atm.dm" #include "code\WorkInProgress\Cael_Aislinn\Rust\core_field.dm" #include "code\WorkInProgress\Cael_Aislinn\Rust\core_gen.dm" #include "code\WorkInProgress\Cael_Aislinn\Rust\core_monitor.dm" @@ -1159,7 +1161,6 @@ #include "code\WorkInProgress\Cael_Aislinn\Tajara\tajaran.dm" #include "code\WorkInProgress\Cael_Aislinn\Tajara\whisper.dm" #include "code\WorkInProgress\Chinsky\ashtray.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/animusstation/atm.dm b/code/WorkInProgress/animusstation/atm.dm new file mode 100644 index 0000000000..cbb61e6e79 --- /dev/null +++ b/code/WorkInProgress/animusstation/atm.dm @@ -0,0 +1,165 @@ +/* + +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/machinery/atm + name = "\improper NanoTrasen Automatic Teller Machine" + desc = "For all your monetary needs!" + icon = 'terminals.dmi' + icon_state = "atm" + anchored = 1 + use_power = 1 + idle_power_usage = 10 + var + obj/item/weapon/card/id/card + obj/item/weapon/spacecash/cashes = list() + inserted = 0 + accepted = 0 + pincode = 0 + + attackby(var/obj/A, var/mob/user) + if(istype(A,/obj/item/weapon/spacecash)) + cashes += A + user.drop_item() + A.loc = src + inserted += A:worth + return + if(istype(A,/obj/item/weapon/coin)) + if(istype(A,/obj/item/weapon/coin/iron)) + cashes += A + user.drop_item() + A.loc = src + inserted += 1 + return + if(istype(A,/obj/item/weapon/coin/silver)) + cashes += A + user.drop_item() + A.loc = src + inserted += 10 + return + if(istype(A,/obj/item/weapon/coin/gold)) + cashes += A + user.drop_item() + A.loc = src + inserted += 50 + return + if(istype(A,/obj/item/weapon/coin/plasma)) + cashes += A + user.drop_item() + A.loc = src + inserted += 2 + return + if(istype(A,/obj/item/weapon/coin/diamond)) + cashes += A + user.drop_item() + A.loc = src + inserted += 300 + return + user << "You insert your [A.name] in ATM" + ..() + + attack_hand(var/mob/user) + if(istype(user, /mob/living/silicon)) + user << "\red Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per NanoTrasen regulation #1005." + return + + if(!(stat && NOPOWER) && ishuman(user)) + var/dat + user.machine = src + if(!accepted) + if(scan(user)) + pincode = input(usr,"Enter a pin-code") as num + if(card.checkaccess(pincode,usr)) + accepted = 1 +// usr << sound('nya.mp3') + else + dat = null + dat += "

NanoTrasen Automatic Teller Machine


" + dat += "For all your monetary needs!

" + dat += "Welcome, [card.registered_name]. You have [card.money] credits deposited.
" + dat += "Current inserted item value: [inserted] credits.

" + dat += "Please, select action
" + dat += "Withdraw Physical Credits
" + dat += "Eject Inserted Items
" + dat += "Convert Inserted Items to Credits
" + dat += "Lock ATM
" + user << browse(dat,"window=atm") + onclose(user,"close") + proc + withdraw(var/mob/user) + if(accepted) + var/amount = input("How much would you like to withdraw?", "Amount", 0) in list(1,10,20,50,100,200,500,1000, 0) + if(amount == 0) + return + if(card.money >= amount) + card.money -= amount + 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 + user << "\red Error: Insufficient funds." + return + + scan(var/mob/user) + if(istype(user,/mob/living/carbon/human)) + var/mob/living/carbon/human/H = user + if(H.wear_id) + if(istype(H.wear_id, /obj/item/weapon/card/id)) + card = H.wear_id + return 1 + if(istype(H.wear_id,/obj/item/device/pda)) + var/obj/item/device/pda/P = H.wear_id + if(istype(P.id,/obj/item/weapon/card/id)) + card = P.id + return 1 + return 0 + return 0 + + insert() + if(accepted) + card.money += inserted + inserted = 0 + + Topic(href,href_list) + if (usr.machine==src && get_dist(src, usr) <= 1 || istype(usr, /mob/living/silicon/ai)) + if(href_list["eca"]) + if(accepted) + for(var/obj/item/weapon/spacecash/M in cashes) + M.loc = loc + inserted = 0 + if(!cashes) + cashes = null + if(href_list["with"] && card) + withdraw(usr) + if(href_list["ins"] && card) + if(accepted) + card.money += inserted + inserted = 0 + if(href_list["lock"]) + card = null + accepted = 0 + usr.machine = null + usr << browse(null,"window=atm") + src.updateUsrDialog() + else + usr.machine = null + usr << browse(null,"window=atm") diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 1bc78daa92..1abcbba3ab 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -159,7 +159,7 @@ ammo = 30 /obj/item/weapon/spacecash - name = "space cash" + name = "stack of credits" desc = "It's worth 1 credit." gender = PLURAL icon = 'items.dmi' @@ -175,6 +175,7 @@ var/access = list() access = access_crate_cash var/worth = 1 + var/amount = 1 /obj/item/weapon/spacecash/c10 icon_state = "spacecash10" @@ -211,6 +212,51 @@ access = access_crate_cash desc = "It's worth 1000 credits." worth = 1000 +/obj/item/weapon/spacecash/attack_self(var/mob/user) + var/dat = "Space cash stack" + dat += "Credit amount - [worth * amount]
" + dat += "Take amount
" + user << browse(dat,"window=money") + +/obj/item/weapon/spacecash/Topic(href, href_list) + if(href_list["takemoney"]) + var/a = 1 + a = input(usr,"How much you want take?") as num + if((a > src.amount) || (a < 0)) + usr << "\red You don't have that many credits" + return + src.amount -= a + var/obj/item/weapon/spacecash/S + if(a <= 0) + return + switch(src.worth) + if(1) + S = new /obj/item/weapon/spacecash(get_turf(src)) + if(10) + S = new /obj/item/weapon/spacecash/c10(get_turf(src)) + if(20) + S = new /obj/item/weapon/spacecash/c20(get_turf(src)) + if(50) + S = new /obj/item/weapon/spacecash/c50(get_turf(src)) + if(100) + S = new /obj/item/weapon/spacecash/c100(get_turf(src)) + if(200) + S = new /obj/item/weapon/spacecash/c200(get_turf(src)) + if(500) + S = new /obj/item/weapon/spacecash/c500(get_turf(src)) + if(1000) + S = new /obj/item/weapon/spacecash/c1000(get_turf(src)) + S.amount = a + if(src.amount == 0) + del(src) +/obj/item/weapon/spacecash/attackby(var/obj/I, var/mob/user) + if(!I) + return + if(istype(I,src)) + src.amount += I:amount + user << "You add [I:amount] credits to stack" + del(I) + /obj/item/device/mass_spectrometer desc = "A hand-held mass spectrometer which identifies trace chemicals in a blood sample." @@ -573,11 +619,12 @@ item_state = "card-id" var/access = list() var/registered_name = null // The name registered_name on the card - + var/pin = 0 + var/money = 0 var/assignment = null var/over_jumpsuit = 1 // If set to 0, it won't display on top of the mob's jumpsuit var/dorm = 0 // determines if this ID has claimed a dorm already - + var/obj/item/weapon/credit_card/card var/blood_type = "\[UNSET\]" var/dna_hash = "\[UNSET\]" var/fingerprint_hash = "\[UNSET\]" diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 7b9e21ab0a..2eb8bfb651 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -304,6 +304,11 @@ var/global/datum/controller/occupations/job_master C.assignment = title C.name = "[C.registered_name]'s ID Card ([C.assignment])" C.access = get_access(rank) + C.pin = rand(1000,9999) + C.money = 10 * rand(50,200) + H << "\bold \red Your station account has [C.money] credits. The pin-code is [C.pin]." + if(H.mind) + H.mind.memory += "Your pin-code is - [C.pin]
" H.equip_if_possible(C, H.slot_wear_id) if(!H.equip_if_possible(new /obj/item/weapon/pen(H), H.slot_r_store)) H.equip_if_possible(new /obj/item/weapon/pen(H), H.slot_ears) diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 5f6a3e80eb..96e712bc5d 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -107,6 +107,12 @@ FINGERPRINT CARD else ..() +/obj/item/weapon/card/id/proc/checkaccess(p,var/mob/user) + if(p == pin) + user << "\green Access granted" + return 1 + user << "\red Access denied" + return 0 // FINGERPRINT HOLDER From 1608dff0f527a9d90fefe37076b0396123f04ec5 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Thu, 17 May 2012 21:31:38 +0100 Subject: [PATCH 02/11] Fixes police tape not appearing on doors. --- code/WorkInProgress/Ported/policetape.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/WorkInProgress/Ported/policetape.dm b/code/WorkInProgress/Ported/policetape.dm index bb6db3117b..4a6d1b7c06 100644 --- a/code/WorkInProgress/Ported/policetape.dm +++ b/code/WorkInProgress/Ported/policetape.dm @@ -73,7 +73,7 @@ var/turf/T = get_turf(A) var/obj/item/tape/P = new tape_type(T.x,T.y,T.z) P.loc = locate(T.x,T.y,T.z) - P.icon_state = "door" + P.icon_state = "[src.icon_base]_door" P.layer = 3.2 user << "\blue You finish placing the [src]." From 6130ce6d4a308f129a7a5d4b604407dca5076929 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Thu, 17 May 2012 21:32:34 +0100 Subject: [PATCH 03/11] Adds camera film which can be used to refill cameras. Added to detectives wardrobe and arts and crafts crate. Minor grammar and punctuation fixes. --- code/WorkInProgress/SkyMarshal/wardrobes.dm | 1 + code/defines/obj/supplypacks.dm | 2 ++ code/defines/obj/weapon.dm | 4 +-- code/game/jobs/job_controller.dm | 2 +- code/game/objects/items/weapons/cameras.dm | 28 +++++++++++++++++--- code/game/objects/storage/belt.dm | 1 + icons/obj/items.dmi | Bin 56884 -> 57313 bytes 7 files changed, 32 insertions(+), 6 deletions(-) diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm index 01612e1dd8..b05f747e76 100755 --- a/code/WorkInProgress/SkyMarshal/wardrobes.dm +++ b/code/WorkInProgress/SkyMarshal/wardrobes.dm @@ -432,6 +432,7 @@ new /obj/item/device/radio/headset/headset_sec(src) new /obj/item/clothing/shoes/brown(src) new /obj/item/clothing/under/det(src) + new /obj/item/weapon/camera_film(src) /obj/item/wardrobe/officer name = "\improper Security Officer Wardrobe" diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm index d1f725a972..076a0bccd4 100755 --- a/code/defines/obj/supplypacks.dm +++ b/code/defines/obj/supplypacks.dm @@ -76,6 +76,8 @@ name = "Arts and Crafts supplies" contains = list("/obj/item/weapon/storage/crayonbox", "/obj/item/weapon/camera_test", + "/obj/item/weapon/camera_film", + "/obj/item/weapon/camera_film", "/obj/item/weapon/storage/photo_album", "/obj/item/weapon/packageWrap", "/obj/item/weapon/reagent_containers/glass/paint/red", diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 1abcbba3ab..3e8f5a46c0 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -223,7 +223,7 @@ var/a = 1 a = input(usr,"How much you want take?") as num if((a > src.amount) || (a < 0)) - usr << "\red You don't have that many credits" + usr << "\red You don't have that many credits." return src.amount -= a var/obj/item/weapon/spacecash/S @@ -254,7 +254,7 @@ return if(istype(I,src)) src.amount += I:amount - user << "You add [I:amount] credits to stack" + user << "You add [I:amount] credits to stack." del(I) diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 2eb8bfb651..4bdc2b9890 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -306,7 +306,7 @@ var/global/datum/controller/occupations/job_master C.access = get_access(rank) C.pin = rand(1000,9999) C.money = 10 * rand(50,200) - H << "\bold \red Your station account has [C.money] credits. The pin-code is [C.pin]." + H << "\blue Your station account has [C.money] credits. The pin-code is [C.pin]." if(H.mind) H.mind.memory += "Your pin-code is - [C.pin]
" H.equip_if_possible(C, H.slot_wear_id) diff --git a/code/game/objects/items/weapons/cameras.dm b/code/game/objects/items/weapons/cameras.dm index a4f12d5b59..8acba217c7 100644 --- a/code/game/objects/items/weapons/cameras.dm +++ b/code/game/objects/items/weapons/cameras.dm @@ -38,7 +38,7 @@ /obj/item/weapon/camera_test name = "camera" icon = 'items.dmi' - desc = "A one use - polaroid camera. 10 photos left." + desc = "A polaroid camera. It has 30 photos left." icon_state = "camera" item_state = "electropack" w_class = 2.0 @@ -47,6 +47,7 @@ throwforce = 5 throw_speed = 4 throw_range = 10 + var/pictures_max = 30 var/pictures_left = 30 var/can_use = 1 @@ -60,6 +61,13 @@ var/icon/img //Big photo image var/scribble //Scribble on the back. +/obj/item/weapon/camera_film + name = "film cartridge" + icon = 'items.dmi' + desc = "A camera film cartridge. Insert it into a camera to reload it." + icon_state = "film" + item_state = "electropack" + w_class = 1.0 /obj/item/weapon/photo/attack_self(var/mob/user as mob) ..() @@ -145,9 +153,11 @@ if (can_use) can_use = 0 icon_state = "camera_off" + usr << "\red You turn the camera off." else can_use = 1 icon_state = "camera" + usr << "\blue You turn the camera on." /obj/item/weapon/camera_test/proc/get_mobs(turf/the_turf as turf) var/mob_detail @@ -206,7 +216,7 @@ playsound(src.loc, pick('polaroid1.ogg','polaroid2.ogg'), 75, 1, -3) pictures_left-- - src.desc = "A one use - polaroid camera. [pictures_left] photos left." + src.desc = "A polaroid camera. It has [pictures_left] photos left." user << "\blue [pictures_left] photos left." can_use = 0 icon_state = "camera_off" @@ -214,4 +224,16 @@ can_use = 1 icon_state = "camera" - +/obj/item/weapon/camera_test/attackby(A as obj, mob/user as mob) + if (istype(A, /obj/item/weapon/camera_film)) + if (src.pictures_left >= pictures_max) + user << "\blue It's already full!" + return 1 + else + del(A) + src.pictures_left = src.pictures_max + src.desc = "A polaroid camera. It has [pictures_left] photos left." + user << text("\blue You reload the camera film!",) + user.update_clothing() + return 1 + return diff --git a/code/game/objects/storage/belt.dm b/code/game/objects/storage/belt.dm index 91d2086cbe..47f8c7095c 100644 --- a/code/game/objects/storage/belt.dm +++ b/code/game/objects/storage/belt.dm @@ -149,6 +149,7 @@ "/obj/item/weapon/melee/baton", "/obj/item/weapon/melee/classic_baton", "/obj/item/weapon/camera_test", + "/obj/item/weapon/camera_film", "/obj/item/weapon/cigpacket", "/obj/item/weapon/zippo", "/obj/item/device/taperecorder", diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 398dac68c08d77162dd9dbb9719a220f0ebd89f7..354394d5dce763395b48793f880051bc0e78be27 100644 GIT binary patch delta 16977 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

?h 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 B<}CmK delta 16544 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 Gzx^-ihbY1T From 51be6e627b7ff456aa4956b09700e2469e1adb34 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Thu, 17 May 2012 21:38:10 +0100 Subject: [PATCH 04/11] Changelog. --- html/changelog.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/html/changelog.html b/html/changelog.html index b395bda5b8..5592d0b29a 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -49,11 +49,16 @@ should be listed in the changelog upon commit though. Thanks. -->

17 May 2012

+

Erthilo updated:

+
    +
  • Adds camera film which can be used to refill cameras. Added to detectives wardrobe and arts and crafts crate. Credit to Flashkirby99
  • +
  • ATM's now require a pin which is generated on round start and stored in notes. Space cash renamed to stack of credits, and same value credits can be stacked together. Initial round credits are generated randomly between 500 to 2000 credits. Credits or coins can be inserted into ATMs and converted to credits. Still not used for anything! Credit to EditorRUS at Animus Station.
  • +
  • Fixes police tape not appearing on doors.
  • +

Abi79 updated:

  • Fixed ID access requirements for the QM's office and the prison wing.
-

SkyMarshal updated:

Abi79 updated:

  • Fixed ID access requirements for the QM's office and the prison wing.
-

SkyMarshal updated: