Misc fixes (#19375)

* Misc fixes

* river

* delta

* waterfall

* cloudburst

* thunderstorm
This commit is contained in:
Joan Lung
2016-07-20 04:12:49 -04:00
committed by oranges
parent 78eb476eb9
commit fa257f92ab
6 changed files with 81 additions and 70 deletions
+2 -2
View File
@@ -33916,7 +33916,7 @@ aa
aa
aa
aj
en
aj
aj
ab
ab
@@ -34173,7 +34173,7 @@ aa
aa
aa
aj
aj
en
aj
aj
ab
+4 -7
View File
@@ -1,11 +1,11 @@
/obj/structure/flora
burn_state = FLAMMABLE
burntime = 30
anchored = 1
//trees
/obj/structure/flora/tree
name = "tree"
anchored = 1
density = 1
pixel_x = -16
layer = FLY_LAYER
@@ -17,14 +17,14 @@
if(W.sharpness && W.force > 0)
if(W.hitsound)
playsound(get_turf(src), W.hitsound, 100, 0, 0)
user.visible_message("<span class='notice'>[user] begins to cut down [src] with [W].</span>","<span class='notice'>You begin to cut down [src] with [W].</span>", "You hear the sound of cutting a tree.")
user.visible_message("<span class='notice'>[user] begins to cut down [src] with [W].</span>","<span class='notice'>You begin to cut down [src] with [W].</span>", "You hear the sound of sawing.")
if(do_after(user, 1000/W.force, target = user)) //5 seconds with 20 force, 8 seconds with a hatchet, 20 seconds with a shard.
if(cut)
return
user.visible_message("<span class='notice'>[user] falls [src] with the [W].</span>","<span class='notice'>You fall [src] with the [W].</span>", "You hear the sound of a tree falling.")
user.visible_message("<span class='notice'>[user] fells [src] with the [W].</span>","<span class='notice'>You fell [src] with the [W].</span>", "You hear the sound of a tree falling.")
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 100 , 0, 0)
icon_state = "tree_stump"
name = "stump"
name += " stump"
cut = TRUE
for(var/i=1 to log_amount)
new /obj/item/weapon/grown/log/tree(get_turf(src))
@@ -71,7 +71,6 @@
/obj/structure/flora/grass
name = "grass"
icon = 'icons/obj/flora/snowflora.dmi'
anchored = 1
gender = PLURAL //"this is grass" not "this is a grass"
/obj/structure/flora/grass/brown
@@ -114,7 +113,6 @@
name = "bush"
icon = 'icons/obj/flora/ausflora.dmi'
icon_state = "firstbush_1"
anchored = 1
/obj/structure/flora/ausbushes/New()
if(icon_state == "firstbush_1")
@@ -279,7 +277,6 @@
icon_state = "basalt"
desc = "A volcanic rock"
icon = 'icons/obj/flora/rocks.dmi'
anchored = 1
burn_state = FIRE_PROOF
density = 1
+4 -4
View File
@@ -8,12 +8,10 @@
anchored = TRUE
density = FALSE
opacity = 0
var/deconstructible = 1
var/deconstructible = TRUE
/obj/structure/fluff/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/weapon/wrench))
if(!deconstructible)
return
if(istype(I, /obj/item/weapon/wrench) && deconstructible)
user.visible_message("<span class='notice'>[user] starts disassembling [src]...</span>", "<span class='notice'>You start disassembling [src]...</span>")
playsound(user, 'sound/items/Ratchet.ogg', 50, 1)
if(!do_after(user, 50, target = src))
@@ -64,7 +62,9 @@
desc = "A towering basalt sculpture of a proud and regal drake. Its eyes are six glowing gemstones."
icon = 'icons/effects/64x64.dmi'
icon_state = "drake_statue"
pixel_x = -16
density = TRUE
deconstructible = FALSE
/obj/structure/fluff/drake_statue/falling //A variety of statue in disrepair; parts are broken off and a gemstone is missing
desc = "A towering basalt sculpture of a drake. Cracks run down its surface and parts of it have fallen off."
+5 -7
View File
@@ -214,7 +214,6 @@
icon_state = "lava"
baseturf = /turf/open/floor/plating/lava //lava all the way down
slowdown = 2
var/processing = 0
luminosity = 1
/turf/open/floor/plating/lava/airless
@@ -222,13 +221,10 @@
/turf/open/floor/plating/lava/Entered(atom/movable/AM)
burn_stuff()
if(!processing)
processing = 1
START_PROCESSING(SSobj, src)
START_PROCESSING(SSobj, src)
/turf/open/floor/plating/lava/process()
if(!burn_stuff())
processing = 0
STOP_PROCESSING(SSobj, src)
/turf/open/floor/plating/lava/make_plating()
@@ -245,8 +241,10 @@
/turf/open/floor/plating/lava/proc/burn_stuff()
. = 0
for(var/thing in contents)
if(istype(thing, /obj))
if(isobj(thing))
var/obj/O = thing
if(O.burn_state == LAVA_PROOF || O.throwing)
continue
if(istype(O, /obj/effect/decal/cleanable/ash)) //So we don't get stuck burning the same ash pile forever
qdel(O)
continue
@@ -257,7 +255,7 @@
O.fire_act()
else if (istype(thing, /mob/living))
else if (isliving(thing))
. = 1
var/mob/living/L = thing
if("lava" in L.weather_immunities)
+54 -40
View File
@@ -575,41 +575,56 @@
var/drop_y = 1
var/drop_z = 1
/turf/open/chasm/Entered(atom/movable/AM)
if(istype(AM, /obj/singularity) || istype(AM, /obj/item/projectile))
return
START_PROCESSING(SSobj, src)
drop_stuff()
/turf/open/chasm/process()
if(!drop_stuff())
STOP_PROCESSING(SSobj, src)
/turf/open/chasm/proc/drop_stuff()
. = 0
for(var/thing in contents)
if(droppable(thing))
. = 1
drop(thing)
/turf/open/chasm/proc/droppable(atom/movable/AM)
if(!isliving(AM) && !isobj(AM))
return 0
if(istype(AM, /obj/singularity) || istype(AM, /obj/item/projectile) || AM.throwing)
return 0
if(istype(AM, /obj/effect/portal))
// Portals aren't affected by gravity. Probably.
return
// Flies right over the chasm
if(istype(AM, /mob/living/simple_animal))
// apparently only simple_animals can fly??
//Portals aren't affected by gravity. Probably.
return 0
//Flies right over the chasm
if(isanimal(AM))
var/mob/living/simple_animal/SA = AM
if(SA.flying)
return
if(istype(AM, /mob/living/carbon/human))
return 0
if(ishuman(AM))
var/mob/living/carbon/human/H = AM
if(istype(H.belt, /obj/item/device/wormhole_jaunter))
var/obj/item/device/wormhole_jaunter/J = H.belt
// To freak out any bystanders
//To freak out any bystanders
visible_message("<span class='boldwarning'>[H] falls into [src]!</span>")
J.chasm_react(H)
return
if(H.dna.species && (FLYING in H.dna.species.specflags))
return
drop(AM)
return 0
if(H.dna && H.dna.species && (FLYING in H.dna.species.specflags))
return 0
return 1
/turf/open/chasm/proc/drop(atom/movable/AM)
/*visible_message("[AM] falls into [src]!")
qdel(AM)*/
AM.forceMove(locate(drop_x, drop_y, drop_z))
AM.visible_message("<span class='boldwarning'>[AM] falls from above!</span>", "<span class='userdanger'>GAH! Ah... where are you?</span>")
if(istype(AM, /mob/living))
var/mob/living/L = AM
L.Weaken(5)
L.adjustBruteLoss(30)
var/turf/T = locate(drop_x, drop_y, drop_z)
if(T)
AM.visible_message("<span class='boldwarning'>[AM] falls into [src]!</span>", "<span class='userdanger'>GAH! Ah... where are you?</span>")
T.visible_message("<span class='boldwarning'>[AM] falls from above!</span>")
AM.forceMove(T)
if(isliving(AM))
var/mob/living/L = AM
L.Weaken(5)
L.adjustBruteLoss(30)
/turf/open/chasm/straight_down/New()
..()
@@ -636,22 +651,21 @@
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
/turf/open/chasm/straight_down/lava_land_surface/drop(atom/movable/AM)
if(!AM.invisibility)
AM.visible_message("<span class='boldwarning'>[AM] falls into [src]!</span>", "<span class='userdanger'>You stumble and stare into an abyss before you. It stares back, and you fall \
into the enveloping dark.</span>")
if(isliving(AM))
var/mob/living/L = AM
L.notransform = TRUE
L.Stun(10)
L.resting = TRUE
animate(AM, transform = matrix() - matrix(), alpha = 0, color = rgb(0, 0, 0), time = 10)
for(var/i in 1 to 5)
AM.pixel_y--
sleep(2)
if(isrobot(AM))
var/mob/living/silicon/robot/S = AM
qdel(S.mmi)
qdel(AM)
AM.visible_message("<span class='boldwarning'>[AM] falls into [src]!</span>", "<span class='userdanger'>You stumble and stare into an abyss before you. It stares back, and you fall \
into the enveloping dark.</span>")
if(isliving(AM))
var/mob/living/L = AM
L.notransform = TRUE
L.Stun(10)
L.resting = TRUE
animate(AM, transform = matrix() - matrix(), alpha = 0, color = rgb(0, 0, 0), time = 10)
for(var/i in 1 to 5)
AM.pixel_y--
sleep(2)
if(isrobot(AM))
var/mob/living/silicon/robot/S = AM
qdel(S.mmi)
qdel(AM)
/turf/closed/mineral/volcanic/lava_land_surface
environment_type = "basalt"
+12 -10
View File
@@ -62,11 +62,12 @@
break
else if(istype(item, /obj/item/weapon/stock_parts/cell/))
var/obj/item/weapon/stock_parts/cell/C = item
if(prob(80))
C.maxcharge -= 200
if(C.maxcharge <= 1) //Div by 0 protection
C.maxcharge = 1
burnt_out = 1
if(!C.self_recharge)
if(prob(80))
C.maxcharge -= 200
if(C.maxcharge <= 1) //Div by 0 protection
C.maxcharge = 1
burnt_out = 1
C.charge = C.maxcharge
charged_item = C
break
@@ -75,11 +76,12 @@
for(I in item.contents)
if(istype(I, /obj/item/weapon/stock_parts/cell/))
var/obj/item/weapon/stock_parts/cell/C = I
if(prob(80))
C.maxcharge -= 200
if(C.maxcharge <= 1) //Div by 0 protection
C.maxcharge = 1
burnt_out = 1
if(!C.self_recharge)
if(prob(80))
C.maxcharge -= 200
if(C.maxcharge <= 1) //Div by 0 protection
C.maxcharge = 1
burnt_out = 1
C.charge = C.maxcharge
item.update_icon()
charged_item = item