Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[READY]Circuit balance #35931

Merged
merged 12 commits into from Mar 2, 2018

Conversation

arsserpentarium
Copy link
Contributor

@arsserpentarium arsserpentarium commented Feb 23, 2018

🆑 Selea
balance:custom ticker
balance:Implement external manipulation cooldown(0.1 s).so you can stack throwers for faster fire.But they can't fire all at once.
balance:ability to beat the crap out from drones with bat on harm intent
balance: reduce CD of all non manipulative non list output circuits to 0.1
balance: add to locomotion circuit output ref with object, which assembly was bumped to.
balance: upgrade disks have multiuse.
balance:iducer efficiency= efficiency/number of inducers on 1 tile.
balance: unnerf fuel cell.about 3-5 times.Make blood more powerful.
/:cl:
Sorry, fast locomotion and powernet interaction not this time probably.

@tgstation-server tgstation-server added Balance Changes to functionality that modifies how effective certain methods are at powergaming Feature Exposes new bugs in interesting ways Tweak labels Feb 23, 2018
@epochayur
Copy link
Contributor

balance: ability to beat the crap out from drones with bat on harm intent

491c7d253acf90ca0c9ad17f65eb3998

@ghost
Copy link

ghost commented Feb 23, 2018

iducer efficiency= efficiency/number of inducers on 1 tile.

If I'm right, this would cause any amount of inducers to be equal in power to just one inducer, right? Since 3 inducers would have a power transmission rate of 0.33 of the normal, it'd equal out to just one. I feel like this is a strange way of doing it, especially since there's no indicator in description or otherwise about how it works.

One idea would be to limit the amount of transmission circuits possible in one assembly to the assembly's weight class minus one (so small = 1 inducers, normal = 2 inducers, bulky = 3; should be easy to check with just w_class - 1) so that they can still be used effectively without nerfing them into uselessness. Or maybe give them a shared cooldown? I'm not really sure.

@arsserpentarium
Copy link
Contributor Author

arsserpentarium commented Feb 23, 2018

@Xhuis Inducer is very far from being useless. I've never used more than one in one assembly.They have huge transmission rate. Barely you able to overfeed one inducer without stack of fuel cells.
But stack them on one tile now not veru useful.But I can change loss formula if you will suggest good alternative.

@evsey9
Copy link
Contributor

evsey9 commented Feb 23, 2018

fun removal

@arsserpentarium
Copy link
Contributor Author

@evsey9 oh, come on!Why you calls fast brains fun removal?
also, you still can make holy shit how robust throwerdrone.it is still 10 hatchets/sec.Just in queue.

@evsey9
Copy link
Contributor

evsey9 commented Feb 23, 2018

nah i was just kidding, the CD decrease on other things is pretty neat

@silicons
Copy link
Contributor

silicons commented Feb 24, 2018

cd limit on throwing shouldnt' be taht low why should a bot be able to throw 10 things a second when everything is balanced around attack delays and why can it throw itself with the same module?
should be 0.3 atleast.

@arsserpentarium
Copy link
Contributor Author

@kevinz000 You should count it like assembly cooldown.You mean , that assembly should't move or 0.3 sec at least after throw.I implemented it to avoid both instant locomotion and throwing.But to avoid instant actions.It haven't more goals.

@silicons
Copy link
Contributor

more concerned with throwing being too rapid due to it allowing instant kills.

@arsserpentarium
Copy link
Contributor Author

Well,now it isn't instant.

@evsey9
Copy link
Contributor

evsey9 commented Feb 24, 2018

@kevinz000 you can make your own PR after that to do that if you want to, this at least makes it somewhat better

@arsserpentarium
Copy link
Contributor Author

But you shouldn't, because external cooldown mechanic is works good mostly to prevent instant actions. But will be to clunky to use with different cooldowns.I've tryed.

@JStheguy
Copy link
Contributor

JStheguy commented Feb 25, 2018

balance: reduce CD of all non manipulative non list output circuits to 0.1

did i die and go to space heaven

@arsserpentarium
Copy link
Contributor Author

@JStheguy even if so, you'll be cloned soon.

@arsserpentarium arsserpentarium changed the title Circuit balance [READY]Circuit balance Feb 26, 2018
@tgstation-server tgstation-server added Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts Needs Review labels Feb 26, 2018
@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Feb 26, 2018
@optimumtact optimumtact removed Feature Exposes new bugs in interesting ways Tweak labels Feb 26, 2018
@@ -527,7 +527,8 @@ Turf and target are separate in case you want to teleport some distance from a t
//Byond does not allow things to be in multiple contents, or double parent-child hierarchies, so only += is needed
//This is also why we don't need to check against assembled as we go along
processing_list += A.contents
assembled += A
if(!T || istype(A,T))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a fairly performance-sensitive proc so I recommend making a different version like GetAllContentsOfType or something, alternatively put your if before the while and have a different loop based on whether you're looking for specific types only or not.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok


/obj/item/integrated_circuit/passive/power/chemical_cell/New()
..()
create_reagents(volume)
var/p = text2path("/datum/config_entry/flag/disable_human_mood")
Copy link
Member

@AnturK AnturK Feb 27, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are you trying to do here ? Why is this path a string and why are you not using the common config helpers?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because there is no such flag in game yet.So it is error safe version of flag check.

/obj/item/integrated_circuit/time/ticker/custom/on_data_written()
var/delay_input = get_pin_data(IC_INPUT, 2)
if(delay_input && isnum(delay_input) )
var/new_delay = CLAMP(delay_input ,1 ,36000) //An hour.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like the delay above, you can write this as var/new_delay = CLAMP(delay_input ,1 ,1 HOURS) to be explicit and skip the comment

@vuonojenmustaturska vuonojenmustaturska merged commit 09051dd into tgstation:master Mar 2, 2018
ghost referenced this pull request in HippieStation/HippieStationdeprecated2020 Mar 2, 2018
* cooldowns, power cell,disks

* NUMBERS NUMBERS NUMBERS

* 1 8 9

* PR PR PR

* DESC DESCDSCDCC

* <br>

* GET ALL CONTENTS

* Update power.dm

* Update power.dm

* Update time.dm
@arsserpentarium arsserpentarium deleted the circuit_balance branch March 3, 2018 00:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Changes to functionality that modifies how effective certain methods are at powergaming
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants