Ports the Power Transmission Laser (#26928)

* wip

* some formatting and copying over UI

* it compiles now

* oops

* Moves WATT_TICK_TO_JOULE to the power defines file. fixes UI

* spelling and announcement fixes

* Handle offsets for different directions

* laser comes from the correct tile now

* Added north and south sprites for the laser

* Adjust offsets for north and south sprites

* finished all north and south sprites

* tgui rebuild. Also sprites and code begoon

* Rebuild TGUI

* put PTLs in maps

* Repositions PTL room door in cyberiad

* fix if spacing

* undef and unundeffed define

* Removed overlapping stuff in some maps

* Actually makes the changes to metastation

* Fixes more mapping stuff

* Fix more unit test failures

* unmirror multitile component grid

* Fixes multitile

* explosions no longer make a hole in the beam

* This should fix it

* Stray pipe begone!

* Ok I think I fiigured it out

* Rebuild Tgui

* removes redundant removals of components parts and a redundant check. various style fixes

* Adds blocking to the beam and objects other than living beings take damage now.

* not using kwargs now. should work.

* Style changes and fixes some mobs getting hit by the laser that shouldn't be.

* Review changes and fixes trying to access wall turf's location.

* allow the new wall turf to form to we can properly access it.

* Moves the ptl beam effect to an atom proc that is overriden by the different types of things that can end up in the beam.

* Fixes some comments, adds clarifications, removes redundant usage of src

* moves the announcement threshold to a global var. Fixes ghost interaction.

* Revert "moves the announcement threshold to a global var. Fixes ghost interaction."

This reverts commit 7916ee76a1.

* Makes announcement threshold a static variable of the PTL

* power safty check on the mob ptl function

* Rebuild TGUI
This commit is contained in:
Migratingcocofruit
2024-10-22 09:20:19 +00:00
committed by GitHub
parent 29409d3821
commit 592b7c3ec3
26 changed files with 3453 additions and 1027 deletions
+15
View File
@@ -1180,3 +1180,18 @@
/// Can a mob interact with the apc remotely like a pulse demon, cyborg, or AI?
/mob/living/proc/can_remote_apc_interface(obj/machinery/power/apc/ourapc)
return FALSE
/mob/living/ptl_beam_act(obj/machinery/power/transmission_laser/ptl)
var/mw_power = max((ptl.output_number * ptl.power_format_multi_output) / (1 MW), 0)
switch(mw_power)
if(0 to 25)
adjustFireLoss(-mw_power * 15)
adjust_fire_stacks(mw_power)
if(26 to 50)
gib(FALSE)
else
explosion(src, 3, 2, 2)
gib(FALSE)
if(ptl.blocker && (ptl.blocker.UID() == src.UID())) // If this is the blocker we need to check if it was destroyed
ptl.check_blocker()