mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 14:07:51 +01:00
Merge remote-tracking branch 'upstream/master' into pAI-Drone-Port
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user