mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-28 18:41:37 +00:00
* tgui Preferences Menu + total rewrite of the preferences backend * nah, we dont need to ping those people * trying to remove the funny stuff * unmodularizing this * prefs reset * this may need to be reverted, who knows * okay, this part * perhaps * EEEEEEEEE * unsanitary * E * Stage 1 + loadout system * more fixes * E * I mean, it launches? * More fixes and reorganisation * E * customisation code is spaget. * disable ERP prefs * Update erp_preferences.dm * Update erp_preferences.dm * E * Slowly getting there * It may be time for help :) * tri...colors... help * preferences now pass preferences * Update dna.dm * Fuck this man * missing savefile return, set_species works, removed dumb stuff from updateappearance * https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224 * https://github.com/tgstation/tgstation/pull/61519 * https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278 * e * le butonAZARAK HELLO * hhh * Proper recognition where it's due, MrMelbert! * EEEE * examine block * Better gen hit sounds from whitedream * final loadout touches, more bug fixes im sure to come * i said there would be bugfixes * Update LoadoutManager.js * Missing preferences in the html menu * LIVE TESTING PHASE BABY * Update LoadoutManager.js * EEE * LAUNCH TEST FIRE * Update job.dm * Update new_player.dm * 50gb DAY ONE PATCH * EEE * Update preferences.dm * buggle fixes * Update examine.dm * >LOOC starts on Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com> Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com> Co-authored-by: Gandalf <jzo123@hotmail.com> Co-authored-by: Azarak <azarak10@gmail.com>
88 lines
2.6 KiB
Plaintext
88 lines
2.6 KiB
Plaintext
/mob/dead/observer/DblClickOn(atom/A, params)
|
|
if(check_click_intercept(params, A))
|
|
return
|
|
|
|
if(can_reenter_corpse && mind?.current)
|
|
if(A == mind.current || (mind.current in A)) // double click your corpse or whatever holds it
|
|
reenter_corpse() // (body bag, closet, mech, etc)
|
|
return // seems legit.
|
|
|
|
// Things you might plausibly want to follow
|
|
if(ismovable(A))
|
|
ManualFollow(A)
|
|
|
|
// Otherwise jump
|
|
else if(A.loc)
|
|
abstract_move(get_turf(A))
|
|
update_parallax_contents()
|
|
|
|
/mob/dead/observer/ClickOn(atom/A, params)
|
|
if(check_click_intercept(params,A))
|
|
return
|
|
|
|
var/list/modifiers = params2list(params)
|
|
if(LAZYACCESS(modifiers, SHIFT_CLICK))
|
|
if(LAZYACCESS(modifiers, MIDDLE_CLICK))
|
|
ShiftMiddleClickOn(A)
|
|
return
|
|
if(LAZYACCESS(modifiers, CTRL_CLICK))
|
|
CtrlShiftClickOn(A)
|
|
return
|
|
ShiftClickOn(A)
|
|
return
|
|
if(LAZYACCESS(modifiers, MIDDLE_CLICK))
|
|
MiddleClickOn(A, params)
|
|
return
|
|
if(LAZYACCESS(modifiers, ALT_CLICK))
|
|
AltClickNoInteract(src, A)
|
|
return
|
|
if(LAZYACCESS(modifiers, CTRL_CLICK))
|
|
CtrlClickOn(A)
|
|
return
|
|
|
|
if(world.time <= next_move)
|
|
return
|
|
// You are responsible for checking config.ghost_interaction when you override this function
|
|
// Not all of them require checking, see below
|
|
A.attack_ghost(src)
|
|
|
|
// Oh by the way this didn't work with old click code which is why clicking shit didn't spam you
|
|
/atom/proc/attack_ghost(mob/dead/observer/user)
|
|
if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_GHOST, user) & COMPONENT_CANCEL_ATTACK_CHAIN)
|
|
return TRUE
|
|
if(user.client)
|
|
if(user.gas_scan && atmosanalyzer_scan(user, src))
|
|
return TRUE
|
|
else if(isAdminGhostAI(user))
|
|
attack_ai(user)
|
|
else if(user.client.prefs.read_preference(/datum/preference/toggle/inquisitive_ghost))
|
|
user.examinate(src)
|
|
return FALSE
|
|
|
|
/mob/living/attack_ghost(mob/dead/observer/user)
|
|
if(user.client && user.health_scan)
|
|
healthscan(user, src, 1, TRUE)
|
|
if(user.client && user.chem_scan)
|
|
chemscan(user, src)
|
|
return ..()
|
|
|
|
// ---------------------------------------
|
|
// And here are some good things for free:
|
|
// Now you can click through portals, wormholes, gateways, and teleporters while observing. -Sayu
|
|
|
|
/obj/effect/gateway_portal_bumper/attack_ghost(mob/user)
|
|
if(gateway)
|
|
gateway.Transfer(user)
|
|
return ..()
|
|
|
|
/obj/machinery/teleport/hub/attack_ghost(mob/user)
|
|
if(!power_station?.engaged || !power_station.teleporter_console || !power_station.teleporter_console.target_ref)
|
|
return ..()
|
|
|
|
var/atom/target = power_station.teleporter_console.target_ref.resolve()
|
|
if(!target)
|
|
power_station.teleporter_console.target_ref = null
|
|
return ..()
|
|
|
|
user.abstract_move(get_turf(target))
|