Adds F.R.A.M.E. Cartridge

This commit is contained in:
Fox McCloud
2018-04-19 20:54:59 -04:00
parent 604f26f2ec
commit 0f28456db3
5 changed files with 78 additions and 12 deletions
+24
View File
@@ -874,6 +874,16 @@ var/list/uplink_items = list()
gamemodes = list(/datum/game_mode/nuclear)
excludefrom = list()
/datum/uplink_item/stealthy_tools/frame
name = "F.R.A.M.E. PDA Cartridge"
desc = "When inserted into a personal digital assistant, this cartridge gives you five PDA viruses which \
when used cause the targeted PDA to become a new uplink with zero TCs, and immediately become unlocked. \
You will receive the unlock code upon activating the virus, and the new uplink may be charged with \
telecrystals normally."
reference = "FRAME"
item = /obj/item/cartridge/frame
cost = 4
/datum/uplink_item/stealthy_tools/agent_card
name = "Agent ID Card"
desc = "Agent cards prevent artificial intelligences from tracking the wearer, and can copy access from other identification cards. The access is cumulative, so scanning one card does not erase the access gained from another."
@@ -1153,6 +1163,20 @@ var/list/uplink_items = list()
cost = 1
surplus = 0
/datum/uplink_item/device_tools/telecrystal/five
name = "5 Raw Telecrystals"
desc = "Five telecrystals in their rawest and purest form; can be utilized on active uplinks to increase their telecrystal count."
reference = "RTCF"
item = /obj/item/stack/telecrystal/five
cost = 5
/datum/uplink_item/device_tools/telecrystal/twenty
name = "20 Raw Telecrystals"
desc = "Twenty telecrystals in their rawest and purest form; can be utilized on active uplinks to increase their telecrystal count."
reference = "RTCT"
item = /obj/item/stack/telecrystal/twenty
cost = 20
/datum/uplink_item/device_tools/jammer
name = "Radio Jammer"
desc = "This device will disrupt any nearby outgoing radio communication when activated."
@@ -11,6 +11,7 @@ var/list/world_uplinks = list()
/obj/item/device/uplink
var/welcome // Welcoming menu message
var/uses // Numbers of crystals
var/hidden_crystals = 0
var/list/ItemsCategory // List of categories with lists of items
var/list/ItemsReference // List of references with an associated item
var/list/nanoui_items // List of items for NanoUI use
@@ -231,6 +232,8 @@ var/list/world_uplinks = list()
return 1
else if(href_list["lock"])
toggle()
uses += hidden_crystals
hidden_crystals = 0
ui.close()
return 1
if(href_list["return"])
+24 -11
View File
@@ -10,19 +10,32 @@
flags = NOBLUDGEON
origin_tech = "materials=6;syndicate=1"
/obj/item/stack/telecrystal/attack(mob/target as mob, mob/user as mob)
/obj/item/stack/telecrystal/attack(mob/target, mob/user)
if(target == user) //You can't go around smacking people with crystals to find out if they have an uplink or not.
for(var/obj/item/implant/uplink/I in target)
if(I && I.implanted)
I.hidden_uplink.uses +=1
use(1)
to_chat(user, "<span class='notice'>You press the [src] onto yourself and charge your hidden uplink.</span>")
if(I && I.imp_in)
I.hidden_uplink.uses += amount
use(amount)
to_chat(user, "<span class='notice'>You press [src] onto yourself and charge your hidden uplink.</span>")
/obj/item/stack/telecrystal/afterattack(var/obj/item/I as obj, mob/user as mob, proximity)
/obj/item/stack/telecrystal/afterattack(obj/item/I, mob/user, proximity)
if(!proximity)
return
if(istype(I, /obj/item))
if(I.hidden_uplink && I.hidden_uplink.active) //No metagaming by using this on every PDA around just to see if it gets used up.
I.hidden_uplink.uses +=1
use(1)
to_chat(user, "<span class='notice'>You slot the [src] into the [I] and charge its internal uplink.</span>")
if(istype(I, /obj/item) && I.hidden_uplink && I.hidden_uplink.active) //No metagaming by using this on every PDA around just to see if it gets used up.
I.hidden_uplink.uses += amount
use(amount)
to_chat(user, "<span class='notice'>You slot [src] into [I] and charge its internal uplink.</span>")
else if(istype(I, /obj/item/cartridge/frame))
var/obj/item/cartridge/frame/cart = I
if(!cart.charges)
to_chat(user, "<span class='notice'>[cart] is out of charges, it's refusing to accept [src]</span>")
return
cart.telecrystals += amount
use(amount)
to_chat(user, "<span class='notice'>You slot [src] into the [cart]. The next time it's used, it will also give telecrystals</span>")
/obj/item/stack/telecrystal/five
amount = 5
/obj/item/stack/telecrystal/twenty
amount = 20
+7
View File
@@ -296,6 +296,13 @@
if(istype(D))
D.remote_door_id = initial_remote_door_id
/obj/item/cartridge/frame
name = "F.R.A.M.E. cartridge"
icon_state = "cart"
charges = 5
var/telecrystals = 0
messenger_plugins = list(new/datum/data/pda/messenger_plugin/virus/frame)
/obj/item/cartridge/mob_hunt_game
name = "Nano-Mob Hunter GO! Cartridge"
desc = "The hit new PDA game that lets you track down and capture your favorite Nano-Mobs living in your world!"
+20 -1
View File
@@ -72,4 +72,23 @@
user.show_message("<span class='notice'>Success!</span>", 1)
log_admin("[key_name(user)] just attempted to blow up [P] with the Detomatix cartridge and succeded")
message_admins("[key_name_admin(user)] just attempted to blow up [P] with the Detomatix cartridge and succeded", 1)
P.explode()
P.explode()
/datum/data/pda/messenger_plugin/virus/frame
icon = "exclamation-circle"
/datum/data/pda/messenger_plugin/virus/frame/user_act(mob/user, obj/item/device/pda/P)
. = ..(user, P)
if(.)
var/lock_code = "[rand(100,999)] [pick("Alpha","Bravo","Charlie","Delta","Echo","Foxtrot","Golf","Hotel","India","Juliet","Kilo","Lima","Mike","November","Oscar","Papa","Quebec","Romeo","Sierra","Tango","Uniform","Victor","Whiskey","X-ray","Yankee","Zulu")]"
user.show_message("<span class='notice'>Virus Sent! The unlock code to the target is: [lock_code]</span>")
if(!P.hidden_uplink)
var/obj/item/device/uplink/hidden/uplink = new(P)
P.hidden_uplink = uplink
P.lock_code = lock_code
else
P.hidden_uplink.hidden_crystals += P.hidden_uplink.uses //Temporarially hide the PDA's crystals, so you can't steal telecrystals.
var/obj/item/cartridge/frame/parent_cart = pda.cartridge
P.hidden_uplink.uses = parent_cart.telecrystals
parent_cart.telecrystals = 0
P.hidden_uplink.active = TRUE