mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 23:17:02 +01:00
Merge remote-tracking branch 'remotes/git-svn' (r4527) into bs12_with_tgport
Conflicts: baystation12.dme code/game/gamemodes/cult/runes.dm code/game/gamemodes/events.dm code/game/machinery/telecomms/broadcaster.dm code/game/machinery/telecomms/machine_interactions.dm code/game/objects/devices/uplinks.dm code/game/objects/weapons.dm code/modules/mining/mine_items.dm html/changelog.html icons/obj/chemical.dmi maps/tgstation.2.0.9.dmm Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
@@ -1,97 +1,4 @@
|
||||
//Banhammer deserves to be the first thing here
|
||||
|
||||
/obj/item/weapon/banhammer/attack(mob/M as mob, mob/user as mob)
|
||||
M << "<font color='red'><b> You have been banned FOR NO REISIN by [user]<b></font>"
|
||||
user << "<font color='red'> You have <b>BANNED</b> [M]</font>"
|
||||
|
||||
/obj/effect/mine/proc/triggerrad(obj)
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
s.set_up(3, 1, src)
|
||||
s.start()
|
||||
obj:radiation += 50
|
||||
randmutb(obj)
|
||||
domutcheck(obj,null)
|
||||
spawn(0)
|
||||
del(src)
|
||||
|
||||
/obj/effect/mine/proc/triggerstun(obj)
|
||||
if(ismob(obj))
|
||||
var/mob/M = obj
|
||||
M.Stun(30)
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
s.set_up(3, 1, src)
|
||||
s.start()
|
||||
spawn(0)
|
||||
del(src)
|
||||
|
||||
//skytodo: this doesn't even look like it will work
|
||||
/obj/effect/mine/proc/triggern2o(obj)
|
||||
//example: n2o triggerproc
|
||||
//note: im lazy
|
||||
|
||||
for (var/turf/simulated/floor/target in range(1,src))
|
||||
if(!target.blocks_air)
|
||||
/*if(target.parent)
|
||||
target.parent.suspend_group_processing()*/
|
||||
|
||||
var/datum/gas_mixture/payload = new
|
||||
var/datum/gas/sleeping_agent/trace_gas = new
|
||||
|
||||
trace_gas.moles = 30
|
||||
payload += trace_gas
|
||||
|
||||
target.air.merge(payload)
|
||||
|
||||
spawn(0)
|
||||
del(src)
|
||||
|
||||
//skytodo:
|
||||
/obj/effect/mine/proc/triggerplasma(obj)
|
||||
for (var/turf/simulated/floor/target in range(1,src))
|
||||
if(!target.blocks_air)
|
||||
/*if(target.parent)
|
||||
target.parent.suspend_group_processing()*/
|
||||
|
||||
var/datum/gas_mixture/payload = new
|
||||
|
||||
payload.toxins = 30
|
||||
|
||||
target.air.merge(payload)
|
||||
|
||||
target.hotspot_expose(1000, CELL_VOLUME)
|
||||
|
||||
spawn(0)
|
||||
del(src)
|
||||
|
||||
/obj/effect/mine/proc/triggerkick(obj)
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
s.set_up(3, 1, src)
|
||||
s.start()
|
||||
del(obj:client)
|
||||
spawn(0)
|
||||
del(src)
|
||||
|
||||
/obj/effect/mine/proc/explode(obj)
|
||||
explosion(loc, 0, 1, 2, 3)
|
||||
spawn(0)
|
||||
del(src)
|
||||
|
||||
|
||||
/obj/effect/mine/HasEntered(AM as mob|obj)
|
||||
Bumped(AM)
|
||||
|
||||
/obj/effect/mine/Bumped(mob/M as mob|obj)
|
||||
|
||||
if(triggered) return
|
||||
|
||||
if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey))
|
||||
for(var/mob/O in viewers(world.view, src.loc))
|
||||
O << "<font color='red'>[M] triggered the \icon[src] [src]</font>"
|
||||
triggered = 1
|
||||
call(src,triggerproc)(M)
|
||||
|
||||
/obj/effect/mine/New()
|
||||
icon_state = "uglyminearmed"
|
||||
//TODO: Move these into atom_procs.dm after carn's finished with it, otherwise it'll conflict - Nodrak
|
||||
|
||||
/atom/proc/ex_act()
|
||||
return
|
||||
@@ -116,99 +23,4 @@
|
||||
if (I)
|
||||
I.hit()
|
||||
return
|
||||
return
|
||||
|
||||
/obj/item/weapon/mousetrap/examine()
|
||||
set src in oview(12)
|
||||
..()
|
||||
if(armed)
|
||||
usr << "\red It looks like it's armed."
|
||||
|
||||
/obj/item/weapon/mousetrap/proc/triggered(mob/target as mob, var/type = "feet")
|
||||
if(!armed)
|
||||
return
|
||||
var/datum/organ/external/affecting = null
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
switch(type)
|
||||
if("feet")
|
||||
if(!H.shoes)
|
||||
affecting = H.get_organ(pick("l_leg", "r_leg"))
|
||||
H.Weaken(3)
|
||||
if("l_hand", "r_hand")
|
||||
if(!H.gloves)
|
||||
affecting = H.get_organ(type)
|
||||
H.Stun(3)
|
||||
if(affecting)
|
||||
if(affecting.take_damage(1, 0))
|
||||
H.UpdateDamageIcon()
|
||||
H.updatehealth()
|
||||
else if(ismouse(target))
|
||||
var/mob/living/simple_animal/mouse/M = target
|
||||
src.visible_message("\red <b>SPLAT!</b>")
|
||||
M.splat()
|
||||
playsound(target.loc, 'sound/effects/snap.ogg', 50, 1)
|
||||
icon_state = "mousetrap"
|
||||
armed = 0
|
||||
/*
|
||||
else if (ismouse(target))
|
||||
target.adjustBruteLoss(100)
|
||||
*/
|
||||
|
||||
/obj/item/weapon/mousetrap/attack_self(mob/living/user as mob)
|
||||
if(!armed)
|
||||
icon_state = "mousetraparmed"
|
||||
user << "\blue You arm the mousetrap."
|
||||
else
|
||||
icon_state = "mousetrap"
|
||||
if(( (user.getBrainLoss() >= 60 || (CLUMSY in user.mutations)) && prob(50)))
|
||||
var/which_hand = "l_hand"
|
||||
if(!user.hand)
|
||||
which_hand = "r_hand"
|
||||
src.triggered(user, which_hand)
|
||||
user << "\red <B>You accidentally trigger the mousetrap!</B>"
|
||||
for(var/mob/O in viewers(user, null))
|
||||
if(O == user)
|
||||
continue
|
||||
O.show_message("\red <B>[user] accidentally sets off the mousetrap, breaking their fingers.</B>", 1)
|
||||
return
|
||||
user << "\blue You disarm the mousetrap."
|
||||
armed = !armed
|
||||
playsound(user.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3)
|
||||
|
||||
/obj/item/weapon/mousetrap/attack_hand(mob/living/user as mob)
|
||||
if(armed)
|
||||
if(( (user.getBrainLoss() >= 60 || CLUMSY in user.mutations)) && prob(50))
|
||||
var/which_hand = "l_hand"
|
||||
if(!user.hand)
|
||||
which_hand = "r_hand"
|
||||
src.triggered(user, which_hand)
|
||||
user << "\red <B>You accidentally trigger the mousetrap!</B>"
|
||||
for(var/mob/O in viewers(user, null))
|
||||
if(O == user)
|
||||
continue
|
||||
O.show_message("\red <B>[user] accidentally sets off the mousetrap, breaking their fingers.</B>", 1)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/mousetrap/HasEntered(AM as mob|obj)
|
||||
if(armed)
|
||||
if(ishuman(AM))
|
||||
var/mob/living/carbon/H = AM
|
||||
if(H.m_intent == "run")
|
||||
src.triggered(H)
|
||||
H << "\red <B>You accidentally step on the mousetrap!</B>"
|
||||
for(var/mob/O in viewers(H, null))
|
||||
if(O == H)
|
||||
continue
|
||||
O.show_message("\red <B>[H] accidentally steps on the mousetrap.</B>", 1)
|
||||
if(ismouse(AM))
|
||||
triggered(AM)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/mousetrap/hitby(A as mob|obj)
|
||||
if(!armed)
|
||||
return ..()
|
||||
for(var/mob/O in viewers(src, null))
|
||||
O.show_message("\red <B>The mousetrap is triggered by [A].</B>", 1)
|
||||
src.triggered(null)
|
||||
return
|
||||
Reference in New Issue
Block a user