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
+4
View File
@@ -213,3 +213,7 @@
// Readd to ourselves
attached_to.vis_contents |= src
/// The PTL beam shouldn't affect effects
/obj/effect/ptl_beam_act(obj/machinery/power/transmission_laser/ptl)
return
+7
View File
@@ -296,3 +296,10 @@
return O.return_obj_air()
else
return null
/// Objects take damage equal to the amount of megawatts being output by the beam.
/obj/ptl_beam_act(obj/machinery/power/transmission_laser/ptl)
var/mw_power = (ptl.output_number * ptl.power_format_multi_output) / (1 MW)
take_damage(mw_power)
if(ptl.blocker && (ptl.blocker.UID() == UID())) // If this is the blocker we need to check if it was destroyed
ptl.check_blocker()
+4
View File
@@ -495,6 +495,10 @@
/obj/structure/window/GetExplosionBlock()
return reinf && fulltile ? real_explosion_block : 0
/// The beam goes through windows without damaging them
/obj/structure/window/ptl_beam_act(obj/machinery/power/transmission_laser/ptl)
return
/obj/structure/window/basic
desc = "It looks thin and flimsy. A few knocks with... anything, really should shatter it."