mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 07:33:34 +01:00
Adds Grenade, Flash, and EMP in-hands
This commit is contained in:
@@ -2,7 +2,8 @@
|
||||
name = "flash"
|
||||
desc = "A powerful and versatile flashbulb device, with applications ranging from disorienting attackers to acting as visual receptors in robot production."
|
||||
icon_state = "flash"
|
||||
item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang)
|
||||
item_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang)
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
throwforce = 0
|
||||
w_class = 1
|
||||
throw_speed = 3
|
||||
@@ -75,7 +76,7 @@
|
||||
|
||||
|
||||
/obj/item/device/flash/proc/flash_carbon(var/mob/living/carbon/M, var/mob/user = null, var/power = 5, convert = 1)
|
||||
add_logs(M, user, "flashed", object="the flash")
|
||||
add_logs(M, user, "flashed", object="[src.name]")
|
||||
var/safety = M:eyecheck()
|
||||
if(safety <= 0)
|
||||
M.confused += power
|
||||
@@ -83,11 +84,11 @@
|
||||
if(user && convert)
|
||||
terrible_conversion_proc(M, user)
|
||||
M.Stun(1)
|
||||
user.visible_message("<span class='disarm'>[user] blinds [M] with the flash!</span>")
|
||||
user.visible_message("<span class='disarm'>[user] blinds [M] with the [src.name]!</span>")
|
||||
return 1
|
||||
else
|
||||
if(user)
|
||||
user.visible_message("<span class='disarm'>[user] fails to blind [M] with the flash!</span>")
|
||||
user.visible_message("<span class='disarm'>[user] fails to blind [M] with the [src.name]!</span>")
|
||||
return 0
|
||||
|
||||
/obj/item/device/flash/attack(mob/living/M, mob/user)
|
||||
@@ -105,15 +106,16 @@
|
||||
else if(issilicon(M))
|
||||
M.Weaken(rand(5,10))
|
||||
add_logs(M, user, "flashed", object="[src.name]")
|
||||
user.visible_message("<span class='disarm'>[user] overloads [M]'s sensors with the flash!</span>")
|
||||
user.visible_message("<span class='disarm'>[user] overloads [M]'s sensors with the [src.name]!</span>", "<span class='danger'>You overload [M]'s sensors with the [src.name]!</span>")
|
||||
return 1
|
||||
|
||||
user.visible_message("<span class='notice'>[user] fails to blind [M] with the flash!</span>")
|
||||
user.visible_message("<span class='disarm'>[user] fails to blind [M] with the [src.name]!</span>", "<span class='warning'>You fail to blind [M] with the [src.name]!</span>")
|
||||
|
||||
|
||||
/obj/item/device/flash/attack_self(mob/living/carbon/user, flag = 0, emp = 0)
|
||||
if(!try_use_flash(user))
|
||||
return 0
|
||||
user.visible_message("<span class='disarm'>[user]'s [src.name] emits a blinding light!</span>", "<span class='danger'>Your [src.name] emits a blinding light!</span>")
|
||||
for(var/mob/living/carbon/M in oviewers(3, null))
|
||||
flash_carbon(M, user, 3, 0)
|
||||
|
||||
@@ -129,7 +131,7 @@
|
||||
|
||||
/obj/item/device/flash/proc/terrible_conversion_proc(var/mob/M, var/mob/user)
|
||||
if(ishuman(M) && ishuman(user) && M.stat != DEAD)
|
||||
if(user.mind && ((user.mind in ticker.mode.head_revolutionaries)))
|
||||
if(user.mind && (user.mind in ticker.mode.head_revolutionaries))
|
||||
if(M.client)
|
||||
if(M.stat == CONSCIOUS)
|
||||
M.mind_initialize() //give them a mind datum if they don't have one.
|
||||
@@ -142,7 +144,7 @@
|
||||
resisted = 1
|
||||
|
||||
if(resisted)
|
||||
user << "<span class='warning'>This mind seems resistant to the flash!</span>"
|
||||
user << "<span class='warning'>This mind seems resistant to the [src.name]!</span>"
|
||||
else
|
||||
user << "<span class='warning'>They must be conscious before you can convert them!</span>"
|
||||
else
|
||||
@@ -168,6 +170,12 @@
|
||||
animation.master = user
|
||||
flick("blspell", animation)
|
||||
sleep(5)
|
||||
del(animation)
|
||||
qdel(animation)
|
||||
|
||||
/obj/item/device/flash/memorizer
|
||||
name = "memorizer"
|
||||
desc = "If you see this, you're not likely to remember it any time soon."
|
||||
icon_state = "memorizer"
|
||||
item_state = "nullrod"
|
||||
|
||||
/obj/item/device/flash/synthetic //just a regular flash now
|
||||
@@ -2,7 +2,8 @@
|
||||
name = "hailer"
|
||||
desc = "Used by obese officers to save their breath for running."
|
||||
icon_state = "voice0"
|
||||
item_state = "flashbang" //looks exactly like a flash (and nothing like a flashbang)
|
||||
item_state = "flashtool" //looks exactly like a flash (and nothing like a flashbang)
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
w_class = 1.0
|
||||
flags = CONDUCT
|
||||
|
||||
@@ -28,4 +29,4 @@
|
||||
if(!emagged)
|
||||
user << "\red You overload \the [src]'s voice synthesizer."
|
||||
emagged = 1
|
||||
|
||||
|
||||
|
||||
@@ -1224,7 +1224,8 @@ obj/item/toy/cards/deck/syndicate/black
|
||||
desc = "FOR THE REVOLU- Oh wait, that's just a toy."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "flash"
|
||||
item_state = "flashbang"
|
||||
item_state = "flashtool"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
w_class = 1
|
||||
|
||||
/obj/item/toy/flash/attack(mob/living/M, mob/user)
|
||||
|
||||
@@ -8,6 +8,7 @@ var/turf/T
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "banana"
|
||||
item_state = "flashbang"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
var/deliveryamt = 8
|
||||
var/spawner_type = /obj/item/weapon/bananapeel
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
desc = "A do it yourself grenade casing!"
|
||||
icon_state = "chemg"
|
||||
item_state = "flashbang"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
var/bomb_state = "chembomb"
|
||||
var/payload_name = null // used for spawned grenades
|
||||
w_class = 2
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/obj/item/weapon/grenade/clown_grenade
|
||||
name = "Banana Grenade"
|
||||
desc = "HONK! brand Bananas. In a special applicator for rapid slipping of wide areas."
|
||||
icon_state = "chemg"
|
||||
icon_state = "banana"
|
||||
item_state = "flashbang"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
w_class = 2.0
|
||||
force = 2.0
|
||||
var/stage = 0
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
name = "classic emp grenade"
|
||||
icon_state = "emp"
|
||||
item_state = "emp"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
origin_tech = "materials=2;magnets=3"
|
||||
|
||||
prime()
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
name = "flashbang"
|
||||
icon_state = "flashbang"
|
||||
item_state = "flashbang"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
origin_tech = "materials=2;combat=1"
|
||||
var/banglet = 0
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "improvised_grenade"
|
||||
item_state = "flashbang"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
flags = CONDUCT
|
||||
@@ -71,6 +72,7 @@
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "improvised_grenade"
|
||||
item_state = "flashbang"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
flags = CONDUCT
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "grenade"
|
||||
item_state = "flashbang"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
flags = CONDUCT
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
icon_state = "flashbang"
|
||||
det_time = 20
|
||||
item_state = "flashbang"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
slot_flags = SLOT_BELT
|
||||
var/datum/effect/effect/system/bad_smoke_spread/smoke
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "delivery"
|
||||
item_state = "flashbang"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
origin_tech = "materials=3;magnets=4"
|
||||
var/banglet = 0
|
||||
var/spawner_type = null // must be an object path
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "syndicate"
|
||||
item_state = "flashbang"
|
||||
icon_override = 'icons/mob/in-hand/tools.dmi'
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
|
||||
/obj/item/weapon/grenade/syndieminibomb/prime()
|
||||
|
||||
Reference in New Issue
Block a user