mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-23 03:57:48 +01:00
@@ -15,9 +15,11 @@
|
||||
|
||||
/obj/machinery/portable_atmospherics/New()
|
||||
..()
|
||||
|
||||
air_contents.volume = volume
|
||||
air_contents.temperature = T20C
|
||||
//VOREStation Edit - Fix runtime
|
||||
if(air_contents)
|
||||
air_contents.volume = volume
|
||||
air_contents.temperature = T20C
|
||||
//VOREStation Edit End
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
@@ -190,7 +190,12 @@
|
||||
var/clr
|
||||
if(get_trait(TRAIT_BIOLUM_COLOUR))
|
||||
clr = get_trait(TRAIT_BIOLUM_COLOUR)
|
||||
splat.set_light(get_trait(TRAIT_BIOLUM), l_color = clr)
|
||||
//VOREStation Edit Start - Tons of super bright super long range lights everywhere is annoying and laggy, so let's limit it a bit.
|
||||
var/blight = get_trait(TRAIT_BIOLUM)
|
||||
if(blight >= 5)
|
||||
blight = 5
|
||||
splat.set_light(blight, 0.5, l_color = clr)
|
||||
//VOREStation Edit End
|
||||
var/flesh_colour = get_trait(TRAIT_FLESH_COLOUR)
|
||||
if(!flesh_colour) flesh_colour = get_trait(TRAIT_PRODUCT_COLOUR)
|
||||
if(flesh_colour) splat.color = get_trait(TRAIT_PRODUCT_COLOUR)
|
||||
@@ -836,8 +841,12 @@
|
||||
var/clr
|
||||
if(get_trait(TRAIT_BIOLUM_COLOUR))
|
||||
clr = get_trait(TRAIT_BIOLUM_COLOUR)
|
||||
product.set_light(get_trait(TRAIT_BIOLUM), l_color = clr)
|
||||
|
||||
//VOREStation Edit Start - Tons of super bright super long range lights everywhere is annoying and laggy, so let's limit it a bit.
|
||||
var/blight = get_trait(TRAIT_BIOLUM)
|
||||
if(blight >= 5)
|
||||
blight = 5
|
||||
product.set_light(blight, 0.5, l_color = clr)
|
||||
//VOREStation Edit End
|
||||
if(get_trait(TRAIT_STINGS))
|
||||
product.force = 1
|
||||
|
||||
|
||||
@@ -77,6 +77,10 @@
|
||||
spread_chance = 0
|
||||
|
||||
/obj/effect/plant/New(var/newloc, var/datum/seed/newseed, var/obj/effect/plant/newparent)
|
||||
//VOREStation Edit Start
|
||||
if(istype(loc, /turf/simulated/open))
|
||||
qdel(src)
|
||||
//VOREStation Edit End
|
||||
..()
|
||||
|
||||
if(!newparent)
|
||||
@@ -159,7 +163,12 @@
|
||||
var/clr
|
||||
if(seed.get_trait(TRAIT_BIOLUM_COLOUR))
|
||||
clr = seed.get_trait(TRAIT_BIOLUM_COLOUR)
|
||||
set_light(1+round(seed.get_trait(TRAIT_POTENCY)/20), l_color = clr)
|
||||
//VOREStation Edit Start - Tons of super bright super long range lights everywhere is annoying and laggy, so let's limit it a bit.
|
||||
var/blight = 1+round(seed.get_trait(TRAIT_POTENCY)/20)
|
||||
if(blight >= 5)
|
||||
blight = 5
|
||||
set_light(blight, 0.5, l_color = clr)
|
||||
//VOREStation Edit End
|
||||
return
|
||||
else
|
||||
set_light(0)
|
||||
|
||||
@@ -4,8 +4,10 @@
|
||||
var/list/cardinal_neighbors = list()
|
||||
for(var/check_dir in cardinal)
|
||||
var/turf/simulated/T = get_step(get_turf(src), check_dir)
|
||||
if(istype(T))
|
||||
//VOREStation Edit Start - Vines can go up/down stairs, but don't register that they have done this, so do so infinitely, which is annoying and laggy.
|
||||
if(istype(T) && !istype(check_dir, /turf/simulated/open)) //Let's not have them go on open space where you can't really get to them.
|
||||
cardinal_neighbors |= T
|
||||
//VOREStation Edit End
|
||||
return cardinal_neighbors
|
||||
|
||||
/obj/effect/plant/proc/update_neighbors()
|
||||
@@ -114,6 +116,10 @@
|
||||
//spreading vines aren't created on their final turf.
|
||||
//Instead, they are created at their parent and then move to their destination.
|
||||
/obj/effect/plant/proc/spread_to(turf/target_turf)
|
||||
//VOREStation Edit Start - Vines can go up/down stairs, but don't register that they have done this, so do so infinitely, which is annoying and laggy.
|
||||
if(istype(target_turf, /turf/simulated/open))
|
||||
return
|
||||
//VOREStation Edit End
|
||||
var/obj/effect/plant/child = new(get_turf(src),seed,parent)
|
||||
|
||||
spawn(1) // This should do a little bit of animation.
|
||||
|
||||
@@ -41,6 +41,10 @@
|
||||
icon_state = "blank"
|
||||
|
||||
/obj/machinery/portable_atmospherics/hydroponics/soil/invisible/New(var/newloc,var/datum/seed/newseed)
|
||||
//VOREStation Addition Start
|
||||
if(istype(loc, /turf/simulated/open) || istype(loc, /turf/space))
|
||||
qdel(src)
|
||||
//VOREStation Addition End
|
||||
..()
|
||||
seed = newseed
|
||||
dead = 0
|
||||
|
||||
@@ -263,4 +263,53 @@
|
||||
visible_message("[src] stops playing dead.", runemessage = "[src] stops playing dead")
|
||||
else
|
||||
M.visible_message("The petting was interrupted!!!", runemessage = "The petting was interrupted")
|
||||
return
|
||||
return
|
||||
|
||||
/mob/living/simple_mob/vore/woof/hostile/aweful
|
||||
maxHealth = 100
|
||||
health = 100
|
||||
var/killswitch = FALSE
|
||||
|
||||
|
||||
/mob/living/simple_mob/vore/woof/hostile/aweful/Initialize()
|
||||
. = ..()
|
||||
var/thismany = (rand(25,500)) / 100
|
||||
resize(thismany, animate = FALSE, uncapped = TRUE, ignore_prefs = TRUE)
|
||||
|
||||
/mob/living/simple_mob/vore/woof/hostile/aweful/death()
|
||||
. = ..()
|
||||
if(killswitch)
|
||||
visible_message("<span class='notice'>\The [src] evaporates into nothing...</span>")
|
||||
qdel(src)
|
||||
return
|
||||
var/thismany = rand(0,3)
|
||||
var/list/possiblewoofs = list(/mob/living/simple_mob/vore/woof/hostile/aweful/melee, /mob/living/simple_mob/vore/woof/hostile/aweful/ranged)
|
||||
if(thismany == 0)
|
||||
visible_message("<span class='notice'>\The [src] evaporates into nothing...</span>")
|
||||
if(thismany >= 1)
|
||||
var/thiswoof = pick(possiblewoofs)
|
||||
new thiswoof(loc, src)
|
||||
visible_message("<span class='warning'>Another [src] appears!</span>")
|
||||
if(thismany >= 2)
|
||||
var/thiswoof = pick(possiblewoofs)
|
||||
new thiswoof(loc, src)
|
||||
visible_message("<span class='warning'>Another [src] appears!</span>")
|
||||
if(thismany >= 3)
|
||||
var/thiswoof = pick(possiblewoofs)
|
||||
new thiswoof(loc, src)
|
||||
visible_message("<span class='warning'>Another [src] appears!</span>")
|
||||
qdel(src)
|
||||
|
||||
/mob/living/simple_mob/vore/woof/hostile/aweful/melee
|
||||
|
||||
movement_cooldown = 0
|
||||
|
||||
ai_holder_type = /datum/ai_holder/simple_mob/woof/hostile
|
||||
|
||||
/mob/living/simple_mob/vore/woof/hostile/aweful/ranged
|
||||
movement_cooldown = 0
|
||||
|
||||
ai_holder_type = /datum/ai_holder/simple_mob/ranged/kiting/threatening/woof
|
||||
|
||||
projectiletype = /obj/item/projectile/awoo_missile
|
||||
projectilesound = 'sound/voice/long_awoo.ogg'
|
||||
|
||||
@@ -148,10 +148,12 @@
|
||||
// Or if we fell down the openspace
|
||||
if((top in oldloc) || oldloc == GetAbove(src))
|
||||
return
|
||||
|
||||
//VOREStation Addition Start
|
||||
if(istype(AM, /obj/effect/plant))
|
||||
return
|
||||
//VOREStation Addition End
|
||||
if(isobserver(AM)) // Ghosts have their own methods for going up and down
|
||||
return
|
||||
|
||||
if(AM.pulledby) // Animating the movement of pulled things is handled when the puller goes up the stairs
|
||||
return
|
||||
|
||||
@@ -199,7 +201,10 @@
|
||||
/obj/structure/stairs/bottom/use_stairs_instant(var/atom/movable/AM)
|
||||
if(isobserver(AM)) // Ghosts have their own methods for going up and down
|
||||
return
|
||||
|
||||
//VOREStation Addition Start
|
||||
if(istype(AM, /obj/effect/plant))
|
||||
return
|
||||
//VOREStation Addition End
|
||||
if(isliving(AM))
|
||||
var/mob/living/L = AM
|
||||
|
||||
@@ -401,10 +406,12 @@
|
||||
// Or if we climb up the middle
|
||||
if((bottom in oldloc) || oldloc == GetBelow(src))
|
||||
return
|
||||
|
||||
//VOREStation Addition Start
|
||||
if(istype(AM, /obj/effect/plant))
|
||||
return
|
||||
//VOREStation Addition End
|
||||
if(isobserver(AM)) // Ghosts have their own methods for going up and down
|
||||
return
|
||||
|
||||
if(AM.pulledby) // Animating the movement of pulled things is handled when the puller goes up the stairs
|
||||
return
|
||||
|
||||
@@ -450,10 +457,12 @@
|
||||
/obj/structure/stairs/top/use_stairs_instant(var/atom/movable/AM)
|
||||
if(isobserver(AM)) // Ghosts have their own methods for going up and down
|
||||
return
|
||||
|
||||
//VOREStation Addition Start
|
||||
if(istype(AM, /obj/effect/plant))
|
||||
return
|
||||
//VOREStation Addition End
|
||||
if(isliving(AM))
|
||||
var/mob/living/L = AM
|
||||
|
||||
if(L.grabbed_by.len) // Same as pulledby, whoever's holding you will keep you from going down stairs.
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user