Another pAI update

This commit is contained in:
Casey
2022-06-05 18:01:34 -04:00
committed by CHOMPStation2
parent b0b0ec8bc4
commit b249f87d8e
7 changed files with 83 additions and 18 deletions

View File

@@ -425,4 +425,13 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard)
icon_state = "pai"
/obj/random/paicard/item_to_spawn()
return pick(/obj/item/device/paicard ,/obj/item/device/paicard/typeb)
<<<<<<< HEAD
return pick(/obj/item/device/paicard ,/obj/item/device/paicard/typeb)
=======
return pick(/obj/item/device/paicard ,/obj/item/device/paicard/typeb)
/obj/item/device/paicard/digest_act(var/atom/movable/item_storage = null)
if(!pai.digestable)
return
. = ..()
>>>>>>> 46739db0f2... Merge pull request #13043 from Very-Soft/anotherpaiupdate

View File

@@ -49,7 +49,8 @@
"Rat" = "rat",
"Panther" = "panther",
"Cyber Elf" = "cyberelf",
"Teppi" = "teppi"
"Teppi" = "teppi",
"Catslug" = "catslug"
//VOREStation Addition End
)
@@ -258,10 +259,6 @@
return 0
else if(istype(card.loc,/mob))
var/mob/holder = card.loc
var/datum/belly/inside_belly = check_belly(card) //VOREStation edit.
if(inside_belly) //VOREStation edit.
to_chat(src, "<span class='notice'>There is no room to unfold in here. You're good and stuck.</span>") //VOREStation edit.
return 0 //VOREStation edit.
if(ishuman(holder))
var/mob/living/carbon/human/H = holder
for(var/obj/item/organ/external/affecting in H.organs)
@@ -271,6 +268,9 @@
H.visible_message("<span class='danger'>\The [src] explodes out of \the [H]'s [affecting.name] in shower of gore!</span>")
break
holder.drop_from_inventory(card)
else if(isbelly(card.loc)) //VOREStation edit.
to_chat(src, "<span class='notice'>There is no room to unfold in here. You're good and stuck.</span>") //VOREStation edit.
return 0 //VOREStation edit.
else if(istype(card.loc,/obj/item/device/pda))
var/obj/item/device/pda/holder = card.loc
holder.pai = null
@@ -284,9 +284,8 @@
var/turf/T = get_turf(src)
if(istype(T)) T.visible_message("<b>[src]</b> folds outwards, expanding into a mobile form.")
verbs += /mob/living/silicon/pai/proc/pai_nom //VOREStation edit
verbs += /mob/living/proc/set_size //VOREStation edit
verbs += /mob/living/proc/shred_limb //VORREStation edit
verbs |= /mob/living/silicon/pai/proc/pai_nom
verbs |= /mob/living/proc/vertical_nom
/mob/living/silicon/pai/verb/fold_up()
set category = "pAI Commands"
@@ -380,7 +379,7 @@
if(src.loc == card)
return
release_vore_contents() //VOREStation Add
release_vore_contents(FALSE) //VOREStation Add
var/turf/T = get_turf(src)
if(istype(T)) T.visible_message("<b>[src]</b> neatly folds inwards, compacting down to a rectangular card.")
@@ -410,9 +409,10 @@
canmove = 1
resting = 0
icon_state = "[chassis]"
verbs -= /mob/living/silicon/pai/proc/pai_nom //VOREStation edit. Let's remove their nom verb
if(isopenspace(card.loc))
fall()
verbs -= /mob/living/silicon/pai/proc/pai_nom
verbs -= /mob/living/proc/vertical_nom
// No binary for pAIs.
/mob/living/silicon/pai/binarycheck()

View File

@@ -37,14 +37,18 @@
"pai-bear",
"pai-fen",
"cyberelf",
"teppi"
"teppi",
"catslug"
)
/mob/living/silicon/pai/Initialize()
. = ..()
verbs |= /mob/living/proc/hide
verbs |= /mob/living/proc/vertical_nom
verbs |= /mob/proc/dominate_predator
verbs |= /mob/living/proc/dominate_prey
verbs |= /mob/living/proc/set_size
verbs |= /mob/living/proc/shred_limb
/mob/living/silicon/pai/proc/pai_nom(var/mob/living/T in oview(1))
set name = "pAI Nom"
@@ -117,6 +121,8 @@
choice = tgui_input_list(usr, "What would you like to use for your mobile chassis icon?", "Chassis Choice", possible_chassis)
if(!choice) return
var/oursize = size_multiplier
resize(1, FALSE, TRUE, TRUE, FALSE) //We resize ourselves to normal here for a moment to let the vis_height get reset
chassis = possible_chassis[choice]
if(chassis in wide_chassis)
icon = 'icons/mob/pai_vr64x64.dmi'
@@ -124,6 +130,7 @@
else
icon = 'icons/mob/pai_vr.dmi'
vis_height = 32
resize(oursize, FALSE, TRUE, TRUE, FALSE) //And then back again now that we're sure the vis_height is correct.
if(chassis in flying_chassis)
hovering = TRUE
@@ -155,9 +162,11 @@
else
to_chat(src, "<span class='warning'>Your selected chassis eye color can not be modified. The color you pick will only apply to supporting chassis and your card screen.</span>")
eye_color = input(src, "Choose your character's eye color:", "Eye Color") as color|null
update_icon()
card.setEmotion(card.current_emotion)
var/new_eye_color = input(src, "Choose your character's eye color:", "Eye Color") as color|null
if(new_eye_color)
eye_color = new_eye_color
update_icon()
card.setEmotion(card.current_emotion)
// Release belly contents before being gc'd!
/mob/living/silicon/pai/Destroy()
@@ -165,8 +174,8 @@
return ..()
/mob/living/silicon/pai/proc/add_eyes()
remove_eyes()
if(chassis in allows_eye_color)
remove_eyes()
if(!eye_layer)
eye_layer = image(icon, "[icon_state]-eyes")
eye_layer.appearance_flags = appearance_flags
@@ -176,7 +185,39 @@
add_overlay(eye_layer)
/mob/living/silicon/pai/proc/remove_eyes()
<<<<<<< HEAD
if(chassis in allows_eye_color)
cut_overlay(eye_layer)
qdel(eye_layer)
eye_layer = null
eye_layer = null
=======
cut_overlay(eye_layer)
qdel(eye_layer)
eye_layer = null
/mob/living/silicon/pai/UnarmedAttack(atom/A, proximity_flag)
. = ..()
if(!ismob(A) || A == src)
return
var/t_him = "them"
if(ishuman(A))
var/mob/living/carbon/human/T = A
if(!T.species.ambiguous_genders)
switch(T.identifying_gender)
if(MALE)
t_him = "him"
if(FEMALE)
t_him = "her"
else
t_him = "them"
else
switch(A.gender)
if(MALE)
t_him = "him"
if(FEMALE)
t_him = "her"
visible_message("<span class='notice'>\The [src] hugs [A] to make [t_him] feel better!</span>", \
"<span class='notice'>You hug [A] to make [t_him] feel better!</span>")
>>>>>>> 46739db0f2... Merge pull request #13043 from Very-Soft/anotherpaiupdate

View File

@@ -169,6 +169,10 @@
pred = loc.loc
else if(isliving(prey.loc))
pred = loc
else if(ispAI(src))
var/mob/living/silicon/pai/pocketpal = src
if(isbelly(pocketpal.card.loc))
pred = pocketpal.card.loc.loc
else
to_chat(prey, "<span class='notice'>You are not inside anyone.</span>")
return

View File

@@ -697,7 +697,18 @@
to_chat(src, "<span class='warning'>You are not allowed to eat this.</span>")
return
<<<<<<< HEAD
if(is_type_in_list(I,edible_trash) | adminbus_trash || is_type_in_list(I,edible_tech) && isSynthetic()) //chompstation add synth check
=======
if(istype(I, /obj/item/device/paicard))
var/obj/item/device/paicard/palcard = I
var/mob/living/silicon/pai/pocketpal = palcard.pai
if(!pocketpal.devourable)
to_chat(src, "<span class='warning'>\The [pocketpal] doesn't allow you to eat it.</span>")
return
if(is_type_in_list(I,edible_trash) | adminbus_trash)
>>>>>>> 46739db0f2... Merge pull request #13043 from Very-Soft/anotherpaiupdate
if(I.hidden_uplink)
to_chat(src, "<span class='warning'>You really should not be eating this.</span>")
message_admins("[key_name(src)] has attempted to ingest an uplink item. ([src ? ADMIN_JMP(src) : "null"])")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB