Files
Paradise/code/__DEFINES/power_defines.dm
Migratingcocofruit 7aeb1744df 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>
2024-11-25 16:37:03 +00:00

52 lines
1.7 KiB
Plaintext

/// Power Channel for equipment power users
#define PW_CHANNEL_EQUIPMENT 1
/// Power chanel for lighting power users
#define PW_CHANNEL_LIGHTING 2
/// Power channel for environmental power users
#define PW_CHANNEL_ENVIRONMENT 3
/// Local powernet in this area will never be powered, even if its recieving power
#define PW_ALWAYS_UNPOWERED (1 << 0)
/// Local powernet in this area will always have power even if its not recieving power
#define PW_ALWAYS_POWERED (1 << 1)
/// roughly 1/2000 chance of a machine flickering on any given tick. That means in a two hour round each machine will flicker on average a little less than two times.
#define MACHINE_FLICKER_CHANCE 0.05
// bitflags for machine stat variable
/// Machine is broken
#define BROKEN (1 << 0)
/// Machine is not recieving any power from the local powernet
#define NOPOWER (1 << 1)
/// machine is currently under maintenance
#define MAINT (1 << 2)
/// Machine is currently affected by EMP pulse
#define EMPED (1 << 3)
//Power use
/// This machine is not currently consuming any power passively
#define NO_POWER_USE 0
/// This machine is consuming its idle power amount passively
#define IDLE_POWER_USE 1
/// This machine is consuming its active power amount passively
#define ACTIVE_POWER_USE 2
//APC charging
/// APC is not recieving power
#define APC_NOT_CHARGING 0
/// APC is currently recieving power and storing it
#define APC_IS_CHARGING 1
/// APC battery is at 100%
#define APC_FULLY_CHARGED 2
#define KW * 1e3
#define MW * 1e6
#define GW * 1e9
#define KJ * 1e3
#define MJ * 1e6
#define GJ * 1e9
/// Conversion ratio from Watt over a machine process tick time to Joules
#define WATT_TICK_TO_JOULE 2