DRAGnet lives!

This commit is contained in:
Cheridan
2015-06-15 23:55:28 -05:00
parent 9361c5efcd
commit 7aba70ecf3
9 changed files with 125 additions and 8 deletions
+32 -6
View File
@@ -157,9 +157,14 @@
name = "bear trap"
throw_speed = 1
throw_range = 1
icon_state = "beartrap0"
icon_state = "beartrap"
desc = "A trap used to catch bears and other legged creatures."
var/armed = 0
var/trap_damage = 20
/obj/item/weapon/restraints/legcuffs/beartrap/New()
..()
icon_state = "[initial(icon_state)][armed]"
/obj/item/weapon/restraints/legcuffs/beartrap/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is sticking \his head in the [src.name]! It looks like \he's trying to commit suicide.</span>")
@@ -170,10 +175,9 @@
..()
if(ishuman(user) && !user.stat && !user.restrained())
armed = !armed
icon_state = "beartrap[armed]"
icon_state = "[initial(icon_state)][armed]"
user << "<span class='notice'>[src] is now [armed ? "armed" : "disarmed"]</span>"
/obj/item/weapon/restraints/legcuffs/beartrap/Crossed(AM as mob|obj)
if(armed && isturf(src.loc))
if(isliving(AM))
@@ -196,9 +200,31 @@
snap = 1
if(snap)
armed = 0
icon_state = "beartrap0"
icon_state = "[initial(icon_state)][armed]"
playsound(src.loc, 'sound/effects/snap.ogg', 50, 1)
L.visible_message("<span class='danger'>[L] triggers \the [src].</span>", \
"<span class='userdanger'>You trigger \the [src]!</span>")
L.apply_damage(20,BRUTE, def_zone)
..()
L.apply_damage(trap_damage,BRUTE, def_zone)
..()
/obj/item/weapon/restraints/legcuffs/beartrap/energy
name = "energy snare"
armed = 1
icon_state = "e_snare"
trap_damage = 0
/obj/item/weapon/restraints/legcuffs/beartrap/energy/New()
..()
spawn(100)
if(!istype(loc, /mob))
var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread
sparks.set_up(1, 1, src)
sparks.start()
qdel(src)
/obj/item/weapon/restraints/legcuffs/beartrap/energy/dropped()
..()
qdel(src)
/obj/item/weapon/restraints/legcuffs/beartrap/energy/attack_hand(mob/user)
Crossed(user) //honk
+1
View File
@@ -466,6 +466,7 @@ var/const/GALOSHES_DONT_HELP = 8
return
if(legcuffed)
legcuffed.loc = loc
legcuffed.dropped()
legcuffed = null
update_inv_legcuffed(0)
else
@@ -154,3 +154,13 @@
/obj/item/ammo_casing/energy/bolt/large
projectile_type = /obj/item/projectile/energy/bolt/large
select_name = "heavy bolt"
obj/item/ammo_casing/energy/net
projectile_type = /obj/item/projectile/energy/net
select_name = "netting"
pellets = 6
variance = 1
/obj/item/ammo_casing/energy/trap
projectile_type = /obj/item/projectile/energy/trap
select_name = "snare"
@@ -19,6 +19,15 @@
force = 10
ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/disabler)
/obj/item/weapon/gun/energy/gun/dragnet
name = "DRAGnet"
desc = "The \"Dynamic Rapid-Apprehension of the Guilty\" net is a revolution in law enforcement technology."
icon_state = "dragnet"
item_state = null
origin_tech = "combat=3;magnets=3;materials=4; bluespace=4"
ammo_type = list(/obj/item/ammo_casing/energy/net, /obj/item/ammo_casing/energy/trap)
can_flashlight = 0
/obj/item/weapon/gun/energy/gun/nuclear
name = "advanced energy gun"
desc = "An energy gun with an experimental miniaturized nuclear reactor that automatically charges the internal power cell."
@@ -127,4 +136,4 @@
trigger_guard = 0
/obj/item/weapon/gun/energy/gun/turret/update_icon()
icon_state = initial(icon_state)
icon_state = initial(icon_state)
+72 -1
View File
@@ -38,6 +38,78 @@
sparks.start()
..()
/obj/item/projectile/energy/net
name = "energy netting"
icon_state = "e_netting"
damage = 10
damage_type = STAMINA
hitsound = 'sound/weapons/taserhit.ogg'
range = 10
/obj/item/projectile/energy/net/New()
..()
SpinAnimation()
/obj/item/projectile/energy/net/on_hit(var/atom/target, var/blocked = 0)
if(isliving(target) && !locate(/obj/effect/nettingportal) in loc)
new/obj/effect/nettingportal(get_turf(target))
..()
/obj/item/projectile/energy/net/on_range()
var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread
sparks.set_up(1, 1, src)
sparks.start()
..()
/obj/effect/nettingportal
name = "DRAGnet teleportation field"
desc = "A field of bluespace energy, locking on to teleport a target."
icon = 'icons/effects/effects.dmi'
icon_state = "dragnetfield"
anchored = 1
unacidable = 1
/obj/effect/nettingportal/New()
..()
SetLuminosity(3)
var/obj/item/device/radio/beacon/teletarget = null
for(var/obj/machinery/computer/teleporter/com in machines)
if(com.target)
if(com.power_station && com.power_station.teleporter_hub && com.power_station.engaged)
teletarget = com.target
if(teletarget)
spawn(30)
for(var/mob/living/L in get_turf(src))
do_teleport(L, teletarget, 2)//teleport what's in the tile to the beacon
qdel(src)
else
spawn(30)
for(var/mob/living/L in get_turf(src))
do_teleport(L, L, 15) //Otherwise it just warps you off somewhere.
qdel(src)
/obj/item/projectile/energy/trap
name = "energy snare"
icon_state = "e_snare"
nodamage = 1
weaken = 1
hitsound = 'sound/weapons/taserhit.ogg'
range = 4
/obj/item/projectile/energy/trap/on_hit(var/atom/target, var/blocked = 0)
if(!ismob(target) || blocked >= 2) //Fully blocked by mob or collided with dense object - drop a trap
new/obj/item/weapon/restraints/legcuffs/beartrap/energy(get_turf(loc))
else if(iscarbon(target))
var/obj/item/weapon/restraints/legcuffs/beartrap/B = new /obj/item/weapon/restraints/legcuffs/beartrap/energy(get_turf(target))
B.Crossed(target)
..()
/obj/item/projectile/energy/trap/on_range()
new/obj/item/weapon/restraints/legcuffs/beartrap/energy(loc)
..()
/obj/item/projectile/energy/declone
name = "radiation beam"
icon_state = "declone"
@@ -45,7 +117,6 @@
damage_type = CLONE
irradiate = 40
/obj/item/projectile/energy/dart //ninja throwing dart
name = "dart"
icon_state = "toxin"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 284 KiB

After

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 32 KiB