mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-13 08:03:43 +01:00
Removes swiftness, add speed potions back as oil slick potions (#20939)
* Removes swiftness, add speed potions back as oil potions * no shorting, icon update on mob * early and forgotten returns * ramon oil colours * Update code/modules/research/xenobiology/xenobiology.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * no more slipery vehicles, now slippery tables * just because it compiled the first time doesn't mean the second list will compile idiot * icons my hated * bottle4 * cleaner up * qwerty my man what you doin: s34n 2023 --------- Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
@@ -26,9 +26,6 @@
|
||||
H.dna.SetSEState(GLOB.teleblock, TRUE)
|
||||
singlemutcheck(H, GLOB.teleblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.increaserunblock, TRUE)
|
||||
singlemutcheck(H, GLOB.increaserunblock, MUTCHK_FORCED)
|
||||
|
||||
H.dna.SetSEState(GLOB.breathlessblock, TRUE)
|
||||
singlemutcheck(H, GLOB.breathlessblock, MUTCHK_FORCED)
|
||||
|
||||
|
||||
@@ -17,13 +17,21 @@
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
return ..()
|
||||
|
||||
/obj/item/clothing/shoes/magboots/water_act(volume, temperature, source, method)
|
||||
. = ..()
|
||||
if(magpulse && slowdown_active > SHOES_SLOWDOWN)
|
||||
slowdown = slowdown_active
|
||||
|
||||
/obj/item/clothing/shoes/magboots/atmos
|
||||
desc = "Magnetic boots, made to withstand gusts of space wind over 500kmph."
|
||||
name = "atmospheric magboots"
|
||||
icon_state = "atmosmagboots0"
|
||||
magboot_state = "atmosmagboots"
|
||||
|
||||
/obj/item/clothing/shoes/magboots/attack_self(mob/user)
|
||||
/obj/item/clothing/shoes/magboots/attack_self(mob/user, forced = FALSE)
|
||||
toggle_magpulse(user, forced)
|
||||
|
||||
/obj/item/clothing/shoes/magboots/proc/toggle_magpulse(mob/user, forced)
|
||||
if(magpulse)
|
||||
START_PROCESSING(SSobj, src) //Gravboots
|
||||
flags &= ~NOSLIP
|
||||
@@ -34,7 +42,8 @@
|
||||
slowdown = slowdown_active
|
||||
magpulse = !magpulse
|
||||
icon_state = "[magboot_state][magpulse]"
|
||||
to_chat(user, "You [magpulse ? "enable" : "disable"] the [magpulse_name].")
|
||||
if(!forced)
|
||||
to_chat(user, "You [magpulse ? "enable" : "disable"] the [magpulse_name].")
|
||||
user.update_inv_shoes() //so our mob-overlays update
|
||||
user.update_gravity(user.mob_has_gravity())
|
||||
for(var/X in actions)
|
||||
@@ -194,7 +203,7 @@
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/user = loc
|
||||
to_chat(user, "<span class='warning'>[src] has ran out of charge, and turned off!</span>")
|
||||
attack_self(user)
|
||||
attack_self(user, TRUE)
|
||||
else
|
||||
cell.use(power_consumption_rate)
|
||||
|
||||
@@ -258,7 +267,7 @@
|
||||
style.remove(H)
|
||||
if(magpulse)
|
||||
to_chat(user, "<span class='notice'>As [src] are removed, they deactivate.</span>")
|
||||
attack_self(user)
|
||||
attack_self(user, TRUE)
|
||||
|
||||
/obj/item/clothing/shoes/magboots/gravity/item_action_slot_check(slot)
|
||||
if(slot == slot_shoes)
|
||||
|
||||
@@ -755,6 +755,17 @@ emp_act
|
||||
/mob/living/carbon/human/water_act(volume, temperature, source, method = REAGENT_TOUCH)
|
||||
. = ..()
|
||||
dna.species.water_act(src, volume, temperature, source, method)
|
||||
if(method != REAGENT_TOUCH)
|
||||
return
|
||||
|
||||
for(var/obj/O in list(head, wear_suit, l_hand, r_hand))
|
||||
O.water_act(src, volume, temperature, source, method)
|
||||
if((head?.flags & THICKMATERIAL) && (wear_suit?.flags & THICKMATERIAL)) // fully pierce proof clothing is also water proof!
|
||||
return
|
||||
for(var/obj/O in list(w_uniform, shoes, belt, gloves, glasses, l_ear, r_ear, wear_id, wear_pda, r_store, l_store, s_store))
|
||||
O.water_act(src, volume, temperature, source, method)
|
||||
|
||||
|
||||
|
||||
/mob/living/carbon/human/attackby(obj/item/I, mob/user, params)
|
||||
if(SEND_SIGNAL(src, COMSIG_HUMAN_ATTACKED, user) & COMPONENT_CANCEL_ATTACK_CHAIN)
|
||||
|
||||
@@ -532,6 +532,20 @@
|
||||
log_game("[who] triggered an oil slime explosion at [COORD(extract_turf)].")
|
||||
explosion(extract_turf, 1, 3, 6)
|
||||
|
||||
/datum/chemical_reaction/oil_slick
|
||||
name = "Oil Potion"
|
||||
id = "O_potion"
|
||||
result = null
|
||||
required_reagents = list("blood" = 1)
|
||||
result_amount = 1
|
||||
required_container = /obj/item/slime_extract/oil
|
||||
required_other = TRUE
|
||||
|
||||
/datum/chemical_reaction/oil_slick/on_reaction(datum/reagents/holder)
|
||||
SSblackbox.record_feedback("tally", "slime_cores_used", 1, type)
|
||||
var/obj/item/slimepotion/oil_slick/P = new /obj/item/slimepotion/oil_slick
|
||||
P.forceMove(get_turf(holder.my_atom))
|
||||
|
||||
//Light Pink
|
||||
/datum/chemical_reaction/slimepotion2
|
||||
name = "Slime Potion 2"
|
||||
|
||||
@@ -447,6 +447,49 @@
|
||||
if(loc == usr && loc.Adjacent(over_object))
|
||||
afterattack(over_object, usr, TRUE)
|
||||
|
||||
/obj/item/slimepotion/oil_slick
|
||||
name = "slime oil potion"
|
||||
desc = "A potent chemical mix that will remove the slowdown from any item by reducing friction. Doesn't mix well with water."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "bottle4"
|
||||
origin_tech = "biotech=5"
|
||||
|
||||
/obj/item/slimepotion/oil_slick/afterattack(obj/O, mob/user, proximity_flag)
|
||||
if(!proximity_flag)
|
||||
return
|
||||
..()
|
||||
if(!isitem(O))
|
||||
if(!istype(O, /obj/structure/table))
|
||||
to_chat(user, "<span class='warning'>The potion can only be used on items!</span>")
|
||||
return
|
||||
var/obj/structure/table/T = O
|
||||
if(T.slippery)
|
||||
to_chat(user, "<span class='warning'>[T] can luckily not be made any slippier!</span>")
|
||||
return
|
||||
to_chat(user, "<span class='warning'>You go to place the potion on [T], but before you know it, your hands are moving on your own!</span>") //Speed table must remain.
|
||||
T.slippery = TRUE
|
||||
else
|
||||
var/obj/item/I = O
|
||||
if(I.slowdown <= 0)
|
||||
to_chat(user, "<span class='warning'>[I] can't be made any faster!</span>")
|
||||
return
|
||||
I.slowdown = 0
|
||||
|
||||
to_chat(user, "<span class='notice'>You slather the oily gunk over [O], making it slick and slippery.</span>")
|
||||
O.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
|
||||
O.add_atom_colour("#6e6e86", FIXED_COLOUR_PRIORITY)
|
||||
ADD_TRAIT(O, TRAIT_OIL_SLICKED, "potion")
|
||||
if(ishuman(O.loc))
|
||||
var/mob/living/carbon/human/H = O.loc
|
||||
H.regenerate_icons()
|
||||
qdel(src)
|
||||
|
||||
/obj/item/slimepotion/oil_slick/MouseDrop(obj/over_object)
|
||||
if(usr.incapacitated())
|
||||
return
|
||||
if(loc == usr && loc.Adjacent(over_object))
|
||||
afterattack(over_object, usr, TRUE)
|
||||
|
||||
/obj/effect/timestop
|
||||
anchored = TRUE
|
||||
name = "chronofield"
|
||||
|
||||
@@ -238,3 +238,4 @@
|
||||
/obj/vehicle/zap_act(power, zap_flags)
|
||||
zap_buckle_check(power)
|
||||
return ..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user