mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-18 19:39:53 +01:00
Merge branch 'master' of https://github.com/quotefox/Hyper-Station-13
This commit is contained in:
@@ -62,7 +62,8 @@
|
||||
#define isslimeperson(A) (is_species(A, /datum/species/jelly/slime))
|
||||
#define isluminescent(A) (is_species(A, /datum/species/jelly/luminescent))
|
||||
#define iszombie(A) (is_species(A, /datum/species/zombie))
|
||||
#define ismoth(A) (is_species(A, /datum/species/moth) || is_species(A, /datum/species/insect))
|
||||
#define ismoth(A) (is_species(A, /datum/species/moth))
|
||||
#define isinsect(A) (is_species(A, /datum/species/insect))
|
||||
#define ishumanbasic(A) (is_species(A, /datum/species/human))
|
||||
#define iscatperson(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/felinid) )
|
||||
#define isvampire(A) (is_species(A,/datum/species/vampire))
|
||||
|
||||
@@ -1999,12 +1999,12 @@ datum/reagent/consumable/ethanol/creme_de_coconut
|
||||
|
||||
/datum/reagent/consumable/ethanol/bug_spray/on_mob_life(mob/living/carbon/M)
|
||||
//Bugs should not drink Bug spray.
|
||||
if(ismoth(M) || isflyperson(M))
|
||||
if(ismoth(M) || isflyperson(M) || isinsect(M))
|
||||
M.adjustToxLoss(1,0)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/ethanol/bug_spray/on_mob_add(mob/living/carbon/M)
|
||||
if(ismoth(M) || isflyperson(M))
|
||||
if(ismoth(M) || isflyperson(M) || isinsect(M))
|
||||
M.emote("scream")
|
||||
return ..()
|
||||
|
||||
@@ -2396,4 +2396,4 @@ datum/reagent/consumable/ethanol/creme_de_coconut
|
||||
/datum/reagent/consumable/ethanol/hotlime_miami/on_mob_life(mob/living/carbon/M)
|
||||
M.set_drugginess(50)
|
||||
M.adjustStaminaLoss(-2)
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
@@ -76,11 +76,9 @@ mob/living/get_effective_size()
|
||||
//Smaller person being stepped on
|
||||
if(get_effective_size() > tmob.get_effective_size() && iscarbon(src))
|
||||
if(istype(H) && H.dna.features["taur"] == "Naga" || H.dna.features["taur"] == "Tentacle")
|
||||
to_chat(H,"<span class='notice'>You carefully slither around [tmob].</span>")
|
||||
to_chat(tmob,"<span class='notice'>[H]'s huge tail slithers beside you!</span>")
|
||||
H.visible_message("<span class='notice'>[H]'s huge tail slithers besides you.</span>", "<span class='notice'>[H] carefully slithers around [tmob].</span>")
|
||||
else
|
||||
to_chat(H,"<span class='notice'>You carefully step over [tmob].</span>")
|
||||
to_chat(tmob,"<span class='notice'>[H] steps over you carefully!</span>")
|
||||
H.visible_message("<span class='notice'>[H] steps over you carefully.</span>", "<span class='notice'>[H] carefully steps over [tmob].</span>")
|
||||
return 1
|
||||
|
||||
//Smaller person stepping under a larger person
|
||||
@@ -117,14 +115,12 @@ mob/living/get_effective_size()
|
||||
H.forceMove(tmob.loc)
|
||||
sizediffStamLoss(tmob)
|
||||
H.add_movespeed_modifier(MOVESPEED_ID_STOMP, multiplicative_slowdown = 10) //Full stop
|
||||
addtimer(CALLBACK(H, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP), 5) //0.5 second
|
||||
addtimer(CALLBACK(H, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP), 3) //0.3 seconds
|
||||
if(get_effective_size() > tmob.get_effective_size() && iscarbon(H))
|
||||
if(istype(H) && H.dna.features["taur"] == "Naga" || H.dna.features["taur"] == "Tentacle")
|
||||
to_chat(H,"<span class='danger'>You carefully roll over [tmob] with your tail!</span>")
|
||||
to_chat(tmob,"<span class='danger'>[H]'s huge tail rolls over you!</span>")
|
||||
H.visible_message("<span class='danger'>[H]'s huge tail rolls over you!</span>", "<span class='danger'>[H] carefully rolls their tail over [tmob]!</span>")
|
||||
else
|
||||
to_chat(H,"<span class='danger'>You painfully but harmlessly step on [tmob]!<span>")
|
||||
to_chat(tmob,"<span class='danger'>[H] steps onto you with force!</span>")
|
||||
H.visible_message("<span class='danger'>[H] steps onto you with force!</span>", "<span class='danger'>[H] carefully steps on [tmob]!</span>")
|
||||
return 1
|
||||
|
||||
if(H.a_intent == "harm" && H.canmove && !H.buckled)
|
||||
@@ -133,15 +129,13 @@ mob/living/get_effective_size()
|
||||
sizediffStamLoss(tmob)
|
||||
sizediffBruteloss(tmob)
|
||||
H.add_movespeed_modifier(MOVESPEED_ID_STOMP, multiplicative_slowdown = 10)
|
||||
addtimer(CALLBACK(H, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP), 15) //1.5 second
|
||||
addtimer(CALLBACK(H, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP), 10) //1 seconds
|
||||
//H.Stun(20)
|
||||
if(get_effective_size() > tmob.get_effective_size() && iscarbon(H))
|
||||
if(istype(H) && H.dna.features["taur"] == "Naga" || H.dna.features["taur"] == "Tentacle")
|
||||
to_chat(H,"<span class='danger'>You grind [tmob] into the floor with your tail!</span>")
|
||||
to_chat(tmob,"<span class='danger'>[H]'s massive tail plows you into the floor!</span>")
|
||||
H.visible_message("<span class='userdanger'>[H] plows their tail over you mercilessly!</span>", "<span class='danger'>[H] mows down [tmob] under their tail!</span>")
|
||||
else
|
||||
to_chat(H,"<span class='danger'>You pound [tmob] into the floor underfoot!</span>")
|
||||
to_chat(tmob,"<span class='danger'>[H] slams you into the ground, crushing you!</span>")
|
||||
H.visible_message("<span class='userdanger'>[H] crushes you under their foot!</span>", "<span class='danger'>[H] slams their foot down on [tmob]!</span>")
|
||||
return 1
|
||||
|
||||
if(H.a_intent == "grab" && H.canmove && !H.buckled)
|
||||
@@ -150,25 +144,21 @@ mob/living/get_effective_size()
|
||||
sizediffStamLoss(tmob)
|
||||
sizediffStun(tmob)
|
||||
H.add_movespeed_modifier(MOVESPEED_ID_STOMP, multiplicative_slowdown = 10)
|
||||
addtimer(CALLBACK(H, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP), 10)//About 3/4th a second
|
||||
addtimer(CALLBACK(H, /mob/.proc/remove_movespeed_modifier, MOVESPEED_ID_STOMP), 7)//About 3/4th a second
|
||||
if(get_effective_size() > tmob.get_effective_size() && iscarbon(H))
|
||||
var/feetCover = (H.wear_suit && (H.wear_suit.body_parts_covered & FEET)) || (H.w_uniform && (H.w_uniform.body_parts_covered & FEET) || (H.shoes && (H.shoes.body_parts_covered & FEET)))
|
||||
if(feetCover)
|
||||
if(istype(H) && H.dna.features["taur"] == "Naga" || H.dna.features["taur"] == "Tentacle")
|
||||
to_chat(H,"<span class='danger'>You pin [tmob] underneath your tail!</span>")
|
||||
to_chat(tmob,"<span class='danger'>[H]'s plows you into the ground, pinning you helplessly!</span>")
|
||||
H.visible_message("<span class='danger'>[H] pins you beneath their tail!</span>", "<span class='danger'>[H] pins [tmob] under their tail!</span>")
|
||||
else
|
||||
to_chat(H,"<span class='danger'>You pin [tmob] helplessly to the floor with your foot!</span>")
|
||||
to_chat(tmob,"<span class='danger'>[H] weightfully pins you to the ground!</span>")
|
||||
H.visible_message("<span class='danger'>[H] pins you underfoot!</span>", "<span class='danger'>[H] pins [tmob] helplessly underfoot!</span>")
|
||||
return 1
|
||||
else
|
||||
if(istype(H) && H.dna.features["taur"] == "Naga" || H.dna.features["taur"] == "Tentacle")
|
||||
to_chat(H,"<span class='danger'>You curl [tmob] up in the coils of your tail!</span>")
|
||||
to_chat(tmob,"<span class='danger'>[H]'s tail winds around you and snatches you in its coils!</span>")
|
||||
H.visible_message("<span class='userdanger'>[H]'s tail winds around you and snatches you in its coils!</span>", "<span class='danger'>[H] snatches up [tmob] underneath their tail!</span>")
|
||||
tmob.mob_pickup_micro_feet(H)
|
||||
else
|
||||
to_chat(H,"<span class='danger'>You stomp your foot into [tmob], curling your toes and picking them up!</span>")
|
||||
to_chat(tmob,"<span class='danger'>[H]'s toes pin you down and curl around you, picking you up!</span>'")
|
||||
H.visible_message("<span class='userdanger'>[H]'s toes pin you down and curl around you, picking you up!</span>", "<span class='danger'>[H] stomps down on [tmob], curling their toes and picking them up!</span>")
|
||||
tmob.mob_pickup_micro_feet(H)
|
||||
return 1
|
||||
|
||||
@@ -181,11 +171,9 @@ mob/living/get_effective_size()
|
||||
//smaller person stepping under another person... TO DO, fix and allow special interactions with naga legs to be seen
|
||||
/mob/living/proc/micro_step_under(var/mob/living/tmob)
|
||||
if(istype(tmob) && istype(tmob, /datum/sprite_accessory/taur/naga))
|
||||
to_chat(src,"<span class='notice'>You jump over [tmob]'s thick tail.</span>")
|
||||
to_chat(tmob,"<span class='notice'>[src] bounds over your tail.</span>")
|
||||
src.visible_message("<span class='notice'>[src] bounds over [tmob]'s tail.</span>", "<span class='notice'>You jump over [tmob]'s thick tail.</span>")
|
||||
else
|
||||
to_chat(src,"<span class='notice'>You run between [tmob]'s legs.</span>")
|
||||
to_chat(tmob,"<span class='notice'>[src] runs between your legs.</span>")
|
||||
src.visible_message("<span class='notice'>[src] runs between [tmob]'s legs.</span>", "<span class='notice'>You run between [tmob]'s legs.</span>")
|
||||
|
||||
//Proc for scaling stamina damage on size difference
|
||||
/mob/living/proc/sizediffStamLoss(var/mob/living/tmob)
|
||||
|
||||
@@ -1,40 +1,49 @@
|
||||
//Size Chemicals, now with better and less cringy names.
|
||||
|
||||
/datum/reagent/dahl/growthchem
|
||||
/datum/reagent/growthchem
|
||||
name = "Prospacillin"
|
||||
id = "growthchem"
|
||||
description = "A stabilized altercation of size-altering liquids, this one appears to increase cell volume."
|
||||
color = "#E70C0C"
|
||||
taste_description = "a sharp, fiery and intoxicating flavour."
|
||||
taste_description = "a sharp, fiery and intoxicating flavour"
|
||||
overdose_threshold = 10
|
||||
metabolization_rate = 0.25
|
||||
can_synth = FALSE //DO NOT MAKE THIS SNYTHESIZABLE, THESE CHEMS ARE SUPPOSED TO NOT BE USED COMMONLY
|
||||
|
||||
/datum/reagent/dahl/growthchem/on_mob_add(mob/living/carbon/M)
|
||||
log_game("SIZECODE: [M] ckey: [M.key] has ingested growthchem.")
|
||||
/datum/reagent/growthchem/on_mob_add(mob/living/carbon/M)
|
||||
. = ..()
|
||||
if(ishuman(M))
|
||||
log_game("SIZECODE: [M] ckey: [M.key] has ingested growthchem.")
|
||||
|
||||
/datum/reagent/dahl/growthchem/on_mob_life(mob/living/carbon/M)
|
||||
/datum/reagent/growthchem/on_mob_life(mob/living/carbon/M)
|
||||
if(!ishuman(M))
|
||||
return..()
|
||||
if(M.size_multiplier < RESIZE_MACRO)
|
||||
M.resize(M.size_multiplier+0.01)
|
||||
M.resize(M.size_multiplier+0.025)
|
||||
M.visible_message("<span class='danger'>[pick("[M] grows!", "[M] expands in size!", "[M] pushes outwards in stature!")]</span>", "<span class='danger'>[pick("You feel your body fighting for space and growing!", "The world contracts inwards in every direction!", "You feel your muscles expand, and your surroundings shrink!")]</span>")
|
||||
..()
|
||||
. = 1
|
||||
|
||||
return
|
||||
|
||||
/datum/reagent/dahl/shrinkchem
|
||||
/datum/reagent/shrinkchem
|
||||
name = "Diminicillin"
|
||||
id = "shrinkchem"
|
||||
description = "A stabilized altercation of size-altering liquids, this one appears to decrease cell volume."
|
||||
color = "#0C26E7"
|
||||
taste_description = "a pungent, acidic and jittery flavour."
|
||||
taste_description = "a pungent, acidic and jittery flavour"
|
||||
overdose_threshold = 10
|
||||
metabolization_rate = 0.25
|
||||
metabolization_rate = 1
|
||||
can_synth = FALSE //SAME STORY AS ABOVE
|
||||
|
||||
/datum/reagent/dahl/shrinkchem/on_mob_add(mob/living/carbon/M)
|
||||
log_game("SIZECODE: [M] ckey: [M.key] has ingested shrinkchem.")
|
||||
/datum/reagent/shrinkchem/on_mob_add(mob/living/carbon/M)
|
||||
. = ..()
|
||||
if(ishuman(M))
|
||||
log_game("SIZECODE: [M] ckey: [M.key] has ingested shrinkchem.")
|
||||
|
||||
/datum/reagent/dahl/shrinkchem/on_mob_life(mob/living/carbon/M)
|
||||
/datum/reagent/shrinkchem/on_mob_life(mob/living/carbon/M)
|
||||
if(!ishuman(M))
|
||||
return..()
|
||||
if(M.size_multiplier > RESIZE_MICRO)
|
||||
M.resize(M.size_multiplier-0.01)
|
||||
|
||||
return
|
||||
|
||||
M.resize(M.size_multiplier-0.025)
|
||||
M.visible_message("<span class='danger'>[pick("[M] shrinks down!", "[M] dwindles in size!", "[M] compresses down!")]</span>", "<span class='danger'>[pick("You feel your body compressing in size!", "The world pushes outwards in every direction!", "You feel your muscles contract, and your surroundings grow!")]</span>")
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -2899,6 +2899,7 @@
|
||||
#include "hyperstation\code\modules\patreon\patreon.dm"
|
||||
#include "hyperstation\code\modules\resize\holder_micro.dm"
|
||||
#include "hyperstation\code\modules\resize\resizing.dm"
|
||||
#include "hyperstation\code\modules\resize\sizechems.dm"
|
||||
#include "hyperstation\code\modules\resize\sizegun.dm"
|
||||
#include "hyperstation\code\obj\bluespace sewing kit.dm"
|
||||
#include "hyperstation\code\obj\decal.dm"
|
||||
|
||||
Reference in New Issue
Block a user