mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 07:08:00 +01:00
Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-23-10-2025
This commit is contained in:
@@ -122,6 +122,7 @@
|
||||
name = pai.name,
|
||||
transmit = pai.can_transmit,
|
||||
receive = pai.can_receive,
|
||||
leashed = pai.leash,
|
||||
range = pai.leash?.distance,
|
||||
)
|
||||
return data
|
||||
@@ -156,6 +157,9 @@
|
||||
if("toggle_holo")
|
||||
pai.toggle_holo()
|
||||
return TRUE
|
||||
if("toggle_leash")
|
||||
pai.toggle_leash()
|
||||
return TRUE
|
||||
if("toggle_radio")
|
||||
pai.toggle_radio(params["option"])
|
||||
return TRUE
|
||||
|
||||
+10
-13
@@ -216,16 +216,23 @@
|
||||
pai_card.set_personality(src)
|
||||
card = pai_card
|
||||
forceMove(pai_card)
|
||||
leash = AddComponent(/datum/component/leash, pai_card, HOLOFORM_DEFAULT_RANGE, force_teleport_out_effect = /obj/effect/temp_visual/guardian/phase/out)
|
||||
toggle_leash()
|
||||
addtimer(VARSET_WEAK_CALLBACK(src, holochassis_ready, TRUE), HOLOCHASSIS_INIT_TIME)
|
||||
if(!holoform)
|
||||
add_traits(list(TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), PAI_FOLDED)
|
||||
update_appearance(UPDATE_DESC)
|
||||
|
||||
RegisterSignal(src, COMSIG_LIVING_CULT_SACRIFICED, PROC_REF(on_cult_sacrificed))
|
||||
RegisterSignals(src, list(COMSIG_LIVING_ADJUST_BRUTE_DAMAGE, COMSIG_LIVING_ADJUST_BURN_DAMAGE), PROC_REF(on_shell_damaged))
|
||||
RegisterSignal(src, COMSIG_LIVING_ADJUST_STAMINA_DAMAGE, PROC_REF(on_shell_weakened))
|
||||
|
||||
/mob/living/silicon/pai/proc/toggle_leash()
|
||||
if(isnull(card))
|
||||
return
|
||||
if(leash)
|
||||
QDEL_NULL(leash)
|
||||
else
|
||||
leash = AddComponent(/datum/component/leash, card, HOLOFORM_DEFAULT_RANGE, force_teleport_out_effect = /obj/effect/temp_visual/guardian/phase/out)
|
||||
|
||||
/mob/living/silicon/pai/create_modularInterface()
|
||||
if(!modularInterface)
|
||||
modularInterface = new /obj/item/modular_computer/pda/silicon/pai(src)
|
||||
@@ -257,12 +264,7 @@
|
||||
SEND_SIGNAL(src, COMSIG_LIVING_HEALTH_UPDATE)
|
||||
|
||||
/mob/living/silicon/pai/update_desc(updates)
|
||||
// BUBBER EDIT START: PAI ReLeashed: ORIGINAL: desc = "A hard-light holographic avatar representing a pAI. This one appears in the form of a [chassis]."
|
||||
if(!holo_leash)
|
||||
desc = "A pAI mobile hard-light holographics emitter. This one appears in the form of a [chassis]."
|
||||
else
|
||||
desc = "A hard-light holographic avatar representing a pAI. This one appears in the form of a [chassis]."
|
||||
// BUBBER EDIT END
|
||||
desc = "A hard-light holographic avatar representing a pAI. This one appears in the form of a [chassis]."
|
||||
return ..()
|
||||
|
||||
/mob/living/silicon/pai/update_icon_state()
|
||||
@@ -343,9 +345,7 @@
|
||||
master_dna = "Untraceable Signature"
|
||||
// Sets supplemental directive to this
|
||||
add_supplied_law(0, "Do not interfere with the operations of the Syndicate.")
|
||||
QDEL_NULL(leash) // Freedom!!!
|
||||
to_chat(src, span_danger("ALERT: Foreign software detected."))
|
||||
to_chat(src, span_danger("WARN: Holochasis range restrictions disabled."))
|
||||
return TRUE
|
||||
|
||||
/mob/living/silicon/pai/on_saboteur(datum/source, disrupt_duration)
|
||||
@@ -473,9 +473,6 @@
|
||||
|
||||
/// Updates the distance we can be from our pai card
|
||||
/mob/living/silicon/pai/proc/increment_range(increment_amount)
|
||||
if(!holo_leash) // BUBBER EDIT: PAI ReLeashed: ORIGINAL: if(emagged)
|
||||
return
|
||||
|
||||
var/new_distance = leash.distance + increment_amount
|
||||
if (new_distance < HOLOFORM_MIN_RANGE || new_distance > HOLOFORM_MAX_RANGE)
|
||||
return
|
||||
|
||||
@@ -78,12 +78,7 @@
|
||||
if(!holoform)
|
||||
. = fold_out(force)
|
||||
return FALSE
|
||||
// BUBBER EDIT START: PAI ReLeashed
|
||||
if(!holo_leash)
|
||||
visible_message(span_notice("[src] deactivates its holochassis emitter and folds back into a compact card!")) // BUBBER EDIT: PAI Freedom: ORIGINAL: visible_message(span_notice("[src] dematerialises!"))
|
||||
else
|
||||
visible_message(span_notice("[src] dematerialises!"))
|
||||
// BUBBER EDIT END
|
||||
visible_message(span_notice("[src] dematerialises!"))
|
||||
stop_pulling()
|
||||
if(ispickedupmob(loc))
|
||||
var/obj/item/mob_holder/mob_head = loc
|
||||
@@ -93,11 +88,6 @@
|
||||
client.set_eye(card)
|
||||
if (isturf(loc))
|
||||
new /obj/effect/temp_visual/guardian/phase/out(loc)
|
||||
// BUBBER EDIT ADDITION START: PAI ReLeashed
|
||||
if(!holo_leash)
|
||||
var/turf/target = drop_location()
|
||||
card.forceMove(target)
|
||||
// BUBBER EDIT END
|
||||
forceMove(card)
|
||||
add_traits(list(TRAIT_IMMOBILIZED, TRAIT_HANDS_BLOCKED), PAI_FOLDED)
|
||||
ADD_TRAIT(src, TRAIT_UNDENSE, PAI_FOLDED)
|
||||
@@ -132,33 +122,13 @@
|
||||
REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, PAI_FOLDED)
|
||||
REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, PAI_FOLDED)
|
||||
REMOVE_TRAIT(src, TRAIT_UNDENSE, PAI_FOLDED)
|
||||
// BUBBER EDIT START: PAI ReLeashed: ORIGINAL: forceMove(get_turf(card))
|
||||
if(!holo_leash)
|
||||
if(istype(card.loc, /obj/item/modular_computer))
|
||||
var/obj/item/modular_computer/pc = card.loc
|
||||
pc.inserted_pai = null
|
||||
pc.visible_message(span_notice("[src] ejects itself from [pc]!"))
|
||||
if(isliving(card.loc))
|
||||
var/mob/living/living_holder = card.loc
|
||||
if(!living_holder.temporarilyRemoveItemFromInventory(card))
|
||||
balloon_alert(src, "unable to expand")
|
||||
return FALSE
|
||||
forceMove(get_turf(card))
|
||||
card.forceMove(src)
|
||||
else
|
||||
forceMove(get_turf(card))
|
||||
// BUBBER EDIT END
|
||||
forceMove(get_turf(card))
|
||||
if(client)
|
||||
client.perspective = EYE_PERSPECTIVE
|
||||
client.set_eye(src)
|
||||
set_light_on(FALSE)
|
||||
update_appearance(UPDATE_ICON_STATE)
|
||||
// BUBBER EDIT START: PAI ReLeashed
|
||||
if(!holo_leash)
|
||||
visible_message(span_boldnotice("[src] folds out its holochassis emitter and forms a holoshell around itself!")) // BUBBER EDIT: PAI Freedom: ORIGINAL: visible_message(span_boldnotice("[src] appears in a flash of light!"))
|
||||
else
|
||||
visible_message(span_boldnotice("[src] appears in a flash of light!"))
|
||||
// BUBBER EDIT END: PAI ReLeashed
|
||||
visible_message(span_boldnotice("[src] appears in a flash of light!"))
|
||||
holoform = TRUE
|
||||
return TRUE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user