mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 05:00:55 +01:00
Move plasma lava turf from snowdin mission code to turf lava.dm (#71168)
## About The Pull Request Moves all the plasma lava code out of snowdin (since it's used in Ice) and makes it apart of the lava.dm file in the game turfs. ## Why It's Good For The Game Better organization. ## Changelog 🆑 code: Move plasma lava turf code to be in lava.dm file instead of snowdin mission code /🆑
This commit is contained in:
@@ -1,4 +1,8 @@
|
||||
///LAVA
|
||||
/*
|
||||
* LAVA
|
||||
* PLASMA LAVA
|
||||
* MAFIA PLASMA LAVA
|
||||
*/
|
||||
|
||||
/turf/open/lava
|
||||
name = "lava"
|
||||
@@ -260,3 +264,77 @@
|
||||
|
||||
/turf/open/lava/smooth/airless
|
||||
initial_gas_mix = AIRLESS_ATMOS
|
||||
|
||||
/turf/open/lava/plasma
|
||||
name = "liquid plasma"
|
||||
desc = "A flowing stream of chilled liquid plasma. You probably shouldn't get in."
|
||||
icon_state = "liquidplasma"
|
||||
initial_gas_mix = "n2=82;plasma=24;TEMP=120"
|
||||
baseturfs = /turf/open/lava/plasma
|
||||
|
||||
light_range = 3
|
||||
light_power = 0.75
|
||||
light_color = LIGHT_COLOR_PURPLE
|
||||
immunity_trait = TRAIT_SNOWSTORM_IMMUNE
|
||||
immunity_resistance_flags = FREEZE_PROOF
|
||||
lava_temperature = 100
|
||||
|
||||
/turf/open/lava/plasma/examine(mob/user)
|
||||
. = ..()
|
||||
. += span_info("Some <b>liquid plasma<b> could probably be scooped up with a <b>container</b>.")
|
||||
|
||||
/turf/open/lava/plasma/attackby(obj/item/I, mob/user, params)
|
||||
if(!I.is_open_container())
|
||||
return ..()
|
||||
if(!I.reagents.add_reagent(/datum/reagent/toxin/plasma, rand(5, 10)))
|
||||
to_chat(user, span_warning("[I] is full."))
|
||||
return
|
||||
user.visible_message(span_notice("[user] scoops some plasma from the [src] with [I]."), span_notice("You scoop out some plasma from the [src] using [I]."))
|
||||
|
||||
/turf/open/lava/plasma/do_burn(atom/movable/burn_target, delta_time = 1)
|
||||
. = TRUE
|
||||
if(isobj(burn_target))
|
||||
return FALSE // Does nothing against objects. Old code.
|
||||
|
||||
var/mob/living/burn_living = burn_target
|
||||
burn_living.adjustFireLoss(2)
|
||||
if(QDELETED(burn_living))
|
||||
return
|
||||
burn_living.adjust_fire_stacks(20) //dipping into a stream of plasma would probably make you more flammable than usual
|
||||
burn_living.adjust_bodytemperature(-rand(50,65)) //its cold, man
|
||||
if(!ishuman(burn_living) || DT_PROB(65, delta_time))
|
||||
return
|
||||
var/mob/living/carbon/human/burn_human = burn_living
|
||||
var/datum/species/burn_species = burn_human.dna.species
|
||||
if(istype(burn_species, /datum/species/plasmaman) || istype(burn_species, /datum/species/android)) //ignore plasmamen/robotic species
|
||||
return
|
||||
|
||||
var/list/plasma_parts = list()//a list of the organic parts to be turned into plasma limbs
|
||||
var/list/robo_parts = list()//keep a reference of robotic parts so we know if we can turn them into a plasmaman
|
||||
for(var/obj/item/bodypart/burn_limb as anything in burn_human.bodyparts)
|
||||
if(IS_ORGANIC_LIMB(burn_limb) && burn_limb.limb_id != SPECIES_PLASMAMAN) //getting every organic, non-plasmaman limb (augments/androids are immune to this)
|
||||
plasma_parts += burn_limb
|
||||
if(!IS_ORGANIC_LIMB(burn_limb))
|
||||
robo_parts += burn_limb
|
||||
|
||||
burn_human.adjustToxLoss(15)
|
||||
burn_human.adjustFireLoss(25)
|
||||
if(plasma_parts.len)
|
||||
var/obj/item/bodypart/burn_limb = pick(plasma_parts) //using the above-mentioned list to get a choice of limbs
|
||||
burn_human.emote("scream")
|
||||
ADD_TRAIT(burn_limb, TRAIT_PLASMABURNT, name)
|
||||
burn_human.update_body_parts()
|
||||
burn_human.emote("scream")
|
||||
burn_human.visible_message(span_warning("[burn_human]'s [burn_limb.plaintext_zone] melts down to the bone!"), \
|
||||
span_userdanger("You scream out in pain as your [burn_limb.plaintext_zone] melts down to the bone, leaving an eerie plasma-like glow where flesh used to be!"))
|
||||
if(!plasma_parts.len && !robo_parts.len) //a person with no potential organic limbs left AND no robotic limbs, time to turn them into a plasmaman
|
||||
burn_human.ignite_mob()
|
||||
burn_human.set_species(/datum/species/plasmaman)
|
||||
burn_human.visible_message(span_warning("[burn_human] bursts into a brilliant purple flame as [burn_human.p_their()] entire body is that of a skeleton!"), \
|
||||
span_userdanger("Your senses numb as all of your remaining flesh is turned into a purple slurry, sloshing off your body and leaving only your bones to show in a vibrant purple!"))
|
||||
|
||||
//mafia specific tame happy plasma (normal atmos, no slowdown)
|
||||
/turf/open/lava/plasma/mafia
|
||||
initial_gas_mix = OPENTURF_DEFAULT_ATMOS
|
||||
baseturfs = /turf/open/lava/plasma/mafia
|
||||
slowdown = 0
|
||||
|
||||
@@ -153,91 +153,13 @@
|
||||
shuttleId = "snowdin_mining"
|
||||
possible_destinations = "snowdin_mining_top;snowdin_mining_down"
|
||||
|
||||
|
||||
//liquid plasma!!!!!!//
|
||||
|
||||
/turf/open/floor/iron/dark/snowdin
|
||||
initial_gas_mix = FROZEN_ATMOS
|
||||
planetary_atmos = 1
|
||||
temperature = 180
|
||||
|
||||
/turf/open/lava/plasma
|
||||
name = "liquid plasma"
|
||||
desc = "A flowing stream of chilled liquid plasma. You probably shouldn't get in."
|
||||
icon_state = "liquidplasma"
|
||||
initial_gas_mix = "n2=82;plasma=24;TEMP=120"
|
||||
baseturfs = /turf/open/lava/plasma
|
||||
|
||||
light_range = 3
|
||||
light_power = 0.75
|
||||
light_color = LIGHT_COLOR_PURPLE
|
||||
immunity_trait = TRAIT_SNOWSTORM_IMMUNE
|
||||
immunity_resistance_flags = FREEZE_PROOF
|
||||
lava_temperature = 100
|
||||
|
||||
/turf/open/lava/plasma/examine(mob/user)
|
||||
. = ..()
|
||||
. += span_info("Some <b>liquid plasma<b> could probably be scooped up with a <b>container</b>.")
|
||||
|
||||
/turf/open/lava/plasma/attackby(obj/item/I, mob/user, params)
|
||||
if(!I.is_open_container())
|
||||
return ..()
|
||||
if(!I.reagents.add_reagent(/datum/reagent/toxin/plasma, rand(5, 10)))
|
||||
to_chat(user, span_warning("[I] is full."))
|
||||
return
|
||||
user.visible_message(span_notice("[user] scoops some plasma from the [src] with [I]."), span_notice("You scoop out some plasma from the [src] using [I]."))
|
||||
|
||||
/turf/open/lava/plasma/do_burn(atom/movable/burn_target, delta_time = 1)
|
||||
. = TRUE
|
||||
if(isobj(burn_target))
|
||||
return FALSE // Does nothing against objects. Old code.
|
||||
|
||||
var/mob/living/burn_living = burn_target
|
||||
burn_living.adjustFireLoss(2)
|
||||
if(QDELETED(burn_living))
|
||||
return
|
||||
burn_living.adjust_fire_stacks(20) //dipping into a stream of plasma would probably make you more flammable than usual
|
||||
burn_living.adjust_bodytemperature(-rand(50,65)) //its cold, man
|
||||
if(!ishuman(burn_living) || DT_PROB(65, delta_time))
|
||||
return
|
||||
var/mob/living/carbon/human/burn_human = burn_living
|
||||
var/datum/species/burn_species = burn_human.dna.species
|
||||
if(istype(burn_species, /datum/species/plasmaman) || istype(burn_species, /datum/species/android)) //ignore plasmamen/robotic species
|
||||
return
|
||||
|
||||
var/list/plasma_parts = list()//a list of the organic parts to be turned into plasma limbs
|
||||
var/list/robo_parts = list()//keep a reference of robotic parts so we know if we can turn them into a plasmaman
|
||||
for(var/obj/item/bodypart/burn_limb as anything in burn_human.bodyparts)
|
||||
if(IS_ORGANIC_LIMB(burn_limb) && burn_limb.limb_id != SPECIES_PLASMAMAN) //getting every organic, non-plasmaman limb (augments/androids are immune to this)
|
||||
plasma_parts += burn_limb
|
||||
if(!IS_ORGANIC_LIMB(burn_limb))
|
||||
robo_parts += burn_limb
|
||||
|
||||
burn_human.adjustToxLoss(15)
|
||||
burn_human.adjustFireLoss(25)
|
||||
if(plasma_parts.len)
|
||||
var/obj/item/bodypart/burn_limb = pick(plasma_parts) //using the above-mentioned list to get a choice of limbs
|
||||
burn_human.emote("scream")
|
||||
ADD_TRAIT(burn_limb, TRAIT_PLASMABURNT, name)
|
||||
burn_human.update_body_parts()
|
||||
burn_human.emote("scream")
|
||||
burn_human.visible_message(span_warning("[burn_human]'s [burn_limb.plaintext_zone] melts down to the bone!"), \
|
||||
span_userdanger("You scream out in pain as your [burn_limb.plaintext_zone] melts down to the bone, leaving an eerie plasma-like glow where flesh used to be!"))
|
||||
if(!plasma_parts.len && !robo_parts.len) //a person with no potential organic limbs left AND no robotic limbs, time to turn them into a plasmaman
|
||||
burn_human.ignite_mob()
|
||||
burn_human.set_species(/datum/species/plasmaman)
|
||||
burn_human.visible_message(span_warning("[burn_human] bursts into a brilliant purple flame as [burn_human.p_their()] entire body is that of a skeleton!"), \
|
||||
span_userdanger("Your senses numb as all of your remaining flesh is turned into a purple slurry, sloshing off your body and leaving only your bones to show in a vibrant purple!"))
|
||||
|
||||
//mafia specific tame happy plasma (normal atmos, no slowdown)
|
||||
/turf/open/lava/plasma/mafia
|
||||
initial_gas_mix = OPENTURF_DEFAULT_ATMOS
|
||||
baseturfs = /turf/open/lava/plasma/mafia
|
||||
slowdown = 0
|
||||
|
||||
/////////// papers
|
||||
|
||||
|
||||
/obj/item/paper/crumpled/ruins/snowdin/foreshadowing
|
||||
name = "scribbled note"
|
||||
default_raw_text = {"Something's gone VERY wrong here. Jouslen has been mumbling about some weird shit in his cabin during the night and he seems always tired when we're working. I tried to confront him about it and he blew up on me,
|
||||
|
||||
Reference in New Issue
Block a user