More pAI Stuff (#10647)

This commit is contained in:
Geeves
2021-01-16 12:56:24 +01:00
committed by GitHub
parent 01a0b1bac2
commit bb18e617b3
13 changed files with 79 additions and 17 deletions
@@ -66,6 +66,9 @@
set name = "Access Local Computer"
set category = "Subsystems"
if(!parent_computer)
to_chat(usr, SPAN_WARNING("You don't have a local computer to interface with!"))
return
parent_computer.attack_self(src)
/********************
+18 -4
View File
@@ -10,7 +10,6 @@
mob_size = 1//As a holographic projection, a pAI is massless except for its card device
can_pull_size = 2 //max size for an object the pAI can pull
var/network = "SS13"
var/obj/machinery/camera/current = null
var/ram = 100 // Used as currency to purchase different abilities
@@ -181,6 +180,7 @@
verbs += /mob/living/silicon/pai/proc/choose_chassis
verbs += /mob/living/silicon/pai/proc/choose_verbs
verbs += /mob/living/silicon/proc/computer_interact
verbs += /mob/living/silicon/pai/proc/personal_computer_interact
verbs += /mob/living/silicon/proc/silicon_mimic_accent
. = ..()
@@ -429,7 +429,21 @@
canmove = !resting
//Overriding this will stop a number of headaches down the track.
/mob/living/silicon/pai/attackby(obj/item/W as obj, mob/user as mob)
/mob/living/silicon/pai/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/stack/nanopaste))
var/obj/item/stack/nanopaste/N = W
if(getBruteLoss() || getFireLoss())
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
if(do_mob(user, src, 1 SECOND))
adjustBruteLoss(-50) // these numbers are so high to make it so that people don't have to waste nanopaste on basic pAI
adjustFireLoss(-50)
updatehealth()
N.use(1)
user.visible_message("<b>[user]</b> applies some [N] at [src]'s damaged areas.", SPAN_NOTICE("You apply some [N] at [src]'s damaged areas."))
else
to_chat(user, SPAN_NOTICE("All [src]'s systems are nominal."))
return
if(W.force)
visible_message("<span class='danger'>[user.name] attacks [src] with [W]!</span>")
src.adjustBruteLoss(W.force)
@@ -437,8 +451,6 @@
else
visible_message("<span class='warning'>[user.name] bonks [src] harmlessly with [W].</span>")
return
/mob/living/silicon/pai/AltClick(mob/user as mob)
if(!user || user.stat || user.lying || user.restrained() || !Adjacent(user)) return
visible_message("<span class='danger'>[user.name] boops [src] on the head.</span>")
@@ -514,6 +526,8 @@
to_chat(src, "<span class='warning'>You are too small to pull that.</span>")
return
/mob/living/silicon/pai/UnarmedAttack(atom/A, proximity)
A.attack_pai(src)
/mob/living/silicon/pai/verb/select_card_icon()
set category = "pAI Commands"