Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into definecrusade

This commit is contained in:
Chinsky
2015-06-05 13:24:03 +03:00
17 changed files with 74 additions and 91 deletions

View File

@@ -29,7 +29,7 @@ var/global/list/GlobalPool = list()
if(!D)
// So the GC knows we're pooling this type.
if(!GlobalPool[get_type])
GlobalPool[get_type] = list(new get_type)
GlobalPool[get_type] = list()
if(islist(second_arg))
return new get_type (arglist(second_arg))
else
@@ -58,6 +58,9 @@ var/global/list/GlobalPool = list()
#ifdef DEBUG_ATOM_POOL
world << text("DEBUG_DATUM_POOL: PlaceInPool([]) exceeds []. Discarding.", D.type, ATOM_POOL_COUNT)
#endif
if(garbage_collector)
garbage_collector.AddTrash(D)
else
del(D)
return

View File

@@ -85,14 +85,8 @@ var/list/delayed_garbage = list()
/proc/qdel(var/datum/A)
if(!A)
return
if(istype(A, /list))
var/list/L = A
for(var/E in L)
qdel(E)
return
if(!istype(A))
//warning("qdel() passed object of type [A.type]. qdel() can only handle /datum types.")
warning("qdel() passed object of type [A.type]. qdel() can only handle /datum types.")
del(A)
if(garbage_collector)
garbage_collector.dels++

View File

@@ -23,18 +23,6 @@
//Detective Work, used for the duplicate data points kept in the scanners
var/list/original_atom
/atom/Destroy()
. = ..()
density = 0
set_opacity(0)
if(reagents)
qdel(reagents)
reagents = null
for(var/atom/movable/AM in contents)
qdel(AM)
invisibility = 101
/atom/proc/assume_air(datum/gas_mixture/giver)
return null

View File

@@ -31,8 +31,15 @@
/atom/movable/Destroy()
. = ..()
if(reagents)
qdel(reagents)
for(var/atom/movable/AM in contents)
qdel(AM)
loc = null
if (pulledby)
if (pulledby.pulling == src)
pulledby.pulling = null
pulledby = null
/atom/movable/proc/initialize()
return

View File

@@ -17,8 +17,11 @@
if(!target)
return
for(var/i = 1 to step_count)
if(!loc)
return
step_towards(src, target)
var/turf/T = get_turf(src)
if(T && reagents)
reagents.touch_turf(T)
var/mob/M = locate() in T
if(M)

View File

@@ -255,6 +255,7 @@
var/orig_amount = src.amount
if (transfer && src.use(transfer))
var/obj/item/stack/newstack = new src.type(loc, transfer)
newstack.color = color
if (prob(transfer/orig_amount * 100))
transfer_fingerprints_to(newstack)
if(blood_DNA)

View File

@@ -10,40 +10,3 @@
w_class = 4
max_w_class = 3
max_storage_space = 16
/obj/item/weapon/storage/briefcase/New()
..()
/obj/item/weapon/storage/briefcase/attack(mob/living/M as mob, mob/living/user as mob)
//..()
if ((CLUMSY in user.mutations) && prob(50))
user << "<span class='warning'>\The [src] slips out of your hand and hits your head.</span>"
user.take_organ_damage(10)
user.Paralyse(2)
return
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been attacked with [src.name] by [user.name] ([user.ckey])</font>")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Used the [src.name] to attack [M.name] ([M.ckey])</font>")
msg_admin_attack("[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)]) (<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A>)")
if (M.stat < 2 && M.health < 50 && prob(90))
var/mob/H = M
// ******* Check
if ((istype(H, /mob/living/carbon/human) && istype(H, /obj/item/clothing/head) && H.flags & 8 && prob(80)))
M << "<span class='warning'>The helmet protects you from being hit hard in the head!</span>"
return
var/time = rand(2, 6)
if (prob(75))
M.Paralyse(time)
else
M.Stun(time)
if(M.stat != 2) M.stat = 1
for(var/mob/O in viewers(M, null))
O.show_message("<span class='warning'>\The [M] has been knocked unconscious!</span>", 1, "<span class='warning'>You hear someone fall.</span>", 2)
else
M << "<span class='warning'>\The [user] tried to knock you unconcious!</span>"
M.eye_blurry += 3
return

View File

@@ -112,6 +112,8 @@
else if (R_MOD & C.holder.rights || R_MENTOR & C.holder.rights)
modmsg += "\t[C] is a [C.holder.rank]\n"
num_mods_online++
if(config.admin_irc)
src << "<span class='info'>Adminhelps are also sent to IRC. If no admins are available in game try anyway and an admin on IRC may see it and respond.</span>"
msg = "<b>Current Admins ([num_admins_online]):</b>\n" + msg + "\n<b> Current [config.mods_are_mentors ? "Mentors" : "Moderators"]([num_mods_online]):</b>\n" + modmsg
src << msg

View File

@@ -613,6 +613,12 @@ obj/structure/cable/proc/cableColor(var/colorC)
// Items usable on a cable coil :
// - Wirecutters : cut them duh !
// - Cable coil : merge cables
/obj/item/stack/cable_coil/proc/can_merge(var/obj/item/stack/cable_coil/C)
return color == C.color
/obj/item/stack/cable_coil/cyborg/can_merge()
return 1
/obj/item/stack/cable_coil/attackby(obj/item/weapon/W, mob/user)
..()
if( istype(W, /obj/item/weapon/wirecutters) && src.get_amount() > 1)
@@ -623,6 +629,11 @@ obj/structure/cable/proc/cableColor(var/colorC)
return
else if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = W
if(!can_merge(C))
user << "These coils do not go together."
return
if(C.get_amount() >= get_max_amount())
user << "The coil is too long, you cannot add any more cable to it."
return

View File

@@ -289,6 +289,7 @@
SortP.sortType = sortType
SortP.updatedir()
SortP.updatedesc()
SortP.updatename()
else if(ptype==6) // Disposal bin
var/obj/machinery/disposal/P = new /obj/machinery/disposal(src.loc)

View File

@@ -214,7 +214,7 @@
for(var/turf/O in covered_turfs)
var/obj/effect/energy_field/E = new(O)
field.Add(E)
qdel(covered_turfs)
covered_turfs = null
for(var/mob/M in view(5,src))
M << "\icon[src] You hear heavy droning start up."

View File

@@ -56,6 +56,20 @@
-->
<div class="commit sansserif">
<h2 class="date">05 June 2015</h2>
<h3 class="author">PsiOmegaDelta updated:</h3>
<ul class="changes bgimages16">
<li class="bugfix">Split stacks no longer lose their coloring.</li>
<li class="tweak">Can no longer merge cables of different colors.</li>
<li class="tweak">Blobs and simple mobs now attack all external organs instead of a subset. The overall damage remains the same but the number of fractures caused will, in general, be fewer.</li>
<li class="rscadd">Spider nurses now have a chance of injecting their victims with spider eggs which eventually hatch. If the limb is removed from the host, the host dies, or the spiderling has matured sufficiently it will crawl out into freedom. Medical scanners will pick upp eggs and spiderlings as foreign bodies.</li>
</ul>
<h3 class="author">Yoshax updated:</h3>
<ul class="changes bgimages16">
<li class="tweak">Makes hyposprays start empty instead of filled with Tricord.</li>
<li class="tweak">Makes the special wizard projectile staffs, Animate, Change, Focus and any future ones only usable by wizards. Also makes it so only wizards can use spellbooks and teleportation scrolls.</li>
</ul>
<h2 class="date">04 June 2015</h2>
<h3 class="author">PsiOmegaDelta updated:</h3>
<ul class="changes bgimages16">

View File

@@ -1947,3 +1947,19 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
- rscadd: Prison break event will warn Enginering and the AI beforehand so they
can take preventive measures.
- bugfix: Disabling area power will now prevent doors from opening during the event
2015-06-05:
PsiOmegaDelta:
- bugfix: Split stacks no longer lose their coloring.
- tweak: Can no longer merge cables of different colors.
- tweak: Blobs and simple mobs now attack all external organs instead of a subset.
The overall damage remains the same but the number of fractures caused will,
in general, be fewer.
- rscadd: Spider nurses now have a chance of injecting their victims with spider
eggs which eventually hatch. If the limb is removed from the host, the host
dies, or the spiderling has matured sufficiently it will crawl out into freedom.
Medical scanners will pick upp eggs and spiderlings as foreign bodies.
Yoshax:
- tweak: Makes hyposprays start empty instead of filled with Tricord.
- tweak: Makes the special wizard projectile staffs, Animate, Change, Focus and
any future ones only usable by wizards. Also makes it so only wizards can use
spellbooks and teleportation scrolls.

View File

@@ -1,5 +0,0 @@
author: PsiOmegaDelta
delete-after: True
changes:
- tweak: "Blobs and simple mobs now attack all external organs instead of a subset. The overall damage remains the same but the number of fractures caused will, in general, be fewer."

View File

@@ -1,5 +0,0 @@
author: PsiOmegaDelta
delete-after: True
changes:
- rscadd: "Spider nurses now have a chance of injecting their victims with spider eggs which eventually hatch. If the limb is removed from the host, the host dies, or the spiderling has matured sufficiently it will crawl out into freedom. Medical scanners will pick upp eggs and spiderlings as foreign bodies."

View File

@@ -1,5 +0,0 @@
author: Yoshax
delete-after: True
changes:
- tweak: "Makes hyposprays start empty instead of filled with Tricord."

View File

@@ -1,5 +0,0 @@
author: Yoshax
delete-after: True
changes:
- tweak: "Makes the special wizard projectile staffs, Animate, Change, Focus and any future ones only usable by wizards. Also makes it so only wizards can use spellbooks and teleportation scrolls."