mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Another pAI update
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user