diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index ed09bebe0c..0055e46c8c 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -247,7 +247,7 @@ if(world.time <= last_special) return - + last_special = world.time + 100 if(istype(card.loc, /obj/machinery)) // VOREStation edit, this statement allows pAIs stuck in a machine to eject themselves. @@ -345,6 +345,13 @@ var/obj/item/weapon/rig/rig = src.get_rig() if(istype(rig)) rig.force_rest(src) +<<<<<<< HEAD +======= + return + else if(chassis == "13") + resting = !resting + //update_transform() I want this to make you ROTATE like normal HUMANS do! But! There's lots of problems and I don't know how to fix them! +>>>>>>> 3669e7afab... Merge pull request #13155 from Very-Soft/typexiii else resting = !resting icon_state = resting ? "[chassis]_rest" : "[chassis]" @@ -353,6 +360,45 @@ canmove = !resting +<<<<<<< HEAD +======= +/* +/mob/living/silicon/pai/update_transform() + + var/desired_scale_x = size_multiplier * icon_scale_x + var/desired_scale_y = size_multiplier * icon_scale_y + + // Now for the regular stuff. + var/matrix/M = matrix() + M.Scale(desired_scale_x, desired_scale_y) + M.Translate(0, (vis_height/2)*(desired_scale_y-1)) + + if(chassis != "13") + appearance_flags |= PIXEL_SCALE + + var/anim_time = 3 + + if(resting) + M.Turn(90) + M.Scale(desired_scale_y, desired_scale_x) + if(holo_icon_dimension_X == 64 && holo_icon_dimension_Y == 64) + M.Translate(13,-22) + else if(holo_icon_dimension_X == 32 && holo_icon_dimension_Y == 64) + M.Translate(1,-22) + else if(holo_icon_dimension_X == 64 && holo_icon_dimension_Y == 32) + M.Translate(13,-6) + else + M.Translate(1,-6) + layer = MOB_LAYER -0.01 // Fix for a byond bug where turf entry order no longer matters + else + M.Scale(desired_scale_x, desired_scale_y) + M.Translate(0, (vis_height/2)*(desired_scale_y-1)) + layer = MOB_LAYER // Fix for a byond bug where turf entry order no longer matters + animate(src, transform = M, time = anim_time) + src.transform = M + handle_status_indicators() +*/ +>>>>>>> 3669e7afab... Merge pull request #13155 from Very-Soft/typexiii //Overriding this will stop a number of headaches down the track. /mob/living/silicon/pai/attackby(obj/item/weapon/W as obj, mob/user as mob) if(W.force) diff --git a/code/modules/mob/living/silicon/pai/pai_vr.dm b/code/modules/mob/living/silicon/pai/pai_vr.dm index 0a2f421d07..9985110f7f 100644 --- a/code/modules/mob/living/silicon/pai/pai_vr.dm +++ b/code/modules/mob/living/silicon/pai/pai_vr.dm @@ -6,6 +6,13 @@ var/hide_glow = FALSE var/image/eye_layer = null // Holds the eye overlay. var/eye_color = "#00ff0d" +<<<<<<< HEAD +======= + var/icon/holo_icon + var/icon/holo_icon_north + var/holo_icon_dimension_X = 32 + var/holo_icon_dimension_Y = 32 +>>>>>>> 3669e7afab... Merge pull request #13155 from Very-Soft/typexiii var/global/list/wide_chassis = list( "rat", "panther", @@ -78,6 +85,14 @@ /mob/living/silicon/pai/update_icon() //Some functions cause this to occur, such as resting ..() +<<<<<<< HEAD +======= + if(chassis == "13") + icon = holo_icon + add_eyes() + return + +>>>>>>> 3669e7afab... Merge pull request #13155 from Very-Soft/typexiii update_fullness_pai() if(!people_eaten && !resting) @@ -106,6 +121,13 @@ /mob/living/silicon/pai/update_icons() //And other functions cause this to occur, such as digesting someone. ..() +<<<<<<< HEAD +======= + if(chassis == "13") + icon = holo_icon + add_eyes() + return +>>>>>>> 3669e7afab... Merge pull request #13155 from Very-Soft/typexiii update_fullness_pai() if(!people_eaten && !resting) icon_state = "[chassis]" @@ -186,6 +208,7 @@ /mob/living/silicon/pai/proc/add_eyes() remove_eyes() +<<<<<<< HEAD if(chassis in allows_eye_color) if(!eye_layer) eye_layer = image(icon, "[icon_state]-eyes") @@ -194,6 +217,32 @@ if(eye_glow && !hide_glow) eye_layer.plane = PLANE_LIGHTING_ABOVE add_overlay(eye_layer) +======= + if(chassis == "13") + if(holo_icon.Width() > 32) + holo_icon_dimension_X = 64 + pixel_x = -16 + default_pixel_x = -16 + if(holo_icon.Height() > 32) + holo_icon_dimension_Y = 64 + if(holo_icon_dimension_X == 32 && holo_icon_dimension_Y == 32) + eye_layer = image('icons/mob/pai_vr.dmi', "type13-eyes") + else if(holo_icon_dimension_X == 32 && holo_icon_dimension_Y == 64) + eye_layer = image('icons/mob/pai_vr32x64.dmi', "type13-eyes") + else if(holo_icon_dimension_X == 64 && holo_icon_dimension_Y == 32) + eye_layer = image('icons/mob/pai_vr64x32.dmi', "type13-eyes") + else if(holo_icon_dimension_X == 64 && holo_icon_dimension_Y == 64) + eye_layer = image('icons/mob/pai_vr64x64.dmi', "type13-eyes") + else + else if(chassis in allows_eye_color) + eye_layer = image(icon, "[icon_state]-eyes") + else return + eye_layer.appearance_flags = appearance_flags + eye_layer.color = eye_color + if(eye_glow && !hide_glow) + eye_layer.plane = PLANE_LIGHTING_ABOVE + add_overlay(eye_layer) +>>>>>>> 3669e7afab... Merge pull request #13155 from Very-Soft/typexiii /mob/living/silicon/pai/proc/remove_eyes() cut_overlay(eye_layer) diff --git a/icons/mob/pai_vr32x64.dmi b/icons/mob/pai_vr32x64.dmi new file mode 100644 index 0000000000..02c15d3de8 Binary files /dev/null and b/icons/mob/pai_vr32x64.dmi differ diff --git a/icons/mob/pai_vr64x32.dmi b/icons/mob/pai_vr64x32.dmi new file mode 100644 index 0000000000..468e5cd216 Binary files /dev/null and b/icons/mob/pai_vr64x32.dmi differ diff --git a/pai_vr64x32.dmi b/pai_vr64x32.dmi new file mode 100644 index 0000000000..c9d58c0a24 Binary files /dev/null and b/pai_vr64x32.dmi differ