Merge branch 'master' of https://github.com/VOREStation/VOREStation into making-of-shadekin

This commit is contained in:
Heroman3003
2019-10-29 09:33:48 +10:00
1698 changed files with 269984 additions and 473924 deletions
+37
View File
@@ -64,6 +64,19 @@
healthcheck()
return
/obj/effect/alien/resin/attack_generic(var/mob/user, var/damage, var/attack_verb)
visible_message("<span class='danger'>[user] [attack_verb] the [src]!</span>")
playsound(loc, 'sound/effects/attackblob.ogg', 100, 1)
user.do_attack_animation(src)
health -= damage
healthcheck()
return
/obj/effect/alien/resin/take_damage(var/damage)
health -= damage
healthcheck()
return
/obj/effect/alien/resin/ex_act(severity)
switch(severity)
if(1.0)
@@ -246,6 +259,18 @@ Alien plants should do something if theres a lot of poison
health -= damage
healthcheck()
/obj/effect/alien/weeds/attack_generic(var/mob/user, var/damage, var/attack_verb)
visible_message("<span class='danger'>[user] [attack_verb] the [src]!</span>")
user.do_attack_animation(src)
health -= damage
healthcheck()
return
/obj/effect/alien/weeds/take_damage(var/damage)
health -= damage
healthcheck()
return
/obj/effect/alien/weeds/proc/healthcheck()
if(health <= 0)
qdel(src)
@@ -401,6 +426,18 @@ Alien plants should do something if theres a lot of poison
healthcheck()
return
/obj/effect/alien/egg/attack_generic(var/mob/user, var/damage, var/attack_verb)
visible_message("<span class='danger'>[user] [attack_verb] the [src]!</span>")
user.do_attack_animation(src)
health -= damage
healthcheck()
return
/obj/effect/alien/egg/take_damage(var/damage)
health -= damage
healthcheck()
return
/obj/effect/alien/egg/attackby(var/obj/item/weapon/W, var/mob/user)
if(health <= 0)
+36
View File
@@ -0,0 +1,36 @@
/*
* Home of the floor chemical coating.
*/
/obj/effect/decal/cleanable/chemcoating
icon = 'icons/effects/effects.dmi'
icon_state = "dirt"
/obj/effect/decal/cleanable/chemcoating/New()
..()
create_reagents(100)
/obj/effect/decal/cleanable/chemcoating/Initialize()
..()
var/turf/T = get_turf(src)
if(T)
for(var/obj/O in get_turf(src))
if(O == src)
continue
if(istype(O, /obj/effect/decal/cleanable/chemcoating))
var/obj/effect/decal/cleanable/chemcoating/C = O
if(C.reagents && C.reagents.reagent_list.len)
C.reagents.trans_to_obj(src,C.reagents.total_volume)
qdel(O)
/obj/effect/decal/cleanable/chemcoating/Bumped(A as mob|obj)
if(reagents)
reagents.touch(A)
return ..()
/obj/effect/decal/cleanable/chemcoating/Crossed(AM as mob|obj)
Bumped(AM)
/obj/effect/decal/cleanable/chemcoating/update_icon()
..()
color = reagents.get_color()
@@ -99,7 +99,6 @@ var/global/list/image/splatter_cache=list()
S.overlays += S.blood_overlay
if(S.blood_overlay && S.blood_overlay.color != basecolor)
S.blood_overlay.color = basecolor
S.overlays.Cut()
S.overlays += S.blood_overlay
S.blood_DNA |= blood_DNA.Copy()
perp.update_inv_shoes()
@@ -414,6 +414,10 @@ steam.start() -- spawns the effect
src.processing = 0
spawn(0)
var/turf/T = get_turf(src.holder)
if(istype(holder, /atom/movable))
var/atom/movable/AM = holder
if(AM.locs && AM.locs.len)
T = pick(AM.locs)
if(T != src.oldposition)
if(isturf(T))
var/obj/effect/effect/ion_trails/I = new /obj/effect/effect/ion_trails(src.oldposition)
@@ -1,19 +1,19 @@
// Constantly emites radiation from the tile it's placed on.
/obj/effect/map_effect/radiation_emitter
name = "radiation emitter"
icon_state = "radiation_emitter"
var/radiation_power = 30 // Bigger numbers means more radiation.
/obj/effect/map_effect/radiation_emitter/Initialize()
START_PROCESSING(SSobj, src)
return ..()
/obj/effect/map_effect/radiation_emitter/Destroy()
STOP_PROCESSING(SSobj, src)
return ..()
/obj/effect/map_effect/radiation_emitter/process()
radiation_repository.radiate(src, radiation_power)
// Constantly emites radiation from the tile it's placed on.
/obj/effect/map_effect/radiation_emitter
name = "radiation emitter"
icon_state = "radiation_emitter"
var/radiation_power = 30 // Bigger numbers means more radiation.
/obj/effect/map_effect/radiation_emitter/Initialize()
START_PROCESSING(SSobj, src)
return ..()
/obj/effect/map_effect/radiation_emitter/Destroy()
STOP_PROCESSING(SSobj, src)
return ..()
/obj/effect/map_effect/radiation_emitter/process()
SSradiation.radiate(src, radiation_power)
/obj/effect/map_effect/radiation_emitter/strong
radiation_power = 100
@@ -6,6 +6,8 @@
invisibility = 99 // nope cant see this shit
plane = ABOVE_PLANE
anchored = 1
icon = 'icons/mob/screen1.dmi' //VS Edit
icon_state = "centermarker" //VS Edit
/obj/effect/step_trigger/proc/Trigger(var/atom/movable/A)
return 0
@@ -233,6 +235,10 @@ var/global/list/tele_landmarks = list() // Terrible, but the alternative is loop
if(isobserver(A))
A.forceMove(T) // Harmlessly move ghosts.
return
//VOREStation Edit Start
if(!(A.can_fall()))
return // Phased shifted kin should not fall
//VOREStation Edit End
A.forceMove(T)
// Living things should probably be logged when they fall...
@@ -44,3 +44,14 @@
icon_state = "explosionfast"
duration = 4
// VOREStation Add End
//VOREStation edit: medigun
/obj/effect/temp_visual/heal
name = "healing glow"
icon_state = "heal"
duration = 15
/obj/effect/temp_visual/heal/Initialize(mapload)
pixel_x = rand(-12, 12)
pixel_y = rand(-9, 0)
//VOREStation edit ends
@@ -79,3 +79,12 @@
light_range = 4
light_power = 3
light_color = "#3300ff"
//VOREStation edit: medigun
/obj/effect/projectile/impact/medigun
icon = 'icons/obj/projectiles_vr.dmi'
icon_state = "impact_medbeam"
light_range = 2
light_power = 0.5
light_color = "#80F5FF"
//VOREStation edit ends
@@ -91,3 +91,12 @@
light_range = 4
light_power = 3
light_color = "#3300ff"
//VOREStation edit: medigun
/obj/effect/projectile/muzzle/medigun
icon = 'icons/obj/projectiles_vr.dmi'
icon_state = "muzzle_medbeam"
light_range = 2
light_power = 0.5
light_color = "#80F5FF"
//VOREStation edit ends
@@ -1,4 +1,12 @@
/proc/generate_tracer_between_points(datum/point/starting, datum/point/ending, beam_type, color, qdel_in = 5, light_range = 2, light_color_override, light_intensity = 1, instance_key) //Do not pass z-crossing points as that will not be properly (and likely will never be properly until it's absolutely needed) supported!
/datum/beam_components_cache
var/list/beam_components = list()
/datum/beam_components_cache/Destroy()
for(var/component in beam_components)
qdel(component)
return ..()
/proc/generate_tracer_between_points(datum/point/starting, datum/point/ending, datum/beam_components_cache/beam_components, beam_type, color, qdel_in = 5, light_range = 2, light_color_override, light_intensity = 1, instance_key) //Do not pass z-crossing points as that will not be properly (and likely will never be properly until it's absolutely needed) supported!
if(!istype(starting) || !istype(ending) || !ispath(beam_type))
return
var/datum/point/midpoint = point_midpoint_points(starting, ending)
@@ -21,10 +29,9 @@
for(var/obj/effect/projectile_lighting/PL in T)
if(PL.owner == instance_key)
continue tracing_line
QDEL_IN(new /obj/effect/projectile_lighting(T, light_color_override, light_range, light_intensity, instance_key), qdel_in > 0? qdel_in : 5)
beam_components.beam_components += new /obj/effect/projectile_lighting(T, light_color_override, light_range, light_intensity, instance_key)
line = null
if(qdel_in)
QDEL_IN(PB, qdel_in)
beam_components.beam_components += PB
/obj/effect/projectile/tracer
name = "beam"
@@ -107,3 +114,12 @@
light_range = 4
light_power = 3
light_color = "#3300ff"
//VOREStation edit: medigun
/obj/effect/projectile/tracer/medigun
icon = 'icons/obj/projectiles_vr.dmi'
icon_state = "medbeam"
light_range = 2
light_power = 0.5
light_color = "#80F5FF"
//VOREStation edit ends