diff --git a/code/modules/mob/holder.dm b/code/modules/mob/holder.dm index 2ec5b3a2976..8ddffd00636 100644 --- a/code/modules/mob/holder.dm +++ b/code/modules/mob/holder.dm @@ -44,12 +44,12 @@ src.forceMove(H) H.name = name if(desc) H.desc = desc - H.attack_hand(grabber) + H.MouseDrop(grabber) grabber << "You scoop up \the [src]." src << "\The [grabber] scoops you up." grabber.status_flags |= PASSEMOTES - return + return H //Mob specific holders. diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index fadce57dda4..d7952787b79 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -152,14 +152,6 @@ /mob/living/silicon/pai/MouseDrop(atom/over_object) return -//Below was the orignal mousedrop code from Bay, keeping incase. -// var/mob/living/carbon/H = over_object -// if(!istype(H) || !Adjacent(H)) return ..() -// if(H.a_intent == "help") -// get_scooped(H) -// return -// else -// return ..() /mob/living/silicon/pai/emp_act(severity) // Silence for 2 minutes @@ -441,13 +433,9 @@ /mob/living/silicon/pai/attack_hand(mob/user as mob) if(stat == 2) return - if(user.a_intent == "help") - get_scooped(user) - return - else - visible_message("[user.name] boops [src] on the head.") - spawn(1) - close_up() + visible_message("[user.name] boops [src] on the head.") + spawn(1) + close_up() //I'm not sure how much of this is necessary, but I would rather avoid issues. /mob/living/silicon/pai/proc/close_up() @@ -537,16 +525,22 @@ // Handle being picked up. /mob/living/silicon/pai/get_scooped(var/mob/living/carbon/grabber) - if(!holder_type) return - var/obj/item/weapon/holder/pai/H = new(loc) - - //H.attack_hand(grabber) - src.forceMove(H) - H.icon_override = 'icons/mob/in-hand/paiheld.dmi' + var/obj/item/weapon/holder/H = ..() + if(!istype(H)) + return + H.icon_override = 'icons/mob/in-hand/paiheld.dmi'//I have these in diffrent DMI so i am overriding H.icon_state = "pai-[icon_state]" - grabber.put_in_active_hand(H) - grabber.update_icons() - H.icon_override = 'icons/mob/paihat.dmi' - H.item_state = "pai-[icon_state]" + grabber.put_in_active_hand(H)//for some reason unless i call this it dosen't work + grabber.update_inv_l_hand() + grabber.update_inv_r_hand() - return H \ No newline at end of file + return H + +/mob/living/silicon/pai/MouseDrop(atom/over_object) + var/mob/living/carbon/H = over_object + if(!istype(H) || !Adjacent(H)) return ..() + if(H.a_intent == "help") + get_scooped(H) + return + else + return ..() \ No newline at end of file diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index b6185875557..8c041752b0f 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -562,43 +562,27 @@ var/count = 0 // Find the carrier - while(!istype(held, /mob/living)) + while(!isliving(held)) if(!held || !held.loc || count > 6) //For a runtime where M ends up in nullspace (similar to bluespace but less colourful) src << "You are not being carried by anyone!" return 0 held = held.loc count++ - if(istype(held, /mob/living)) + if(isliving(held)) data["holder"] = held data["health"] = "[held.stat > 1 ? "dead" : "[held.health]% healthy"]" data["oxy"] = "[held.getOxyLoss() > 50 ? "" : ""][held.getOxyLoss()]" data["tox"] = "[held.getToxLoss() > 50 ? "" : ""][held.getToxLoss()]" data["burn"] = "[held.getFireLoss() > 50 ? "" : ""][held.getFireLoss()]" data["temp"] = "[held.bodytemperature-T0C]°C ([held.bodytemperature*1.8-459.67]°F)" - //data["infected"] = null - if (held.viruses) - data["infected"] = 1 - var/virus[0] - for((var/datum/disease2/disease/D in held.viruses)) - var/vdata[0] - vdata["name"] = D.name() || "unknown" - vdata["type"] = D.spreadtype || "unknown" - vdata["stage"] = D.stage || "unknown" - vdata["stageMax"] = D.max_stage || "unknown" - vdata["cure"] = D.antigen || "unknown" - - virus[++virus.len]=vdata - data["infectionDat"] = virus - - else data["holder"] = 0 ui = nanomanager.try_update_ui(user, user, id, ui,data , force_open) if(!ui) // Don't copy-paste this unless you're making a pAI software module! - ui = new(user, user, id, "pai_bioscan.tmpl", "Host Bioscan", 400, 450) + ui = new(user, user, id, "pai_bioscan.tmpl", "Host Bioscan", 400, 350) ui.set_initial_data(data) ui.open() //.set_auto_update(1) \ No newline at end of file diff --git a/icons/mob/PaiHat.dmi b/icons/mob/PaiHat.dmi deleted file mode 100644 index 6273db75152..00000000000 Binary files a/icons/mob/PaiHat.dmi and /dev/null differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 205e1585911..eda5f12d6b3 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/in-hand/paiheld.dmi b/icons/mob/in-hand/paiheld.dmi index 7a646ebf8c2..5cd2eb1db5b 100644 Binary files a/icons/mob/in-hand/paiheld.dmi and b/icons/mob/in-hand/paiheld.dmi differ diff --git a/nano/templates/pai_bioscan.tmpl b/nano/templates/pai_bioscan.tmpl index d6eb900a5f5..fb5d99b2286 100644 --- a/nano/templates/pai_bioscan.tmpl +++ b/nano/templates/pai_bioscan.tmpl @@ -5,7 +5,7 @@ code/modules/mob/living/silicon/pai/software_modules.dm {{if data.holder}}
- Bioscan Results for {{:data.holder}}: + Bioscan Results for {{:data.holder}} :
Health Status : {{:data.health}} @@ -22,25 +22,6 @@ code/modules/mob/living/silicon/pai/software_modules.dm User Temprature : {{:data.temp}}
- {{if data.infected}} - Alert:Viral pathogen detected, Attempting to find information... - {{for data.infectionDat}} -
-
- {{:value.name}}: -
-
- Type : {{:value.type}} -
-
- Stage: {{:value.stage}} / {{:value.stagemax}} -
- Possible Cure or Antigen: {{:value.cure}} - -
-
- {{/for}} - {{/if}} {{else}} Error: No biological host found! {{/if}} \ No newline at end of file