Files
Bubberstation/code/modules/bitrunning/objects/host_monitor.dm
Jeremiah 235ebba7e0 Bitrunning hotfix 3 (#78818)
## About The Pull Request
The next round of small changes to how bitrunning works - mostly from
feedback, bug reports etc.

- The loot crate delivery spot is now a buildable machine (the
byteforge), making it replaceable in the event of a disaster
- Same for netpods and quantum consoles. These boards are now
researchable and buildable.
- New icons for the byteforge and the health monitor
- Some bug fixes around despawning avatars
- Reimplements one of the bitrunning unit tests

<details>
<summary>Pictures ⬇️</summary>

Host monitor

![hostmon](https://github.com/tgstation/tgstation/assets/42397676/dc6811bc-7ce9-4eae-a91b-96975bd13c65)

Byteforge

![dreamseeker_LewhZG8bEl](https://github.com/tgstation/tgstation/assets/42397676/3071bc5f-b2c1-47d5-8a56-b0e6c216be20)

Spawning a crate

![dreamseeker_mHGSfoeMu5](https://github.com/tgstation/tgstation/assets/42397676/d5f84e91-b9bc-4bb8-8f1c-f8931154ff6d)
</details>

## Why It's Good For The Game
Bitrunning bug fixes and personal requests
Fixes #78571 
Fixes an issue reported in discord - players stuck as gondola spawn

## Changelog
🆑
fix: Added extra checks to bitrunning domain cleanup so avatars are
deleted properly.
add: Quantum servers now look for a new machine called a byteforge to
spawn loot on- no longer on an invisible landmark. This should make the
rooms rebuildable after disasters.
add: *Most* bitrunning machinery is now researchable and buildable via
circuits in the engineering protolathe.
/🆑
2023-10-09 00:26:16 -04:00

34 lines
1.1 KiB
Plaintext

/obj/item/bitrunning_host_monitor
name = "host monitor"
custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2)
desc = "A complex electronic that will analyze the connection health between host and avatar."
flags_1 = CONDUCT_1
icon = 'icons/obj/device.dmi'
icon_state = "host_monitor"
inhand_icon_state = "electronic"
item_flags = NOBLUDGEON
lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi'
slot_flags = ITEM_SLOT_BELT
throw_range = 7
throw_speed = 3
throwforce = 3
w_class = WEIGHT_CLASS_TINY
worn_icon_state = "electronic"
/obj/item/bitrunning_host_monitor/attack_self(mob/user, modifiers)
. = ..()
var/datum/component/avatar_connection/connection = user.GetComponent(/datum/component/avatar_connection)
if(isnull(connection))
balloon_alert(user, "data not recognized")
return
var/mob/living/pilot = connection.old_body_ref?.resolve()
if(isnull(pilot))
balloon_alert(user, "host not recognized")
return
to_chat(user, span_notice("Current host health: [pilot.health / pilot.maxHealth * 100]%"))