Paradise Pop Effects (#5075)

* Paradise Pop Effects

Adds effects to the recently added Paradise Pop reagents.
- This was not included in the initial PR since it affects balance and
shouldn't hold up the base system which does not affect balance.

Effects by reagent:
- Paradise Punch: no effect, purely a flavor drink
- Apple-pocalypse: Very small chance to suck nearby objects towards the
drinker each life tick (weak version of the liquid dark matter effect)
- Berry Banned:
- Good version: Low chance to heal a tiny amount of a RANDOM damage type
each cycle (less than omnizine, as well as less reliable)
- Bad version: 50% chance to inflict toxin damage each cycle (same
strength as the basic toxin reagent, but less frequent), BWOINKS the
victim if they die with it in their system (more on this later)
- Blackeye Brew: Low chance to make the drinker shout a random bit of
"tider talk" each cycle. Will make you sound like an idiot.
- Grape Granade: Low chance of making you burp, even lower chance of
causing nearby objects to fly away from you (weaker version of sorium
effect, same chance as the apple-pocalypse pull)
- Meteor Malt: Low chance to cause a screen shake and sound for only the
drinker as if a meteor hit nearby, as well as a lower chance for a small
amount (1-5 units) of a randomly selected mineral to appear in their
bloodstream (mostly harmless, though there is a chance for it to be
plasma)

CODER FUNTIME:
Adds support for death-triggered chem effects.
- Currently used only by the poisonous Berry Banned, this can be used in
the future to have chems that could transform dead bodies into swarms of
spiders, insta-borg a body, or even possibly revive a person the instant
they die.

🆑
rscadd: Adds effects to the Paradise Pop reagents. Drink them all to
unlock their powers!
/🆑

* why do you always wait until after i commit multiple times to point out something that has been in there since the first commit?
This commit is contained in:
FalseIncarnate
2016-07-18 19:00:49 -04:00
committed by Fox McCloud
parent 88a967990b
commit 299d52e016
4 changed files with 92 additions and 0 deletions
+4
View File
@@ -2,4 +2,8 @@
losebreath = 0
med_hud_set_health()
med_hud_set_status()
if(reagents)
reagents.death_metabolize(src)
..(gibbed)
@@ -84,6 +84,18 @@
addiction_list.Remove(R)
update_total()
/datum/reagents/proc/death_metabolize(mob/living/M)
if(!M)
return
if(M.stat != DEAD) //what part of DEATH_metabolize don't you get?
return
for(var/A in reagent_list)
var/datum/reagent/R = A
if(!istype(R))
continue
if(M && R)
R.on_mob_death(M)
/datum/reagents/proc/overdose_list()
var/od_chems[0]
for(var/datum/reagent/R in reagent_list)
@@ -25,6 +25,13 @@
reagent_state = LIQUID
color = "#44FF44"
/datum/reagent/apple_pocalypse/on_mob_life(mob/living/M)
if(prob(1))
var/turf/simulated/T = get_turf(M)
goonchem_vortex(T, 0, 2, 1)
to_chat(M, "<span class='notice'>You briefly feel super-massive, like a black hole. Probably just your imagination...</span>")
..()
//Berry Banned: This one is tasty and safe to drink, might have a low chance of healing a random damage type?
/datum/reagent/berry_banned
name = "Berry Banned"
@@ -33,6 +40,25 @@
reagent_state = LIQUID
color = "#FF44FF"
/datum/reagent/berry_banned/on_mob_life(mob/living/M)
if(prob(10))
var/heal_type = rand(0, 5) //still prefer the string version
switch(heal_type)
if(0)
M.adjustBruteLoss(-0.5*REM)
if(1)
M.adjustFireLoss(-0.5*REM)
if(2)
M.adjustToxLoss(-0.5*REM)
if(3)
M.adjustOxyLoss(-0.5*REM)
if(4)
M.adjustCloneLoss(-0.5*REM)
if(5)
M.adjustBrainLoss(-1*REM)
to_chat(M, "<span class='notice'>You feel slightly rejuvinated!</span>")
..()
//Berry Banned 2: This one is tasty and toxic. Deals toxin damage and MAYBE plays the "BWOINK!" sound if it kills someone?
/datum/reagent/berry_banned2
name = "Berry Banned"
@@ -41,6 +67,18 @@
reagent_state = LIQUID
color = "#FF44FF"
/datum/reagent/berry_banned2/on_mob_life(mob/living/M)
if(prob(50))
M.adjustToxLoss(2*REM) //double strength of poison berry juice alone, because it's concentrated (this is equal to the damage of normal toxin, less often)
if(prob(10))
to_chat(M, "<span class='notice'>You feel slightly rejuvinated!</span>") //meta this!
..()
/datum/reagent/berry_banned2/on_mob_death(mob/living/M)
M << sound('sound/effects/adminhelp.ogg',0,1,0,25)
to_chat(M, "<span class='adminhelp'>PM from-<b>Administrator</b>: BWOINK!</span>")
..()
//Blackeye Brew: Chance to make the drinker say greytider-themed things like "I thought clown was valid!"
/datum/reagent/blackeye_brew
name = "Blackeye Brew"
@@ -49,6 +87,21 @@
reagent_state = LIQUID
color = "#4d2600"
/datum/reagent/blackeye_brew/on_mob_life(mob/living/M)
if(prob(25))
var/list/tider_talk = list("CLOWN IS VALID, RIGHT?",
"SHITMINS! SHITMINS! SHITMINS!",
"FURRIES ARE OPPRESSED!",
"I OWN THIS SERVER NOW, I JUST BOUGHT IT.",
"SECRET TECHNIQUE: TOOLBOX TO THE FACE!",
"SECRET TECHNIQUE: PLASMA CANISTER FIRE!",
"SECRET TECHNIQUE: TABLE AND DISPOSAL!",
"[pick("MY BROTHER", " MY DOG", "MY BEST FRIEND", "THE BORER", "GEORGE MELONS", "SHITMINS")] DID IT!",
"WHAT DO YOU MEAN [pick("Barrack Obama", "John Cena", "Hughe Jass", "Hitler", "xX360noscopeXx")] ISN'T AN ACCEPTABLE NAME?",
"WHAT THE FUCK DID YOU JUST FUCKING SAY ABOUT ME, YOU LITTLE BITCH? I'LL HAVE YOU KNOW I GRADUATED TOP OF MY CLASS IN...")
M.say(pick(tider_talk))
..()
//Grape Granade: causes the drinker to sometimes burp, has a low chance to cause a goonchem vortex that pushes things within a very small radius (1-2 tiles) away from the drinker
/datum/reagent/grape_granade
name = "Grape Granade"
@@ -57,6 +110,16 @@
reagent_state = LIQUID
color = "#9933ff"
/datum/reagent/grape_granade/on_mob_life(mob/living/M)
if(prob(1))
var/turf/simulated/T = get_turf(M)
goonchem_vortex(T, 1, 1, 2)
M.emote("burp")
to_chat(M, "<span class='notice'>You feel ready to burst! Oh wait, just a burp...</span>")
else if(prob(25))
M.emote("burp")
..()
//Meteor Malt: Sometimes causes screen shakes for the drinker like a meteor impact, low chance to add 1-5 units of a random mineral reagent to the drinker's blood (iron, copper, silver, gold, uranium, carbon, etc)
/datum/reagent/meteor_malt
name = "Meteor Malt"
@@ -64,3 +127,13 @@
description = "Soft drinks have been detected on collision course with your tastebuds."
reagent_state = LIQUID
color = "#cc9900"
/datum/reagent/meteor_malt/on_mob_life(mob/living/M)
if(prob(25))
M << sound('sound/effects/meteorimpact.ogg',0,1,0,25)
shake_camera(M, 3, 1)
if(prob(5))
var/amount = rand(1, 5)
var/mineral = pick("copper", "iron", "gold", "carbon", "silver", "aluminum", "silicon", "sodiumchloride", "plasma")
M.reagents.add_reagent(mineral, amount)
..()
@@ -70,6 +70,9 @@
holder.remove_reagent(id, metabolization_rate) //By default it slowly disappears.
current_cycle++
/datum/reagent/proc/on_mob_death(mob/living/M) //use this to have chems have a "death-triggered" effect
return
// Called when two reagents of the same are mixing.
/datum/reagent/proc/on_merge(data)
return