Merge remote-tracking branch 'upstream/master' into pAI-Drone-Port

This commit is contained in:
DZD
2014-12-05 20:32:40 -05:00
66 changed files with 1785 additions and 1309 deletions
+3
View File
@@ -31,6 +31,9 @@
/obj/effect/portal/Destroy()
portals -= src
if(istype(creator, /obj/item/weapon/hand_tele))
var/obj/item/weapon/hand_tele/O = creator
O.active_portals--
return ..()
/obj/effect/portal/proc/teleport(atom/movable/M as mob|obj)
+1 -1
View File
@@ -162,7 +162,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
icon_state = "pda-hydro"
/obj/item/device/pda/roboticist
icon_state = "pda-robot"
icon_state = "pda-roboticist"
/obj/item/device/pda/librarian
icon_state = "pda-library"
+2 -2
View File
@@ -72,7 +72,7 @@
if(iscarbon(M))
var/safety = M:eyecheck()
if(safety <= 0)
M.Weaken(10)
M.Weaken(5)
flick("e_flash", M.flash)
if(ishuman(M) && ishuman(user) && M.stat!=DEAD)
@@ -198,7 +198,7 @@
var/mob/living/carbon/M = loc
var/safety = M.eyecheck()
if(safety <= 0)
M.Weaken(10)
M.Weaken(5)
flick("e_flash", M.flash)
for(var/mob/O in viewers(M, null))
O.show_message("<span class='disarm'>[M] is blinded by the flash!</span>")
+6 -6
View File
@@ -15,7 +15,7 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "l_arm"
construction_time = 200
construction_cost = list("metal"=18000)
construction_cost = list("metal"=10000)
part = list("l_arm","l_hand")
/obj/item/robot_parts/r_arm
@@ -23,7 +23,7 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "r_arm"
construction_time = 200
construction_cost = list("metal"=18000)
construction_cost = list("metal"=10000)
part = list("r_arm","r_hand")
/obj/item/robot_parts/l_leg
@@ -31,7 +31,7 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "l_leg"
construction_time = 200
construction_cost = list("metal"=15000)
construction_cost = list("metal"=10000)
part = list("l_leg","l_foot")
/obj/item/robot_parts/r_leg
@@ -39,7 +39,7 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
icon_state = "r_leg"
construction_time = 200
construction_cost = list("metal"=15000)
construction_cost = list("metal"=10000)
part = list("r_leg","r_foot")
/obj/item/robot_parts/chest
@@ -56,7 +56,7 @@
desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals."
icon_state = "head"
construction_time = 350
construction_cost = list("metal"=25000)
construction_cost = list("metal"=5000)
var/obj/item/device/flash/flash1 = null
var/obj/item/device/flash/flash2 = null
@@ -65,7 +65,7 @@
desc = "A complex metal backbone with standard limb sockets and pseudomuscle anchors."
icon_state = "robo_suit"
construction_time = 500
construction_cost = list("metal"=50000)
construction_cost = list("metal"=15000)
var/obj/item/robot_parts/l_arm/l_arm = null
var/obj/item/robot_parts/r_arm/r_arm = null
var/obj/item/robot_parts/l_leg/l_leg = null
+1 -1
View File
@@ -13,7 +13,7 @@
m_amt = 500
origin_tech = "materials=1"
var/dispenser = 0
var/breakouttime = 1200 //Deciseconds = 120s = 2 minutes
var/breakouttime = 600 //Deciseconds = 60s = 1 minutes
/obj/item/weapon/handcuffs/attack(mob/living/carbon/C, mob/user)
if(M_CLUMSY in user.mutations && prob(50))
@@ -211,7 +211,7 @@
* Duffelbags - My thanks to MrSnapWalk for the original icon and Neinhaus for the job variants - Dave.
*/
/obj/item/weapon/storage/backpack/duffel
/obj/item/weapon/storage/backpack/duffel
name = "duffelbag"
desc = "A large grey duffelbag designed to hold more items than a regular bag."
icon_override = 'icons/mob/in-hand/duffelbag.dmi'
@@ -103,7 +103,10 @@
New()
..()
new /obj/item/clothing/tie/medal/gold/heroism(src)
new /obj/item/clothing/tie/medal/silver/security(src)
new /obj/item/clothing/tie/medal/silver/valor(src)
new /obj/item/clothing/tie/medal/nobel_science(src)
new /obj/item/clothing/tie/medal/bronze_heart(src)
new /obj/item/clothing/tie/medal/conduct(src)
new /obj/item/clothing/tie/medal/conduct(src)
+4 -4
View File
@@ -164,7 +164,7 @@
msg_admin_attack("[key_name(user)] stunned [key_name(L)] with the [src].")
deductcharge(hitcost)
if(ishuman(L))
var/mob/living/carbon/human/H = L
H.forcesay(hit_appends)
@@ -220,7 +220,7 @@
//secborg stun baton module
/obj/item/weapon/melee/baton/robot
hitcost = 500
hitcost = 500
/obj/item/weapon/melee/baton/robot/attack_self(mob/user)
//try to find our power cell
@@ -247,8 +247,8 @@
force = 3
throwforce = 5
stunforce = 0
agonyforce = 60 //same force as a stunbaton, but uses way more charge.
hitcost = 2500
agonyforce = 42 //less than a stunbaton and uses way more charge.
hitcost = 3750
attack_verb = list("poked")
slot_flags = null
+59 -56
View File
@@ -25,62 +25,65 @@
return
/obj/structure/engineeringcart/attackby(obj/item/I, mob/user)
var/fail_msg = "<span class='notice'>There is already one of those in [src].</span>"
if(istype(I, /obj/item/stack/sheet/glass))
if(!myglass)
put_in_cart(I, user)
myglass=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/stack/sheet/metal))
if(!mymetal)
put_in_cart(I, user)
mymetal=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/stack/sheet/plasteel))
if(!myplasteel)
put_in_cart(I, user)
myplasteel=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/device/flashlight))
if(!myflashlight)
put_in_cart(I, user)
myflashlight=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/weapon/storage/toolbox/mechanical))
if(!mybluetoolbox)
put_in_cart(I, user)
mybluetoolbox=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/weapon/storage/toolbox/electrical))
if(!myyellowtoolbox)
put_in_cart(I, user)
myyellowtoolbox=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/weapon/storage/toolbox))
if(!myredtoolbox)
put_in_cart(I, user)
myredtoolbox=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/taperoll/engineering/))
if(!myengitape)
put_in_cart(I, user)
myengitape=I
update_icon()
else
user << fail_msg
if(!I.is_robot_module())
if(istype(I, /obj/item/stack/sheet/glass))
if(!myglass)
put_in_cart(I, user)
myglass=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/stack/sheet/metal))
if(!mymetal)
put_in_cart(I, user)
mymetal=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/stack/sheet/plasteel))
if(!myplasteel)
put_in_cart(I, user)
myplasteel=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/device/flashlight))
if(!myflashlight)
put_in_cart(I, user)
myflashlight=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/weapon/storage/toolbox/mechanical))
if(!mybluetoolbox)
put_in_cart(I, user)
mybluetoolbox=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/weapon/storage/toolbox/electrical))
if(!myyellowtoolbox)
put_in_cart(I, user)
myyellowtoolbox=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/weapon/storage/toolbox))
if(!myredtoolbox)
put_in_cart(I, user)
myredtoolbox=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/taperoll/engineering/))
if(!myengitape)
put_in_cart(I, user)
myengitape=I
update_icon()
else
user << fail_msg
else
usr << "<span class='warning'>You cannot interface your modules [src]!</span>"
/obj/structure/engineeringcart/attack_hand(mob/user)
user.set_machine(src)
+46 -43
View File
@@ -445,50 +445,53 @@
/obj/structure/janitorialcart/attackby(obj/item/I, mob/user)
var/fail_msg = "<span class='notice'>There is already one of those in [src].</span>"
if(istype(I, /obj/item/weapon/mop))
var/obj/item/weapon/mop/m=I
if(m.reagents.total_volume < m.reagents.maximum_volume)
wet_mop(m, user)
return
if(!mymop)
m.janicart_insert(user, src)
else
user << fail_msg
if(!I.is_robot_module())
if(istype(I, /obj/item/weapon/mop))
var/obj/item/weapon/mop/m=I
if(m.reagents.total_volume < m.reagents.maximum_volume)
wet_mop(m, user)
return
if(!mymop)
m.janicart_insert(user, src)
else
user << fail_msg
else if(istype(I, /obj/item/weapon/storage/bag/trash))
if(!mybag)
var/obj/item/weapon/storage/bag/trash/t=I
t.janicart_insert(user, src)
else
user << fail_msg
else if(istype(I, /obj/item/weapon/reagent_containers/spray/cleaner))
if(!myspray)
put_in_cart(I, user)
myspray=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/device/lightreplacer))
if(!myreplacer)
var/obj/item/device/lightreplacer/l=I
l.janicart_insert(user,src)
else
user << fail_msg
else if(istype(I, /obj/item/weapon/caution))
if(signs < max_signs)
put_in_cart(I, user)
signs++
update_icon()
else
user << "<span class='notice'>[src] can't hold any more signs.</span>"
else if(mybag)
mybag.attackby(I, user)
else if(istype(I, /obj/item/weapon/crowbar))
user.visible_message("<span class='warning'>[user] begins to empty the contents of [src].</span>")
if(do_after(user, 30))
usr << "<span class='notice'>You empty the contents of [src]'s bucket onto the floor.</span>"
reagents.reaction(src.loc)
src.reagents.clear_reagents()
else if(istype(I, /obj/item/weapon/storage/bag/trash))
if(!mybag)
var/obj/item/weapon/storage/bag/trash/t=I
t.janicart_insert(user, src)
else
user << fail_msg
else if(istype(I, /obj/item/weapon/reagent_containers/spray/cleaner))
if(!myspray)
put_in_cart(I, user)
myspray=I
update_icon()
else
user << fail_msg
else if(istype(I, /obj/item/device/lightreplacer))
if(!myreplacer)
var/obj/item/device/lightreplacer/l=I
l.janicart_insert(user,src)
else
user << fail_msg
else if(istype(I, /obj/item/weapon/caution))
if(signs < max_signs)
put_in_cart(I, user)
signs++
update_icon()
else
user << "<span class='notice'>[src] can't hold any more signs.</span>"
else if(mybag)
mybag.attackby(I, user)
else if(istype(I, /obj/item/weapon/crowbar))
user.visible_message("<span class='warning'>[user] begins to empty the contents of [src].</span>")
if(do_after(user, 30))
usr << "<span class='notice'>You empty the contents of [src]'s bucket onto the floor.</span>"
reagents.reaction(src.loc)
src.reagents.clear_reagents()
else
usr << "<span class='warning'>You cannot interface your modules [src]!</span>"
/obj/structure/janitorialcart/attack_hand(mob/user)
user.set_machine(src)