Power laser port 2 electric bogaloo (#27171)

* 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

* 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

* 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

* well alright then

* Revert "well alright then"

This reverts commit a8c0b68205.

* Fixes ghost attack

* Sends credits to accounts 200 at a time to avoid spam.

* fix box station stuff

* fix the first announcement message

* fix the laser healing burn damage.

* Only round the earnings being sent so we don't delete credits.

* Give the high and medium cut ratios defines

* Fix and adjust some comments

* Uses the correct variable for the beam effects and fixes things being thrown while deleted

* Actually fixes qdeleted thing being thrown around error

* Fix the examine text

* Prevents grills from blocking the beam.

* Remove get_back_turf

* Make a blocker a UID instead of a ref

* limits capacity to 2000GJ

* replaces knobs with a number input

* Adds cameras to the rooms and a disposals bypass for faragus

* disallows pipes from being damaged by the beam

* Gives the PTL directional variants for mapping

* Allows deconstruction and reconstruction of the PTL as well as rotating it

* Removes a redundant newline

* Removes all damaging effects of the beam and it's blocking abilities

* Finishes the job

* Remove the disposals bypass on faragus since the beam is truly visual now

* implements orbital beaming of megafauna near the base. Still need to fix the overlay

* Dusts lavaland mobs when they are killed by the laser and disabled loot drops when damaged by it.

* Add some minor hazards to the PTL

* Fix the hazards

* Improves PTL rooms

* Fix some misplaced pipes and cables

* connect the disconnected pipes and cables in faragus

* minor map fixes

* more fixes and integrating faragus room a bit more

* correct the flash reduction to apply when not looking directly at the laser

* reduces the distance coefficient on the rads pulse

* Delta changes that apparently weren't committed earlier

* I think faragus is finally fixed.

* more mapping improvements

* fix wrong cable on faragus apc terminal

* moves the HV cable for the laser so it follows the station's outline more closely

* fixes cables converging

* Routes the cable along the existing catwalks instead of additional ones in farragus

* adds missing cable in faragus

* rebuild tgui

* Faragus mapping changes

* Delta Changes

* Diagoras changes

* Meta changes

* Cyberiad changes and placing a catwalk near the PTL for power measurements

* Faragus review changes

* Rebuild  TGUI

* Rebuild TGUI

* tgui rebuild

* Rebuild TGUI

* Rebuild TGUI

* Rebuild TGUI

* Changes the announcement sound from the one used for command comms announcement to the one used by most other announcement.

* Rebuild TGUI

* rebuild TGUI

* Move button contents to child

* Using the correct acronym for the power transmission laser in the interface name.

* Rebuild TGUI

* change the folder name as well

* TGUI rebuild

* Remove a redundant space from the first announcement message

* Adds a door to the PTL room on Diagoras

* Lowers the amount of money generated to less absurd amounts.

* another adjustment

* Fixes some walls in maints being in the space area

* fixes divide by 0 runtime

* prevents trying to read the icon of a null target

* Makes power line on diagoras less jank and fixes flashes on lasers pointing west

* Fixes the PTL being charged over it's capacity

* Makes the flash modifier angle based.

* adds an explanation of flashmod

* Adjusting curve so less powerful engines are better rewarded

* Changes the grid saturation to be based on input rather than output.

* Removes the PTL announcements and adds total energy sold to the UI

* Adds the amount of energy exported(in GJ) to the end of round score card

* Credit cap nerf

* Review changes

* missing space

* Revert "Merge branch 'master' into powerLaserPort"

This reverts commit fe4a08f08c, reversing
changes made to bef963c89d.

* Reapply "Merge branch 'master' into powerLaserPort"

This reverts commit c990d93bc4.

* Fixes all the wrong path issues from the merge

* actually resolve the merge conflicts that somehow got automerged

* Should be all the duplicates

* Rest of the duplicates I missed

* remove lonely pipe and cable in faragus

* some more uncaught duplicates

---------

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
Migratingcocofruit
2024-11-25 16:37:03 +00:00
committed by GitHub
co-authored by Burzah
parent 09830b2ce8
commit 7aeb1744df
33 changed files with 7532 additions and 3533 deletions
@@ -26,7 +26,8 @@
var/atom/movable/thing = I.remove(src)
if(thing)
thing.forceMove(get_turf(src))
thing.throw_at(get_edge_target_turf(src, pick(GLOB.alldirs)), rand(1, 3), 5)
if(!QDELETED(thing)) // This is in case moving to the turf deletes the atom.
thing.throw_at(get_edge_target_turf(src, pick(GLOB.alldirs)), rand(1, 3), 5)
flick("gibbed-a", animation)
xgibs(loc)
@@ -14,12 +14,14 @@
var/atom/movable/thing = I.remove(src)
if(thing)
thing.forceMove(get_turf(src))
thing.throw_at(get_edge_target_turf(src, pick(GLOB.alldirs)), rand(1, 3), 5)
if(!QDELETED(thing)) // This is in case moving to the turf deletes the atom.
thing.throw_at(get_edge_target_turf(src, pick(GLOB.alldirs)), rand(1, 3), 5)
for(var/obj/item/I in get_equipped_items(include_pockets = TRUE))
unEquip(I, TRUE)
I.forceMove(get_turf(src))
I.throw_at(get_edge_target_turf(src, pick(GLOB.alldirs)), rand(1, 3), 5)
if(!QDELETED(I)) // This is in case moving to the turf deletes the atom.
I.throw_at(get_edge_target_turf(src, pick(GLOB.alldirs)), rand(1, 3), 5)
for(var/obj/item/organ/external/E in bodyparts)
if(istype(E, /obj/item/organ/external/chest))
+1
View File
@@ -1188,3 +1188,4 @@
/// 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
@@ -47,6 +47,7 @@
/mob/living/simple_animal/hostile/megafauna/Initialize(mapload)
. = ..()
GLOB.alive_megafauna_list |= UID()
if(internal_gps && true_spawn)
internal_gps = new internal_gps(src)
for(var/action_type in attack_action_types)
@@ -57,6 +58,7 @@
/mob/living/simple_animal/hostile/megafauna/Destroy()
QDEL_NULL(internal_gps)
UnregisterSignal(src, COMSIG_HOSTILE_FOUND_TARGET)
GLOB.alive_megafauna_list -= UID()
return ..()
/mob/living/simple_animal/hostile/megafauna/Moved()
@@ -75,6 +77,7 @@
return ..() && health <= 0
/mob/living/simple_animal/hostile/megafauna/death(gibbed)
GLOB.alive_megafauna_list -= UID()
// this happens before the parent call because `del_on_death` may be set
if(can_die() && !admin_spawned)
var/datum/status_effect/crusher_damage/C = has_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING)