Merge remote-tracking branch 'upstream/master' into wormholeProjector

Conflicts:
	icons/mob/items_lefthand.dmi
	icons/mob/items_righthand.dmi
This commit is contained in:
Perakp
2014-11-29 09:37:40 +02:00
851 changed files with 44677 additions and 74411 deletions
+18 -14
View File
@@ -79,7 +79,7 @@
healthcheck()
/obj/structure/alien/resin/ex_act(severity)
/obj/structure/alien/resin/ex_act(severity, specialty)
switch(severity)
if(1.0)
health -= 150
@@ -109,8 +109,9 @@
healthcheck()
/obj/structure/alien/resin/attack_hand(mob/user)
/obj/structure/alien/resin/attack_hand(mob/living/user)
if(HULK in user.mutations)
user.do_attack_animation(src)
user.visible_message("<span class='danger'>[user] destroys [src]!</span>")
health = 0
healthcheck()
@@ -120,8 +121,9 @@
return attack_hand(user)
/obj/structure/alien/resin/attack_alien(mob/user)
/obj/structure/alien/resin/attack_alien(mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
if(islarva(user))
return
user.visible_message("<span class='danger'>[user] claws at the resin!</span>")
@@ -132,7 +134,7 @@
healthcheck()
/obj/structure/alien/resin/attackby(obj/item/I, mob/user)
/obj/structure/alien/resin/attackby(obj/item/I, mob/living/user)
user.changeNext_move(CLICK_CD_MELEE)
health -= I.force
playsound(loc, 'sound/effects/attackblob.ogg', 100, 1)
@@ -209,7 +211,7 @@
new /obj/structure/alien/weeds(T, linked_node)
/obj/structure/alien/weeds/ex_act(severity)
/obj/structure/alien/weeds/ex_act(severity, specialty)
qdel(src)
@@ -448,9 +450,9 @@
pixel_y = target.pixel_y
if(isturf(target)) //Turfs take twice as long to take down.
target_strength = 8
target_strength = 640
else
target_strength = 4
target_strength = 320
tick()
@@ -472,18 +474,20 @@
qdel(src)
return
loc = target.loc
x = target.x
y = target.y
z = target.z
switch(target_strength - ticks)
if(6)
if(480)
visible_message("<span class='warning'>[target] is holding up against the acid!</span>")
if(4)
if(320)
visible_message("<span class='warning'>[target] is being melted by the acid!</span>")
if(2)
if(160)
visible_message("<span class='warning'>[target] is struggling to withstand the acid!</span>")
if(0 to 1)
if(80)
visible_message("<span class='warning'>[target] begins to crumble under the acid!</span>")
spawn(rand(150, 200))
spawn(1)
if(src)
tick()
tick()
@@ -58,7 +58,7 @@
icon_state = "gibbl5"
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6")
/obj/effect/decal/cleanable/blood/gibs/ex_act(severity)
/obj/effect/decal/cleanable/blood/gibs/ex_act(severity, specialty)
return
/obj/effect/decal/cleanable/blood/gibs/remove_ex_blood()
+1 -1
View File
@@ -2,5 +2,5 @@
name = "decal"
icon = 'icons/effects/effects.dmi'
/obj/effect/decal/ex_act(severity)
/obj/effect/decal/ex_act(severity, specialty)
qdel(src)
-5
View File
@@ -6,11 +6,6 @@
anchored = 1
mouse_opacity = 0
/obj/effect/decal/point/point()
set src in oview()
set hidden = 1
return
// Used for spray that you spray at walls, tables, hydrovats etc
/obj/effect/decal/spraystill
density = 0
+22 -21
View File
@@ -365,8 +365,9 @@ steam.start() -- spawns the effect
if (M.coughedtime != 1)
M.coughedtime = 1
M.emote("cough")
spawn ( 20 )
M.coughedtime = 0
spawn(20)
if(M && M.loc)
M.coughedtime = 0
return
@@ -389,8 +390,9 @@ steam.start() -- spawns the effect
if (M.coughedtime != 1)
M.coughedtime = 1
M.emote("cough")
spawn ( 20 )
M.coughedtime = 0
spawn(20)
if(M && M.loc)
M.coughedtime = 0
return
/datum/effect/effect/system/bad_smoke_spread
@@ -602,8 +604,9 @@ steam.start() -- spawns the effect
if (M.coughedtime != 1)
M.coughedtime = 1
M.emote("cough")
spawn ( 20 )
M.coughedtime = 0
spawn(20)
if(M && M.loc)
M.coughedtime = 0
return
/obj/effect/effect/sleep_smoke/Crossed(mob/living/carbon/M as mob )
@@ -618,8 +621,9 @@ steam.start() -- spawns the effect
if (M.coughedtime != 1)
M.coughedtime = 1
M.emote("cough")
spawn ( 20 )
M.coughedtime = 0
spawn(20)
if(M && M.loc)
M.coughedtime = 0
return
/datum/effect/effect/system/sleep_smoke_spread
@@ -684,9 +688,9 @@ steam.start() -- spawns the effect
/datum/effect/effect/system/ion_trail_follow/set_up(atom/atom)
attach(atom)
oldposition = get_turf(atom)
/datum/effect/effect/system/ion_trail_follow/start()
/datum/effect/effect/system/ion_trail_follow/start() //Whoever is responsible for this abomination of code should become an hero
if(!src.on)
src.on = 1
src.processing = 1
@@ -696,26 +700,22 @@ steam.start() -- spawns the effect
if(T != src.oldposition)
if(!has_gravity(T))
var/obj/effect/effect/ion_trails/I = new /obj/effect/effect/ion_trails(src.oldposition)
src.oldposition = T
I.dir = src.holder.dir
flick("ion_fade", I)
I.icon_state = "blank"
spawn( 20 )
if(I)
I.delete()
spawn(2)
if(src.on)
src.processing = 1
src.start()
else
spawn(2)
if(src.on)
src.processing = 1
src.start()
src.oldposition = T
spawn(2)
if(src.on)
src.processing = 1
src.start()
/datum/effect/effect/system/ion_trail_follow/proc/stop()
src.processing = 0
src.on = 0
oldposition = null
@@ -944,7 +944,7 @@ steam.start() -- spawns the effect
icon_state = "ironfoam"
/obj/structure/foamedmetal/ex_act(severity)
/obj/structure/foamedmetal/ex_act(severity, specialty)
qdel(src)
/obj/structure/foamedmetal/blob_act()
@@ -961,6 +961,7 @@ steam.start() -- spawns the effect
/obj/structure/foamedmetal/attack_animal(var/mob/living/simple_animal/M)
if(M.environment_smash >= 1)
M.do_attack_animation(src)
M << "<span class='notice'>You smash apart the foam wall.</span>"
qdel(src)
return
@@ -0,0 +1,70 @@
/obj/effect/expl_particles
name = "fire"
icon = 'icons/effects/effects.dmi'
icon_state = "explosion_particle"
opacity = 1
anchored = 1
mouse_opacity = 0
/obj/effect/expl_particles/New()
..()
spawn (15)
qdel(src)
return
/obj/effect/expl_particles/Move()
..()
return
/datum/effect/system/expl_particles
var/number = 10
var/turf/location
var/total_particles = 0
/datum/effect/system/expl_particles/proc/set_up(n = 10, loca)
number = n
if(istype(loca, /turf/)) location = loca
else location = get_turf(loca)
/datum/effect/system/expl_particles/proc/start()
var/i = 0
for(i=0, i<src.number, i++)
spawn(0)
var/obj/effect/expl_particles/expl = new /obj/effect/expl_particles(src.location)
var/direct = pick(alldirs)
for(i=0, i<pick(1;25,2;50,3,4;200), i++)
sleep(1)
step(expl,direct)
/obj/effect/explosion
name = "fire"
icon = 'icons/effects/96x96.dmi'
icon_state = "explosion"
opacity = 1
anchored = 1
mouse_opacity = 0
pixel_x = -32
pixel_y = -32
/obj/effect/explosion/New()
..()
spawn (10)
qdel(src)
return
/datum/effect/system/explosion
var/turf/location
/datum/effect/system/explosion/proc/set_up(loca)
if(istype(loca, /turf/)) location = loca
else location = get_turf(loca)
/datum/effect/system/explosion/proc/start()
new/obj/effect/explosion( location )
var/datum/effect/system/expl_particles/P = new/datum/effect/system/expl_particles()
P.set_up(10,location)
P.start()
spawn(5)
var/datum/effect/effect/system/harmless_smoke_spread/S = new/datum/effect/effect/system/harmless_smoke_spread()
S.set_up(5,0,location,null)
S.start()
-3
View File
@@ -28,9 +28,6 @@
return
var/obj/effect/decal/cleanable/blood/gibs/gib = null
for(var/datum/disease/D in viruses)
if(D.spread_type == SPECIAL)
del(D)
if(sparks)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+8 -2
View File
@@ -117,7 +117,7 @@
endurance -= W.force
CheckEndurance()
/obj/effect/glowshroom/ex_act(severity)
/obj/effect/glowshroom/ex_act(severity, specialty)
switch(severity)
if(1.0)
qdel(src)
@@ -140,4 +140,10 @@
/obj/effect/glowshroom/proc/CheckEndurance()
if(endurance <= 0)
qdel(src)
qdel(src)
/obj/effect/glowshroom/acid_act(var/acidpwr, var/toxpwr, var/acid_volume)
visible_message("<span class='danger'>[src] melts away!</span>")
var/obj/effect/decal/cleanable/molten_item/I = new (get_turf(src))
I.desc = "Looks like this was \an [src] some time ago."
qdel(src)
-8
View File
@@ -141,14 +141,6 @@
new /obj/item/clothing/head/that(src.loc)
qdel(src)
/obj/effect/landmark/costume/scratch/New()
new /obj/item/clothing/gloves/white(src.loc)
new /obj/item/clothing/shoes/sneakers/white(src.loc)
new /obj/item/clothing/under/scratch(src.loc)
if (prob(30))
new /obj/item/clothing/head/cueball(src.loc)
qdel(src)
/obj/effect/landmark/costume/highlander/New()
new /obj/item/clothing/under/kilt(src.loc)
new /obj/item/clothing/head/beret(src.loc)
+4 -1
View File
@@ -3,7 +3,10 @@
unacidable = 1
var/i_attached//Added for possible image attachments to objects. For hallucinations and the like.
obj/effect/overlay/singularity_act()
/obj/effect/overlay/singularity_act()
return
/obj/effect/overlay/singularity_pull()
return
/obj/effect/overlay/beam//Not actually a projectile, just an effect.
+38 -41
View File
@@ -8,7 +8,7 @@
var/health = 15
//similar to weeds, but only barfed out by nurses manually
/obj/effect/spider/ex_act(severity)
/obj/effect/spider/ex_act(severity, specialty)
switch(severity)
if(1.0)
qdel(src)
@@ -61,7 +61,7 @@
/obj/effect/spider/stickyweb/CanPass(atom/movable/mover, turf/target, height=0)
if(height==0) return 1
if(istype(mover, /mob/living/simple_animal/hostile/giant_spider))
if(istype(mover, /mob/living/simple_animal/hostile/poison/giant_spider))
return 1
else if(istype(mover, /mob/living))
if(prob(50))
@@ -132,43 +132,40 @@
entry_vent = null
else if(entry_vent)
if(get_dist(src, entry_vent) <= 1)
if(entry_vent.network && entry_vent.network.normal_members.len)
var/list/vents = list()
for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in entry_vent.network.normal_members)
vents.Add(temp_vent)
if(!vents.len)
entry_vent = null
return
var/obj/machinery/atmospherics/unary/vent_pump/exit_vent = pick(vents)
if(prob(50))
visible_message("<B>[src] scrambles into the ventillation ducts!</B>", \
"<span class='notice'>You hear something squeezing through the ventilation ducts.</span>")
spawn(rand(20,60))
loc = exit_vent
var/travel_time = round(get_dist(loc, exit_vent.loc) / 2)
spawn(travel_time)
if(!exit_vent || exit_vent.welded)
loc = entry_vent
entry_vent = null
return
if(prob(50))
audible_message("<span class='notice'>You hear something squeezing through the ventilation ducts.</span>")
sleep(travel_time)
if(!exit_vent || exit_vent.welded)
loc = entry_vent
entry_vent = null
return
loc = exit_vent.loc
entry_vent = null
var/area/new_area = get_area(loc)
if(new_area)
new_area.Entered(src)
else
var/list/vents = list()
for(var/obj/machinery/atmospherics/unary/vent_pump/temp_vent in entry_vent.parent.other_atmosmch)
vents.Add(temp_vent)
if(!vents.len)
entry_vent = null
return
var/obj/machinery/atmospherics/unary/vent_pump/exit_vent = pick(vents)
if(prob(50))
visible_message("<B>[src] scrambles into the ventillation ducts!</B>", \
"<span class='notice'>You hear something squeezing through the ventilation ducts.</span>")
spawn(rand(20,60))
loc = exit_vent
var/travel_time = round(get_dist(loc, exit_vent.loc) / 2)
spawn(travel_time)
if(!exit_vent || exit_vent.welded)
loc = entry_vent
entry_vent = null
return
if(prob(50))
audible_message("<span class='notice'>You hear something squeezing through the ventilation ducts.</span>")
sleep(travel_time)
if(!exit_vent || exit_vent.welded)
loc = entry_vent
entry_vent = null
return
loc = exit_vent.loc
entry_vent = null
var/area/new_area = get_area(loc)
if(new_area)
new_area.Entered(src)
//=================
else if(prob(33))
@@ -189,8 +186,8 @@
amount_grown += rand(0,2)
if(amount_grown >= 100)
if(!grow_as)
grow_as = pick(typesof(/mob/living/simple_animal/hostile/giant_spider))
var/mob/living/simple_animal/hostile/giant_spider/S = new grow_as(src.loc)
grow_as = pick(typesof(/mob/living/simple_animal/hostile/poison/giant_spider))
var/mob/living/simple_animal/hostile/poison/giant_spider/S = new grow_as(src.loc)
if(player_spiders)
var/list/candidates = get_candidates(BE_ALIEN, ALIEN_AFK_BRACKET)
var/client/C = null
@@ -213,7 +210,7 @@
var/mob/living/user = usr
var/breakout_time = 2
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
user.last_special = world.time + CLICK_CD_BREAKOUT
user << "<span class='notice'>You struggle against the tight bonds! (This will take about [breakout_time] minutes.)</span>"
visible_message("You see something struggling and writhing in the [src]!")
if(do_after(user,(breakout_time*60*10)))