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

Adds the "Gregarious Impetus" effect #13202

Merged
merged 12 commits into from
Jan 5, 2017

Conversation

despotate
Copy link
Contributor

@despotate despotate commented Dec 31, 2016

Feel free to recommend changes, especially about what stage this effect should be in. Personally I think it should be in stage 4 as it is the longest stage and this effect has serious drawbacks and rewards, and should come at the time when people are in maximum panic mode and beginning to quarantine themselves to try to reverse that trend.

All untested of course Tested in-game as human with spawned humans, just werks

🆑

  • rscadd: Adds "Gregarious Impetus", a new stage 4 virus effect. It punishes you for not having enough people near you and rewards you when you do have enough people near you. The amount of people that must be near you increases over time if you are being rewarded and decreases if you are being punished. Alkysine works to counteract some of the punishment if you choose to be a hermit anyway.

if (multiplier < 5)
multiplier += 0.1
mob.reagents.add_reagent(PARACETAMOL, multiplier) // The hug chemical
if (multiplier < 4)
Copy link

@ghost ghost Dec 31, 2016

Choose a reason for hiding this comment

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

So, should you strike lucky and get the magic maximum multiplier, this will never tick down?

Also, you might as well have this as max_multiplier rather than 4

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It ticks up though. If you're surrounded with people the virus gets greedier and demands more of them, if you have no one around you the virus tempers expectations and demands less of them.

If you have the max multiplier it'll never tick up as the virus can only get so greedy, but if you get any less than 4 people around you the multiplier ticks down.

@Probe1 Probe1 added the Content Adds something. Neat! label Dec 31, 2016
@Shadowmech88
Copy link
Contributor

What's the reward/punishment?

@ghost
Copy link

ghost commented Jan 1, 2017

Seems to be a self-maintaining virus, and it's pretty good.

The host is punished for being away from humans that aren't infected, but the punishment is forsaken if they go to other humans and infect them.

This is really nice work. It's self perpetuating

@despotate
Copy link
Contributor Author

despotate commented Jan 1, 2017

@Shadowmech88, the code's a pretty short read. But it basically knocks you down and causes brain damage for being away from others, while giving you the hug chemical and curing brain damage if you have enough others around you. All of these effects are scaled to multiplier, so if the virus wants 5 people around you it's gonna knock you down much harder than if it wants only 1 person.

@icantthinkofanameritenow
Copy link
Contributor

But it still leaves you free to disobey it in theory. Perhaps it should have either greater rewards (since paracetamol doesn't actually do much) or harsher punishments.

@despotate
Copy link
Contributor Author

despotate commented Jan 1, 2017

Do you really want to constantly get knocked down and take brain damage / constantly have to take alkysine? What would your idea of a harsher punishment or better reward be?

@icantthinkofanameritenow
Copy link
Contributor

icantthinkofanameritenow commented Jan 1, 2017

Well, a better punishment would be taking direct but temporary damage proportional to the number of people you need to be around. Not enough to kill, but enough to keep people who recognize the symptom from secluding themselves anyway- but damage that cannot be healed away just by stocking up on meds. If I were a powergamer and saw those messages, I'd just get a buttload of alkysine and pop a pill whenever I got the message, thus making the "punishment" insignificant.

As for rewards...well, perhaps something more directly useful, like tricordrazine or a temporary damage resistance. Literally anything is better than paracetamol.

@despotate
Copy link
Contributor Author

despotate commented Jan 1, 2017

Isn't the company of others and good cheer enough reward?

I'll see if I can find some way of damaging the player that isn't counteractable by pills - preferably something that isn't just "add x damage type / y reagent to system".

@Shadowmech88
Copy link
Contributor

Clone damage isn't fixable by any meds except rezadone, which is uncommon.
However it also causes problems like not being able to walk or use your hands.

@icantthinkofanameritenow
Copy link
Contributor

icantthinkofanameritenow commented Jan 1, 2017

@despotate
On any other server, yes. But we're all autists here, death before interaction is the norm. So if they won't do the latter, you gotta give them the former. Besides, stage 4 is when the most debilitating symptoms come in so this has to be equally undesirable.

@Shadowmech88
Or cryo, though by definition that requires other people which would theoretically be infected. And if you refuse to do it anyway, you'd be functionally incapacitated. Plus, one of the earlier symptoms is brain damage, so using brain damage again as a punishment is redundant.

Using progressively higher levels of clone damage would be perfect as a punishment. Theoretically one could make rezadone to reverse it without cryo...but you need to find space carp first and not get killed by them in the process.

@despotate
Copy link
Contributor Author

Suggestions implemented.

@icantthinkofanameritenow
Copy link
Contributor

It's going to need more than that. Reverse Pattern Syndrome does 10 clone damage per symptom emergence, it needs to be at least that if not higher to really get people to pay attention. Also, as I said paracetamol is an abysmal "reward"- you may as well give them water because it has just as much of an effect on people.

else
to_chat(mob, "<span class='warning'>A hostile sensation in your brain stings you... it wants more of the living near you.</span>")
mob.adjustBrainLoss(multiplier / 5)
mob.adjustCloneLoss(multiplier / 5)
Copy link
Contributor

Choose a reason for hiding this comment

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

Much too low. See Reverse Pattern Syndrome as a base value, and at high levels it should be enough to crit or kill outright.

mob.adjustBrainLoss(-multiplier)
mob.reagents.add_reagent(PARACETAMOL, multiplier) // The hug chemical
mob.adjustCloneLoss(-multiplier / 5)
mob.reagents.add_reagent(PARACETAMOL, multiplier) // The hug chemical for memes
Copy link
Contributor

Choose a reason for hiding this comment

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

Worthless. Not enough of a reward to justify following its need. Use something far more potent.

@despotate
Copy link
Contributor Author

despotate commented Jan 1, 2017

I think I'll go with lowering one's body temperature as a punishment instead - fits with the theme of loneliness and not being warmed by others. I'll rework the messages to make them seem to come from one's own mind too. fuck symbolism let's crank the clone damage into overdrive

if (others_count >= multiplier)
to_chat(mob, "<span class='notice'>A friendly sensation is satisfied with how many are near you - for now.</span>")
mob.adjustCloneLoss(-multiplier * 2)
mob.reagents.add_reagent(PARACETAMOL, multiplier) // The hug chemical for memes
Copy link
Contributor

Choose a reason for hiding this comment

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

I still think you should replace this with something better. Is there nothing else you think would be a better reward?

Copy link
Contributor Author

@despotate despotate Jan 1, 2017

Choose a reason for hiding this comment

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

Nope. Feel free to come up with a different reagent to use. Bonus points for being thematic.

I just don't want to go for the obvious powergame crap like tricordrazine or doctor's delight.

Copy link
Contributor

Choose a reason for hiding this comment

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

How about Tramadol? Its painkilling effects are potent enough to notice without being powergamer-exploitable. Oxycodone might be even better, since it conveniently happens to be difficult to make and is also addictive. Which means you have to be around people more to get your fix.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Very good idea, thanks.

@Probe1
Copy link
Member

Probe1 commented Jan 1, 2017

quite literally "when you code it"

// Under normal conditions, the percentage chance per tick to activate.
var/max_chance = 50
// Under normal conditions, the percentage chance per tick to activate.
var/max_chance = 6
Copy link

Choose a reason for hiding this comment

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

This seems like a bit of a balance change, making it a maximum chance of 6% per tick rather than 50%?

It'd make all random event viruses comparatively benign to what they are right now

Copy link
Contributor Author

@despotate despotate Jan 1, 2017

Choose a reason for hiding this comment

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

This was already merged into the repo I'm just trying to resolve merge conflicts and it won't work AAAAAAAAAAAAAAAAA (also max_chance was never used in the first place, someone hardcapped it to 6 at effect creation and its only use was in minormutate which pretty much never happened)

@ghost
Copy link

ghost commented Jan 1, 2017

Cloneloss is a quick trip down paincrit avenue, quicker than burn IIRC, so you've just upped this from a nuisance to a potential round ender, even if the benefits offset this through oxycodone and fixing said cloneloss

Maybe have the cloneloss locked behind a certain multiplier level?

@despotate
Copy link
Contributor Author

despotate commented Jan 1, 2017

Won't work because multiplier goes DOWN if you're not around anyone so if you start at a low multiplier you'll just avoid everyone so you don't get paincritted

look I"m just gonna change it back to brain loss, cynical or not, we need more "neutral" stage 4 effects and the main method of damage of this effect is quickly spreading the virus. forcing everyone to take alkysine is enough of a punishment (if the constant tripping isn't), and actually a fun strategy that makes virology more useful by organizing pills and shit for various effects if we keep adding more that have hard counters.

// Under normal conditions, the percentage chance per tick to activate.
var/max_chance = 6
// Under normal conditions, the percentage chance per tick to activate.
var/max_chance = 6
Copy link

@ghost ghost Jan 1, 2017

Choose a reason for hiding this comment

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

???

Current one is still 50, why's this changed to 6 and why is it not showing in the files changed anymore?

Unless it was nerfed in another PR recently?

Nevermind, found it #13182

@despotate despotate mentioned this pull request Jan 4, 2017
@Probe1 Probe1 added the Update WIKI Update the wiki at some point please. label Jan 5, 2017
@Probe1
Copy link
Member

Probe1 commented Jan 5, 2017

@despotate update wiki

@despotate
Copy link
Contributor Author

@Probe1 merge PR

@Probe1 Probe1 merged commit 56cbfd2 into vgstation-coders:Bleeding-Edge Jan 5, 2017
@Probe1 Probe1 removed the Update WIKI Update the wiki at some point please. label Mar 21, 2017
ihadtoregisterforthis pushed a commit to ihadtoregisterforthis/fork4 that referenced this pull request Jul 3, 2017
* adds gregarious impetus effect

* further alterations to prevent this effect being alkysine'd

* make the knockdown an actual knockdown

* better flavor text

* extended airborne range to be fairer

* balance changes and multiplier bugfix

* max_multiplier

* CLONE DAMAGE

* fuck symbolism

* merge conflicts resolved WHEN

* back to brainloss it is
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Content Adds something. Neat!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants