tgstation / tgstation

The /tg/station branch of SS13.
https://www.tgstation13.org/
GNU Affero General Public License v3.0
1.72k stars 4.74k forks source link

Ethereal's cannot feed from APC's #86985

Open GarryRomaniev13 opened 3 weeks ago

GarryRomaniev13 commented 3 weeks ago

Client Version:

515.1643

Issue Summary:

When tried to feed from an APC, it simply doesn't work. According to Ian0 it is caused because APC's have 10 million power and ethereals only have maximum 20.000. So game automaticaly sees it "too much for the ethereal to consume".

Round ID:

239440

Test Merge Information:

Reproduction Steps:

Go to any charged APC as an ethereal Try to charge your energy Observe how it responds and doesn't work.

Sadboysuss commented 3 weeks ago

supposedly this pr fixed it: https://github.com/tgstation/tgstation/pull/86910

GarryRomaniev13 commented 3 weeks ago

It didn't fixed. Still doesn't work.

00-Steven commented 3 weeks ago

seems this is because the define for the ethereal apc drain/charge uses STANDARD_BATTERY_CHARGE: https://github.com/tgstation/tgstation/blob/5529ee679d63500b3655f67aff22da375fdddc09/code/modules/power/apc/apc_attack.dm#L4-L5 while the ethereal charge values use STANDARD_CELL_CHARGE: https://github.com/tgstation/tgstation/blob/5529ee679d63500b3655f67aff22da375fdddc09/code/__DEFINES/mobs.dm#L294-L301 which is 100x as small: https://github.com/tgstation/tgstation/blob/5529ee679d63500b3655f67aff22da375fdddc09/code/__DEFINES/power.dm#L29-L30

Swapping STANDARD_BATTERY_CHARGE for STANDARD_CELL_CHARGE fixes this and allows ethereals to drain/charge APCs again! But then there's the issue that they do not make even a dent in the charge levels in either direction with the current ethereal charge levels versus APC megacell charge levels, as a single roundstart APC would take almost 100x the maximum charge an ethereal can even have.

00-Steven commented 3 weeks ago

cc @SyncIt21

SyncIt21 commented 3 weeks ago

Ethereals need to be scaled up to use batteries as a whole to have an effect on APCs but that would turn into an balance PR.

00-Steven commented 3 weeks ago

arguably yes, though currently it just doesn't work at all as per the aforementioned bits- poked you cause it seems it was your pr that tried to fix it but introduced this bug

SyncIt21 commented 3 weeks ago

arguably yes, though currently it just doesn't work at all as per the aforementioned bits- poked you cause it seems it was your pr that tried to fix it but introduced this bug

Yeah I didn't understand all the moving parts of ethereals when I made that PR, so thank you for notifying me.

Anyone interested in making a balance PR for this I'll let them to it

KingkumaArt commented 1 week ago

https://github.com/tgstation/tgstation/pull/87231