Skip to content

Commit

Permalink
Adds Stupor, a Sloshing Realization (And a Fallen Colors Bugfix) (#2347)
Browse files Browse the repository at this point in the history
* Adds Stupor

* Forgot to mention the credits of somebody who helped me
  • Loading branch information
tile4 authored Aug 1, 2024
1 parent 1448f81 commit a7c067b
Show file tree
Hide file tree
Showing 8 changed files with 86 additions and 31 deletions.
12 changes: 12 additions & 0 deletions code/modules/clothing/suits/ego_gear/realized.dm
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,18 @@ No Ability 250
worn_icon = 'icons/mob/clothing/big_hat.dmi'
icon_state = "sakura"

/obj/item/clothing/suit/armor/ego_gear/realization/stupor
name = "stupor"
desc = "Drink! Drink yourselves into a stupor! Foul tasting louts like you won't satisfy me until you're all as pickled as me, hah!" //Descriptions made by Anonmare
icon_state = "stupor" //Art by TemperanceTempy
armor = list(RED_DAMAGE = 80, WHITE_DAMAGE = 30, BLACK_DAMAGE = 50, PALE_DAMAGE = 70) //Defensive
hat = /obj/item/clothing/head/ego_hat/stupor

/obj/item/clothing/head/ego_hat/stupor
name = "stupor"
desc = "Many people look for oblivion at the bottom of the glass, I can't be blamed if I give it to 'em now, can I?"
icon_state = "stupor"

/* HE Realizations */

/obj/item/clothing/suit/armor/ego_gear/realization/grinder
Expand Down
98 changes: 70 additions & 28 deletions code/modules/mob/living/carbon/life.dm
Original file line number Diff line number Diff line change
Expand Up @@ -484,6 +484,8 @@ All effects don't start immediately, but rather get worse over time; the rate is
handle_hallucinations()

if(drunkenness)
var/obj/item/clothing/suit/armor/ego_gear/realization/stupor/Z = get_item_by_slot(ITEM_SLOT_OCLOTHING)
var/obj/item/organ/liver/L = getorganslot(ORGAN_SLOT_LIVER)
drunkenness = max(drunkenness - (drunkenness * 0.04) - 0.01, 0)
if(drunkenness >= 6)
if(prob(25))
Expand Down Expand Up @@ -515,41 +517,81 @@ All effects don't start immediately, but rather get worse over time; the rate is
SSresearch.science_tech.remove_point_list(list(TECHWEB_POINT_TYPE_GENERIC = BALLMER_POINTS))
say(pick_list_replacements(VISTA_FILE, "ballmer_windows_me_msg"), forced = "ballmer")

if(drunkenness >= 41)
if(prob(25))
add_confusion(2)
Dizzy(10)
if(istype(Z)) //Start of Realization adjustments to drunkenness
var/heal_modifier = clamp(round((drunkenness/5)-2), 1, 10)
if(ishuman(src))
var/mob/living/carbon/human/H = src
H.adjustBruteLoss(-heal_modifier)
H.adjustSanityLoss(-heal_modifier)
L.applyOrganDamage(-3)
if(drunkenness >= 61)
if(prob(25))
add_confusion(2)
Dizzy(10)

if(drunkenness >= 71)
if(prob(3))
add_confusion(15)
Dizzy(25)

if(drunkenness >= 51)
if(prob(3))
add_confusion(15)
vomit() // vomiting clears toxloss, consider this a blessing
Dizzy(25)
if(drunkenness >= 81)
if(prob(50))
blur_eyes(5)

if(drunkenness >= 61)
if(prob(50))
if(drunkenness >= 91)
blur_eyes(5)

if(drunkenness >= 71)
blur_eyes(5)
if(drunkenness >= 101)
adjustToxLoss(1)
if(prob(5) && !stat)
to_chat(src, span_warning("Maybe you should lie down for a bit..."))

if(drunkenness >= 111)
adjustToxLoss(1)
adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.4)
if(prob(20) && !stat)
if(SSshuttle.emergency.mode == SHUTTLE_DOCKED && is_station_level(z)) //QoL mainly
to_chat(src, span_warning("You're so tired... but you can't miss that shuttle..."))
else
to_chat(src, span_warning("Just a quick nap..."))
Sleeping(900)

else
if(drunkenness >= 41)
if(prob(25))
add_confusion(2)
Dizzy(10)

if(drunkenness >= 51)
if(prob(3))
add_confusion(15)
vomit() // vomiting clears toxloss, consider this a blessing
Dizzy(25)

if(drunkenness >= 81)
adjustToxLoss(1)
if(prob(5) && !stat)
to_chat(src, span_warning("Maybe you should lie down for a bit..."))
if(drunkenness >= 61)
if(prob(50))
blur_eyes(5)

if(drunkenness >= 91)
adjustToxLoss(1)
adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.4)
if(prob(20) && !stat)
if(SSshuttle.emergency.mode == SHUTTLE_DOCKED && is_station_level(z)) //QoL mainly
to_chat(src, span_warning("You're so tired... but you can't miss that shuttle..."))
else
to_chat(src, span_warning("Just a quick nap..."))
Sleeping(900)
if(drunkenness >= 71)
blur_eyes(5)

if(drunkenness >= 81)
adjustToxLoss(1)
if(prob(5) && !stat)
to_chat(src, span_warning("Maybe you should lie down for a bit..."))

if(drunkenness >= 91)
adjustToxLoss(1)
adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.4)
if(prob(20) && !stat)
if(SSshuttle.emergency.mode == SHUTTLE_DOCKED && is_station_level(z)) //QoL mainly
to_chat(src, span_warning("You're so tired... but you can't miss that shuttle..."))
else
to_chat(src, span_warning("Just a quick nap..."))
Sleeping(900)

if(drunkenness >= 101)
adjustToxLoss(2) //Let's be honest you shouldn't be alive by now
if(drunkenness >= 101)
adjustToxLoss(2) //Let's be honest you shouldn't be alive by now

/// Base carbon environment handler, adds natural stabilization
/mob/living/carbon/handle_environment(datum/gas_mixture/environment)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
/obj/item/clothing/suit/armor/ego_gear/teth/wrist = /obj/item/clothing/suit/armor/ego_gear/realization/exsanguination,
/obj/item/clothing/suit/armor/ego_gear/teth/match = /obj/item/clothing/suit/armor/ego_gear/realization/ember_matchlight,
/obj/item/clothing/suit/armor/ego_gear/teth/blossoms = /obj/item/clothing/suit/armor/ego_gear/realization/sakura_bloom,
/obj/item/clothing/suit/armor/ego_gear/teth/sloshing = /obj/item/clothing/suit/armor/ego_gear/realization/stupor,
// HE
/obj/item/clothing/suit/armor/ego_gear/he/grinder = /obj/item/clothing/suit/armor/ego_gear/realization/grinder,
/obj/item/clothing/suit/armor/ego_gear/he/magicbullet = /obj/item/clothing/suit/armor/ego_gear/realization/bigiron,
Expand Down
6 changes: 3 additions & 3 deletions code/modules/spells/ability_types/realized_aimed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,7 @@
if(get_dist(user, target) > 10 || !(target in view(9, user)))
return
var/turf/target_turf = get_turf(target)
new /obj/projectile/black_hole_realized(target_turf, user)
new /obj/projectile/black_hole_realized(target_turf)
return ..()

/obj/projectile/black_hole_realized
Expand All @@ -453,13 +453,13 @@
for(var/i = 1 to 10)
addtimer(CALLBACK(src, PROC_REF(SplashEffect)), i * 2 SECONDS)

/obj/projectile/black_hole_realized/proc/SplashEffect(mob/user)
/obj/projectile/black_hole_realized/proc/SplashEffect()
playsound(src, 'sound/effects/footstep/slime1.ogg', 100, FALSE, 12)

for(var/turf/T in view(damage_range, src))
new /obj/effect/temp_visual/revenant(T)
for(var/mob/living/L in view(damage_range, src))
if(!user.faction_check_mob(L))
if(ishostile(L))
var/distance_decrease = get_dist(src, L) * 40
L.apply_damage(ishuman(L) ? (damage_amount - distance_decrease)*0.5 : (damage_amount - distance_decrease), BLACK_DAMAGE, null, L.run_armor_check(null, BLACK_DAMAGE), spread_damage = TRUE)
var/atom/throw_target = get_edge_target_turf(L, get_dir(L, get_step_towards(L, get_turf(src))))
Expand Down
Binary file modified icons/mob/clothing/ego_gear/head.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/ego_gear/realized.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/ego_gear/head.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/ego_gear/realization.dmi
Binary file not shown.

0 comments on commit a7c067b

Please sign in to comment.