mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-13 18:33:22 +00:00
- I renamed some vars of datum/hud to be more selfexplanatory
- Moved all datum/hud mob code into the hud folder.
- fixed alien's zone selection button not using the correct sprites.
- I removed the update_hud() proc (that needed to be removed).
- Fixed a typo in /mob/living/carbon/ContractDisease , using "internals" instead of "internal" (very different things)
- Fixed doTeleport() calling Entered() twice on the destination area.
- To reference a mob's selected zone, you now use a direct mob var ("H.zone_selected" instead of "H.zone_sel.selecting")
- mobs lose certain screen objects var ("healths", "zone_sel", "internals", etc) which are now vars of the mob's datum/hud instead.
- the Blind spell is now done via the blind mutation instead of the blind disabilities.
- Give to mobs a version of forceMove(), so the mob is always properly unbuckled, his pull stopped, his vision updated, etc.
- The "user" var of mob/camera/aiEye/remote is renamed to "eye_user" to avoid confusion.
- reset_view() is replaced by reset_perspective(). Now all changes to client.eye and client.perspective are done with this proc.
- I reworked /obj/machinery/computer/security code, changing camera is instantaneous now, as well as cancelling.
- I reworked /obj/machinery/computer/camera_advanced code as well.
- I changed /obj/item/mecha_parts/mecha_equipment/mining_scanner's meson view to be constant instead of by intermittent.
- Fixes not being able to use /obj/item/device/camera_bug while buckled.
- removed admin_forcemove() proc, admin force moving now uses forceMove() simply.
- Removed the client var "adminobs"
- Added var/vision_correction to glasses.
- Added a thermal_overload() proc for glasses, to remove copypasta in emp_act code.
- Remove the hal_crit mob var
- We no longer delete the mob's hud everytime he logs in.
- Added a stat == dead check in mob's metabolize() so we immediately stop metabolizing if one of the chem kills the mob.
- Being inside disposal bin lowers your vision, like wearing a welding helmet.
- removed the remote_view mob var.
- I changed advanced camera EYE, some fixes, removed unnecessary code when the eye moves, now the mob client eye properly follows the camera mob.
- fixes mob var "machine" not being nullified on logout.
- larva/death() was calling two "living_mob_list -= src"
- I made the Blind screen objects into a global_hud instead of giving one to each mob (like damage overlay).
- I untied tint and eye_blind, TINT_BLIND doesn't give you eye_blind=1.
- gave a visual overlay when inside locker (vimpaired)
- when inside disposal/gas pipes you get sight |= (BLIND|SEE_TURFS)
- glasses toggling updates (atmos meson toggle): DONE
- The new adjust procs serve to properly change eye_blind etc and call vision update procs when needed.
- I added an on_unset_machine() proc to handle perspective reset for camera consoles.
- I moved consequences of eye_check fail inside eye_check() procs themselves.
- I fixed vision updates being fucked by forceMove, especially pipe vision.
- I decided that damage overlay not appearing when dead.
- mob's hud_used is no longer deleted on each login()
- I refactored mob huds a bit, creating subtypes for each mob (/datum/hud/human)
- f12's hud toggling is now available to all mobs
- gave borgs a low_power_mode var so unpowered borg do not use stat= UNCONSCIOUS (which made things weird since you were unconscious but not blind)
- Fixed double Area entering when forced teleporting.
- I fixed larva pulling not being broken when cuffing them, and larva not seeing handcuff alert (and they can resist by clicking it)
- I removed pull updates from life() since it onyl checked for puller's incapacitation.
- I renamed camera/deactivate() to toggle_cam() to be more accurate.
- I fixed mmi brain being immortal (by removing the brain and putting it back)
- I simplified mmi brain emp damage.
114 lines
3.0 KiB
Plaintext
114 lines
3.0 KiB
Plaintext
/datum/hud/drone/New(mob/owner, ui_style = 'icons/mob/screen_midnight.dmi')
|
|
..()
|
|
var/obj/screen/using
|
|
var/obj/screen/inventory/inv_box
|
|
|
|
using = new /obj/screen/drop()
|
|
using.icon = ui_style
|
|
using.screen_loc = ui_drone_drop
|
|
static_inventory += using
|
|
|
|
pull_icon = new /obj/screen/pull()
|
|
pull_icon.icon = ui_style
|
|
pull_icon.update_icon(mymob)
|
|
pull_icon.screen_loc = ui_drone_pull
|
|
static_inventory += pull_icon
|
|
|
|
inv_box = new /obj/screen/inventory()
|
|
inv_box.name = "r_hand"
|
|
inv_box.icon = ui_style
|
|
inv_box.icon_state = "hand_r_inactive"
|
|
if(mymob && !mymob.hand) //Hand being true means the LEFT hand is active
|
|
inv_box.icon_state = "hand_r_active"
|
|
inv_box.screen_loc = ui_rhand
|
|
inv_box.slot_id = slot_r_hand
|
|
inv_box.layer = 19
|
|
r_hand_hud_object = inv_box
|
|
static_inventory += inv_box
|
|
|
|
inv_box = new /obj/screen/inventory()
|
|
inv_box.name = "l_hand"
|
|
inv_box.icon = ui_style
|
|
inv_box.icon_state = "hand_l_inactive"
|
|
if(mymob && mymob.hand) //Hand being true means the LEFT hand is active
|
|
inv_box.icon_state = "hand_l_active"
|
|
inv_box.screen_loc = ui_lhand
|
|
inv_box.slot_id = slot_l_hand
|
|
inv_box.layer = 19
|
|
l_hand_hud_object = inv_box
|
|
static_inventory += inv_box
|
|
|
|
inv_box = new /obj/screen/inventory()
|
|
inv_box.name = "internal storage"
|
|
inv_box.icon = ui_style
|
|
inv_box.icon_state = "suit_storage"
|
|
inv_box.screen_loc = ui_drone_storage
|
|
inv_box.slot_id = slot_drone_storage
|
|
inv_box.layer = 19
|
|
static_inventory += inv_box
|
|
|
|
inv_box = new /obj/screen/inventory()
|
|
inv_box.name = "head/mask"
|
|
inv_box.icon = ui_style
|
|
inv_box.icon_state = "mask"
|
|
inv_box.screen_loc = ui_drone_head
|
|
inv_box.slot_id = slot_head
|
|
inv_box.layer = 19
|
|
static_inventory += inv_box
|
|
|
|
using = new /obj/screen/inventory()
|
|
using.name = "hand"
|
|
using.icon = ui_style
|
|
using.icon_state = "swap_1_m"
|
|
using.screen_loc = ui_swaphand1
|
|
using.layer = 19
|
|
static_inventory += using
|
|
|
|
using = new /obj/screen/inventory()
|
|
using.name = "hand"
|
|
using.icon = ui_style
|
|
using.icon_state = "swap_2"
|
|
using.screen_loc = ui_swaphand2
|
|
using.layer = 19
|
|
static_inventory += using
|
|
|
|
zone_select = new /obj/screen/zone_sel()
|
|
zone_select.icon = ui_style
|
|
zone_select.update_icon(mymob)
|
|
|
|
|
|
/datum/hud/drone/persistant_inventory_update()
|
|
if(!mymob)
|
|
return
|
|
var/mob/living/simple_animal/drone/D = mymob
|
|
|
|
if(hud_shown)
|
|
if(D.internal_storage)
|
|
D.internal_storage.screen_loc = ui_drone_storage
|
|
D.client.screen += D.internal_storage
|
|
if(D.head)
|
|
D.head.screen_loc = ui_drone_head
|
|
D.client.screen += D.head
|
|
else
|
|
if(D.internal_storage)
|
|
D.internal_storage.screen_loc = null
|
|
if(D.head)
|
|
D.head.screen_loc = null
|
|
|
|
if(hud_version != HUD_STYLE_NOHUD)
|
|
if(D.r_hand)
|
|
D.r_hand.screen_loc = ui_rhand
|
|
D.client.screen += D.r_hand
|
|
if(D.l_hand)
|
|
D.l_hand.screen_loc = ui_lhand
|
|
D.client.screen += D.l_hand
|
|
else
|
|
if(D.r_hand)
|
|
D.r_hand.screen_loc = null
|
|
if(D.l_hand)
|
|
D.l_hand.screen_loc = null
|
|
|
|
/mob/living/simple_animal/drone/create_mob_hud()
|
|
if(client && !hud_used)
|
|
hud_used = new /datum/hud/drone(src, ui_style2icon(client.prefs.UI_style))
|