/mob/living/silicon/pai/blob_act(obj/structure/blob/B) return FALSE /mob/living/silicon/pai/emp_act(severity) take_holo_damage(50/severity) Knockdown(400/severity) silent = max(30/severity, silent) if(holoform) fold_in(force = TRUE) //Need more effects that aren't instadeath or permanent law corruption. /mob/living/silicon/pai/ex_act(severity, target) take_holo_damage(severity * 50) switch(severity) if(1) //RIP qdel(card) qdel(src) if(2) fold_in(force = 1) Knockdown(400) if(3) fold_in(force = 1) Knockdown(200) /mob/living/silicon/pai/attack_hand(mob/living/carbon/human/user) switch(user.a_intent) if("help") visible_message("[user] gently pats [src] on the head, eliciting an off-putting buzzing from its holographic field.") if("disarm") visible_message("[user] boops [src] on the head!") if("harm") user.do_attack_animation(src) if (user.name == master) visible_message("Responding to its master's touch, [src] disengages its holochassis emitter, rapidly losing coherence.") spawn(10) fold_in() if(user.put_in_hands(card)) user.visible_message("[user] promptly scoops up their pAI's card.") else visible_message("[user] stomps on [src]!.") take_holo_damage(2) /mob/living/silicon/pai/bullet_act(obj/item/projectile/Proj) if(Proj.stun) fold_in(force = TRUE) src.visible_message("The electrically-charged projectile disrupts [src]'s holomatrix, forcing [src] to fold in!") . = ..(Proj) /mob/living/silicon/pai/stripPanelUnequip(obj/item/what, mob/who, where) //prevents stripping to_chat(src, "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.") /mob/living/silicon/pai/stripPanelEquip(obj/item/what, mob/who, where) //prevents stripping to_chat(src, "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.") /mob/living/silicon/pai/IgniteMob(var/mob/living/silicon/pai/P) return FALSE //No we're not flammable /mob/living/silicon/pai/proc/take_holo_damage(amount) emitterhealth = CLAMP((emitterhealth - amount), -50, emittermaxhealth) if(emitterhealth < 0) fold_in(force = TRUE) to_chat(src, "The impact degrades your holochassis!") hit_slowdown += amount return amount /mob/living/silicon/pai/adjustBruteLoss(amount, updating_health = TRUE, forced = FALSE) return take_holo_damage(amount) /mob/living/silicon/pai/adjustFireLoss(amount, updating_health = TRUE, forced = FALSE) return take_holo_damage(amount) /mob/living/silicon/pai/adjustToxLoss(amount, updating_health = TRUE, forced = FALSE) return FALSE /mob/living/silicon/pai/adjustOxyLoss(amount, updating_health = TRUE, forced = FALSE) return FALSE /mob/living/silicon/pai/adjustCloneLoss(amount, updating_health = TRUE, forced = FALSE) return FALSE /mob/living/silicon/pai/adjustStaminaLoss(amount) take_holo_damage(amount & 0.25) /mob/living/silicon/pai/adjustBrainLoss(amount) Knockdown(amount * 0.2) /mob/living/silicon/pai/getBruteLoss() return emittermaxhealth - emitterhealth /mob/living/silicon/pai/getFireLoss() return emittermaxhealth - emitterhealth /mob/living/silicon/pai/getToxLoss() return FALSE /mob/living/silicon/pai/getOxyLoss() return FALSE /mob/living/silicon/pai/getCloneLoss() return FALSE /mob/living/silicon/pai/getBrainLoss() return FALSE /mob/living/silicon/pai/getStaminaLoss() return FALSE /mob/living/silicon/pai/setCloneLoss() return FALSE /mob/living/silicon/pai/setBrainLoss() return FALSE /mob/living/silicon/pai/setStaminaLoss() return FALSE /mob/living/silicon/pai/setToxLoss() return FALSE /mob/living/silicon/pai/setOxyLoss() return FALSE