diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 5d9a364871..51f82c743e 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -61,6 +61,8 @@ //put this here for easier tracking ingame var/datum/money_account/initial_account + + var/accept_tcrystals = 0 /datum/mind/New(var/key) src.key = key diff --git a/code/game/antagonist/outsider/mercenary.dm b/code/game/antagonist/outsider/mercenary.dm index 55d865b9fa..4c071130ad 100644 --- a/code/game/antagonist/outsider/mercenary.dm +++ b/code/game/antagonist/outsider/mercenary.dm @@ -44,9 +44,10 @@ var/datum/antagonist/mercenary/mercs player.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(player.back), slot_in_backpack) player.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/pill/cyanide(player), slot_in_backpack) player.mind.tcrystals = DEFAULT_TELECRYSTAL_AMOUNT + player.mind.accept_tcrystals = 1 if (player.mind == leader) - var/obj/item/device/radio/uplink/U = new(player.loc, player.mind, 40) + var/obj/item/device/radio/uplink/U = new(player.loc, player.mind, DEFAULT_TELECRYSTAL_AMOUNT) player.put_in_hands(U) player.update_icons() diff --git a/code/game/antagonist/station/traitor.dm b/code/game/antagonist/station/traitor.dm index 1eb372d118..dcc7fa9df9 100644 --- a/code/game/antagonist/station/traitor.dm +++ b/code/game/antagonist/station/traitor.dm @@ -82,6 +82,7 @@ var/datum/antagonist/traitor/traitors spawn_uplink(traitor_mob) traitor_mob.mind.tcrystals = DEFAULT_TELECRYSTAL_AMOUNT + traitor_mob.mind.accept_tcrystals = 1 // Tell them about people they might want to contact. var/mob/living/carbon/human/M = get_nt_opposed() if(M && M != traitor_mob) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 98d64f5efd..766a8cb2a9 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -13,7 +13,7 @@ var/global/list/obj/item/device/pda/PDAs = list() slot_flags = SLOT_ID | SLOT_BELT //Main variables - var/pdachoice = 1 + var/pdachoice = 3 var/owner = null var/default_cartridge = 0 // Access level defined by cartridge var/obj/item/weapon/cartridge/cartridge = null //current cartridge @@ -319,9 +319,13 @@ var/global/list/obj/item/device/pda/PDAs = list() new /obj/item/weapon/pen(src) pdachoice = isnull(H) ? 1 : (ishuman(H) ? H.pdachoice : 1) switch(pdachoice) + if(1) icon = 'icons/obj/pda.dmi' if(2) icon = 'icons/obj/pda_slim.dmi' if(3) icon = 'icons/obj/pda_old.dmi' - else icon = 'icons/obj/pda.dmi' + else + icon = 'icons/obj/pda_old.dmi' + log_debug("Invalid switch for PDA, defaulting to old PDA icons. [pdachoice] chosen.") + /obj/item/device/pda/proc/can_use() diff --git a/code/game/objects/items/devices/telecrystal.dm b/code/game/objects/items/devices/telecrystal.dm new file mode 100644 index 0000000000..f789749c45 --- /dev/null +++ b/code/game/objects/items/devices/telecrystal.dm @@ -0,0 +1,14 @@ +/obj/item/device/telecrystal + name = "Red crystal" + desc = "A strange, red, glowing crystal." + icon = 'icons/obj/stock_parts.dmi' + icon_state = "telecrystal" + item_state = "telecrystal" + force = 5 + +/obj/item/device/telecrystal/attack_self(mob/user as mob) + if(user.mind.accept_tcrystals) + user.mind.tcrystals += 1 + qdel(src) + return + \ No newline at end of file diff --git a/code/game/objects/items/devices/uplink_items.dm b/code/game/objects/items/devices/uplink_items.dm index 377dad5f17..38811833cd 100644 --- a/code/game/objects/items/devices/uplink_items.dm +++ b/code/game/objects/items/devices/uplink_items.dm @@ -385,6 +385,12 @@ datum/uplink_item/dd_SortValue() item_cost = 3 path = /obj/item/weapon/storage/secure/briefcase/money desc = "A briefcase with 10,000 untraceable thalers for funding your sneaky activities." + +/datum/uplink_item/item/tools/crystal + name = "Tradable Crystal" + item_cost = 1 + path = /obj/item/device/telecrystal + desc = "A telecrystal that can be transferred from one user to another. Be sure not to give it to just anyone." /*********** * Implants * diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 31a9b4ab6f..e019291adc 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -34,7 +34,7 @@ datum/preferences var/undershirt //undershirt type var/socks //socks type var/backbag = 2 //backpack type - var/pdachoice = 1 //PDA type + var/pdachoice = 3 //PDA type var/h_style = "Bald" //Hair type var/r_hair = 0 //Hair color var/g_hair = 0 //Hair color diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi index 3ec38b8a79..64da680c7f 100644 Binary files a/icons/obj/pda.dmi and b/icons/obj/pda.dmi differ diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi index fec89e31a1..920114b550 100644 Binary files a/icons/obj/stock_parts.dmi and b/icons/obj/stock_parts.dmi differ diff --git a/polaris.dme b/polaris.dme index 9f64a075f9..2684ea31cf 100644 --- a/polaris.dme +++ b/polaris.dme @@ -651,6 +651,7 @@ #include "code\game\objects\items\devices\suit_cooling.dm" #include "code\game\objects\items\devices\t_scanner.dm" #include "code\game\objects\items\devices\taperecorder.dm" +#include "code\game\objects\items\devices\telecrystal.dm" #include "code\game\objects\items\devices\traitordevices.dm" #include "code\game\objects\items\devices\transfer_valve.dm" #include "code\game\objects\items\devices\uplink.dm"