mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-05 22:43:46 +00:00
* Refactors most spans into span procs * AA * a * AAAAAAAAAAAAAAAAAAAAAA * Update species.dm Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Co-authored-by: Gandalf <jzo123@hotmail.com>
55 lines
2.3 KiB
Plaintext
55 lines
2.3 KiB
Plaintext
///AI Upgrades
|
|
|
|
|
|
//Malf Picker
|
|
/obj/item/malf_upgrade
|
|
name = "combat software upgrade"
|
|
desc = "A highly illegal, highly dangerous upgrade for artificial intelligence units, granting them a variety of powers as well as the ability to hack APCs.<br>This upgrade does not override any active laws, and must be applied directly to an active AI core."
|
|
icon = 'icons/obj/module.dmi'
|
|
icon_state = "datadisk3"
|
|
|
|
|
|
/obj/item/malf_upgrade/pre_attack(atom/A, mob/living/user, proximity)
|
|
if(!proximity)
|
|
return ..()
|
|
if(!isAI(A))
|
|
return ..()
|
|
var/mob/living/silicon/ai/AI = A
|
|
if(AI.malf_picker)
|
|
AI.malf_picker.processing_time += 50
|
|
to_chat(AI, span_userdanger("[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead."))
|
|
else
|
|
to_chat(AI, span_userdanger("[user] has upgraded you with combat software!"))
|
|
to_chat(AI, span_userdanger("Your current laws and objectives remain unchanged.")) //this unlocks malf powers, but does not give the license to plasma flood
|
|
AI.add_malf_picker()
|
|
AI.hack_software = TRUE
|
|
log_game("[key_name(user)] has upgraded [key_name(AI)] with a [src].")
|
|
message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].")
|
|
to_chat(user, span_notice("You upgrade [AI]. [src] is consumed in the process."))
|
|
qdel(src)
|
|
return TRUE
|
|
|
|
|
|
//Lipreading
|
|
/obj/item/surveillance_upgrade
|
|
name = "surveillance software upgrade"
|
|
desc = "An illegal software package that will allow an artificial intelligence to 'hear' from its cameras via lip reading and hidden microphones."
|
|
icon = 'icons/obj/module.dmi'
|
|
icon_state = "datadisk3"
|
|
|
|
/obj/item/surveillance_upgrade/pre_attack(atom/A, mob/living/user, proximity)
|
|
if(!proximity)
|
|
return ..()
|
|
if(!isAI(A))
|
|
return ..()
|
|
var/mob/living/silicon/ai/AI = A
|
|
if(AI.eyeobj)
|
|
AI.eyeobj.relay_speech = TRUE
|
|
to_chat(AI, span_userdanger("[user] has upgraded you with surveillance software!"))
|
|
to_chat(AI, "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations.")
|
|
to_chat(user, span_notice("You upgrade [AI]. [src] is consumed in the process."))
|
|
log_game("[key_name(user)] has upgraded [key_name(AI)] with a [src].")
|
|
message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].")
|
|
qdel(src)
|
|
return TRUE
|