Merge branch 'master' into shuttle-processing

Conflicts:
	code/modules/shuttle/ripple.dm
This commit is contained in:
Jack Edge
2016-06-26 01:00:25 +01:00
82 changed files with 808 additions and 521 deletions
+5 -10
View File
@@ -9,9 +9,9 @@
w_class = 2
/obj/item/bodybag/attack_self(mob/user)
var/obj/structure/closet/body_bag/R = new unfoldedbag_path(user.loc)
R.add_fingerprint(user)
qdel(src)
var/obj/structure/closet/body_bag/R = new unfoldedbag_path(user.loc)
R.add_fingerprint(user)
qdel(src)
/obj/item/weapon/storage/box/bodybags
@@ -21,13 +21,8 @@
/obj/item/weapon/storage/box/bodybags/New()
..()
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
new /obj/item/bodybag(src)
for(var/i in 1 to 7)
new /obj/item/bodybag(src)
/obj/structure/closet/body_bag
+1 -2
View File
@@ -1,6 +1,6 @@
/obj/item/latexballon
name = "latex glove"
desc = "" //todo
desc = "Sterile and airtight."
icon_state = "latexballon"
item_state = "lgloves"
force = 0
@@ -48,7 +48,6 @@
/obj/item/latexballon/temperature_expose(datum/gas_mixture/air, temperature, volume)
if(temperature > T0C+100)
burst()
return
/obj/item/latexballon/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/tank))
Executable → Regular
View File
+2 -1
View File
@@ -64,5 +64,6 @@
name = "crushed can"
icon_state = "cola"
burn_state = FIRE_PROOF
/obj/item/trash/attack(mob/M, mob/living/user)
return
return
+21 -4
View File
@@ -215,7 +215,6 @@ RCD
spark_system.set_up(5, 0, src)
spark_system.attach(src)
rcd_list += src
return
/obj/item/weapon/rcd/Destroy()
@@ -288,7 +287,6 @@ RCD
if(prob(20))
src.spark_system.start()
return
/obj/item/weapon/rcd/proc/activate()
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
@@ -472,15 +470,34 @@ RCD
/obj/item/weapon/rcd/proc/checkResource(amount, mob/user)
return matter >= amount
/obj/item/weapon/rcd/proc/detonate_pulse()
audible_message("<span class='danger'><b>[src] begins to vibrate and \
buzz loudly!</b></span>","<span class='danger'><b>[src] begins \
vibrating violently!</b></span>")
// 5 seconds to get rid of it
addtimer(src, "detonate_pulse_explode", 50)
/obj/item/weapon/rcd/proc/detonate_pulse_explode()
explosion(src, 0, 0, 3, 1, flame_range = 1)
qdel(src)
/obj/item/weapon/rcd/borg/useResource(amount, mob/user)
if(!isrobot(user))
return 0
return user:cell:use(amount * 72) //borgs get 1.3x the use of their RCDs
var/mob/living/silicon/robot/borgy = user
if(!borgy.cell)
return 0
return borgy.cell.use(amount * 72) //borgs get 1.3x the use of their RCDs
/obj/item/weapon/rcd/borg/checkResource(amount, mob/user)
if(!isrobot(user))
return 0
return user:cell:charge >= (amount * 72)
var/mob/living/silicon/robot/borgy = user
if(!borgy.cell)
return 0
return borgy.cell.charge >= (amount * 72)
/obj/item/weapon/rcd/borg/New()
..()
@@ -240,20 +240,21 @@
holo_integrity = 3
var/shockcd = 0
/obj/effect/overlay/holograph/barrier/cyborg/hacked/proc/cooldown()
shockcd = FALSE
/obj/effect/overlay/holograph/barrier/cyborg/hacked/attack_hand(mob/living/user)
if(!shockcd)
if(ismob(user))
var/mob/living/M = user
M.electrocute_act(15,"Energy Barrier", safety=1)
shockcd = 1
spawn(10)
shockcd = 0
shockcd = TRUE
addtimer(src, "cooldown", 10)
/obj/effect/overlay/holograph/barrier/cyborg/hacked/Bumped(atom/user)
if(!shockcd)
if(ismob(user))
var/mob/living/M = user
M.electrocute_act(15,"Energy Barrier", safety=1)
shockcd = 1
spawn(10)
shockcd = 0
shockcd = TRUE
addtimer(src, "cooldown", 10)
@@ -40,7 +40,6 @@
M.reagents.add_reagent(forkload.id, 1)
icon_state = "fork"
forkload = null
return
else if(user.zone_selected == "eyes")
if(user.disabilities & CLUMSY && prob(50))
+15 -18
View File
@@ -9,8 +9,8 @@
heat = 3500
/obj/item/weapon/melee/energy/suicide_act(mob/user)
user.visible_message(pick("<span class='suicide'>[user] is slitting \his stomach open with the [src.name]! It looks like \he's trying to commit seppuku.</span>", \
"<span class='suicide'>[user] is falling on the [src.name]! It looks like \he's trying to commit suicide.</span>"))
user.visible_message(pick("<span class='suicide'>[user] is slitting \his stomach open with [src]! It looks like \he's trying to commit seppuku.</span>", \
"<span class='suicide'>[user] is falling on [src]! It looks like \he's trying to commit suicide.</span>"))
return (BRUTELOSS|FIRELOSS)
/obj/item/weapon/melee/energy/add_blood(list/blood_dna)
@@ -99,7 +99,6 @@
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
user << "<span class='notice'>[src] can now be concealed.</span>"
add_fingerprint(user)
return
/obj/item/weapon/melee/energy/is_hot()
return active * heat
@@ -156,21 +155,19 @@
/obj/item/weapon/melee/energy/sword/saber/attackby(obj/item/weapon/W, mob/living/user, params)
if(istype(W, /obj/item/weapon/melee/energy/sword/saber))
if(W == src)
user << "<span class='notice'>You try to attach the end of the energy sword to... itself. You're not very smart, are you?</span>"
if(ishuman(user))
user.adjustBrainLoss(10)
else
user << "<span class='notice'>You attach the ends of the two energy swords, making a single double-bladed weapon! You're cool.</span>"
var/obj/item/weapon/twohanded/dualsaber/newSaber = new /obj/item/weapon/twohanded/dualsaber(user.loc)
if(src.hacked) // That's right, we'll only check the "original" esword.
newSaber.hacked = 1
newSaber.item_color = "rainbow"
user.unEquip(W)
user.unEquip(src)
qdel(W)
qdel(src)
user.put_in_hands(newSaber)
user << "<span class='notice'>You attach the ends of the two \
energy swords, making a single double-bladed weapon! \
You're cool.</span>"
var/obj/item/weapon/melee/energy/sword/saber/other_esword = W
var/obj/item/weapon/twohanded/dualsaber/newSaber = new(user.loc)
if(hacked || other_esword.hacked)
newSaber.hacked = TRUE
newSaber.item_color = "rainbow"
user.unEquip(W)
user.unEquip(src)
qdel(W)
qdel(src)
user.put_in_hands(newSaber)
else if(istype(W, /obj/item/device/multitool))
if(hacked == 0)
hacked = 1
+38 -42
View File
@@ -35,49 +35,46 @@
var/on = 1
/obj/item/weapon/melee/classic_baton/attack(mob/target, mob/living/user)
if(on)
add_fingerprint(user)
if((CLUMSY in user.disabilities) && prob(50))
user << "<span class ='danger'>You club yourself over the head.</span>"
user.Weaken(3 * force)
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.apply_damage(2*force, BRUTE, "head")
else
user.take_organ_damage(2*force)
return
if(isrobot(target))
..()
return
if(!isliving(target))
return
if (user.a_intent == "harm")
if(!..()) return
if(!isrobot(target)) return
else
if(cooldown <= 0)
if(ishuman(target))
var/mob/living/carbon/human/H = target
if (H.check_shields(0, "[user]'s [name]", src, MELEE_ATTACK))
return
playsound(get_turf(src), 'sound/effects/woodhit.ogg', 75, 1, -1)
target.Weaken(3)
add_logs(user, target, "stunned", src)
src.add_fingerprint(user)
target.visible_message("<span class ='danger'>[user] has knocked down [target] with \the [src]!</span>", \
"<span class ='userdanger'>[user] has knocked down [target] with \the [src]!</span>")
if(!iscarbon(user))
target.LAssailant = null
else
target.LAssailant = user
cooldown = 1
spawn(40)
cooldown = 0
return
else
if(!on)
return ..()
add_fingerprint(user)
if((CLUMSY in user.disabilities) && prob(50))
user << "<span class ='danger'>You club yourself over the head.</span>"
user.Weaken(3 * force)
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.apply_damage(2*force, BRUTE, "head")
else
user.take_organ_damage(2*force)
return
if(isrobot(target))
..()
return
if(!isliving(target))
return
if (user.a_intent == "harm")
if(!..())
return
if(!isrobot(target))
return
else
if(cooldown <= world.time)
if(ishuman(target))
var/mob/living/carbon/human/H = target
if (H.check_shields(0, "[user]'s [name]", src, MELEE_ATTACK))
return
playsound(get_turf(src), 'sound/effects/woodhit.ogg', 75, 1, -1)
target.Weaken(3)
add_logs(user, target, "stunned", src)
src.add_fingerprint(user)
target.visible_message("<span class ='danger'>[user] has knocked down [target] with \the [src]!</span>", \
"<span class ='userdanger'>[user] has knocked down [target] with \the [src]!</span>")
if(!iscarbon(user))
target.LAssailant = null
else
target.LAssailant = user
cooldown = world.time + 40
/obj/item/weapon/melee/classic_baton/telescopic
name = "telescopic baton"
@@ -108,7 +105,6 @@
qdel(B)
gibs(H.loc, H.viruses, H.dna)
return (BRUTELOSS)
return
/obj/item/weapon/melee/classic_baton/telescopic/attack_self(mob/user)
on = !on
@@ -1,4 +1,3 @@
/obj/item/weapon/caution
desc = "Caution! Wet Floor!"
name = "wet floor sign"
+24 -26
View File
@@ -55,28 +55,27 @@
name = "any color"
icon_state = "paint_neutral"
attack_self(mob/user)
var/t1 = input(user, "Please select a color:", "Locking Computer", null) in list( "red", "blue", "green", "yellow", "violet", "black", "white")
if ((user.get_active_hand() != src || user.stat || user.restrained()))
return
switch(t1)
if("red")
item_color = "C73232"
if("blue")
item_color = "5998FF"
if("green")
item_color = "2A9C3B"
if("yellow")
item_color = "CFB52B"
if("violet")
item_color = "AE4CCD"
if("white")
item_color = "FFFFFF"
if("black")
item_color = "333333"
icon_state = "paint_[t1]"
add_fingerprint(user)
/obj/item/weapon/paint/anycolor/attack_self(mob/user)
var/t1 = input(user, "Please select a color:", "Locking Computer", null) in list( "red", "blue", "green", "yellow", "violet", "black", "white")
if ((user.get_active_hand() != src || user.stat || user.restrained()))
return
switch(t1)
if("red")
item_color = "C73232"
if("blue")
item_color = "5998FF"
if("green")
item_color = "2A9C3B"
if("yellow")
item_color = "CFB52B"
if("violet")
item_color = "AE4CCD"
if("white")
item_color = "FFFFFF"
if("black")
item_color = "333333"
icon_state = "paint_[t1]"
add_fingerprint(user)
/obj/item/weapon/paint/afterattack(turf/target, mob/user, proximity)
@@ -87,15 +86,14 @@
if(!istype(target) || istype(target, /turf/open/space))
return
target.color = "#" + item_color
return
/obj/item/weapon/paint/paint_remover
gender = PLURAL
name = "paint remover"
icon_state = "paint_neutral"
afterattack(turf/target, mob/user,proximity)
if(!proximity) return
if(istype(target) && target.color != initial(target.color))
target.color = initial(target.color)
/obj/item/weapon/paint/paint_remover/afterattack(turf/target, mob/user, proximity)
if(!proximity)
return
if(istype(target) && target.color != initial(target.color))
target.color = initial(target.color)
@@ -27,7 +27,6 @@
..()
bcell = new(src)
update_icon()
return
/obj/item/weapon/melee/baton/proc/deductcharge(chrgdeductamt)
if(bcell)