diff --git a/code/datums/uplinks_items.dm b/code/datums/uplinks_items.dm index 74a1bca5f830..3953d284456c 100644 --- a/code/datums/uplinks_items.dm +++ b/code/datums/uplinks_items.dm @@ -753,9 +753,9 @@ /datum/uplink_item/device_tools/pinpointer name = "Advanced Pinpointer" - desc = "A modified pinpointer for searching for items that your employers are interested in." + desc = "A artisanally modified pinpointer for searching for items that your employers are interested in." item = /obj/item/weapon/pinpointer/highriskitems - cost = 10 + cost = 2 uplink_types = list("traitor") /datum/uplink_item/device_tools/disk diff --git a/code/game/gamemodes/modes_gameplays/nuclear/pinpointer.dm b/code/game/gamemodes/modes_gameplays/nuclear/pinpointer.dm index dc681521c25b..f1791db7ff13 100644 --- a/code/game/gamemodes/modes_gameplays/nuclear/pinpointer.dm +++ b/code/game/gamemodes/modes_gameplays/nuclear/pinpointer.dm @@ -279,5 +279,39 @@ return attack_self(usr) +/obj/item/weapon/pinpointer/highriskitems/process() + if(!active) + return + if(!target && !mode) + target = locate(/obj/item/weapon/disk/nuclear) + if(!target) + icon_state = "pinonnull" + return + if(target) + var/turf/self_turf = get_turf(src) + var/turf/target_turf = get_turf(target) + if(target_turf.z != self_turf.z) + icon_state = "alterpinfaralert" + else if(target_turf == self_turf) + icon_state = "alterpindirect" + else + switch(get_dist(target_turf, self_turf)) + if(1 to 10) + icon_state = "alterpin10" + if(11 to 25) + icon_state = "alterpin25" + if(26 to 50) + icon_state = "alterpin50" + if(51 to 75) + icon_state = "alterpin75" + if(76 to 100) + icon_state = "alterpin100" + if(101 to 150) + icon_state = "alterpin150" + if(151 to 200) + icon_state = "alterpin200" + if(201 to INFINITY) + icon_state = "pinonfar" + #undef SEARCH_FOR_DISK #undef SEARCH_FOR_OBJECT diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index f34d62430ddc..a37048f17a38 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ