This commit is contained in:
Geeves
2020-06-05 15:12:57 +02:00
committed by GitHub
parent e3ad020995
commit 02dce3d333
5 changed files with 59 additions and 23 deletions

View File

@@ -1,15 +1,16 @@
/obj/item/device/chameleon
name = "chameleon projector"
desc_antag = "This device can let you disguise as common objects. Click on an object with this in your active hand to scan it, then activate it to use it in your hand."
icon_state = "shield0"
flags = CONDUCT
slot_flags = SLOT_BELT
item_state = "electronic"
throwforce = 5.0
throwforce = 5
throw_speed = 1
throw_range = 5
w_class = 2.0
w_class = ITEMSIZE_SMALL
origin_tech = list(TECH_ILLEGAL = 4, TECH_MAGNET = 4)
var/can_use = 1
var/can_use = TRUE
var/obj/effect/dummy/chameleon/active_dummy = null
var/saved_item = /obj/item/trash/cigbutt
var/saved_icon = 'icons/obj/clothing/masks.dmi'
@@ -28,7 +29,8 @@
toggle()
/obj/item/device/chameleon/afterattack(atom/target, mob/user , proximity)
if(!proximity) return
if(!proximity)
return
if(!active_dummy)
if(istype(target,/obj/item) && !istype(target, /obj/item/disk/nuclear))
playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, 1, -6)
@@ -39,7 +41,8 @@
saved_overlays = target.overlays
/obj/item/device/chameleon/proc/toggle()
if(!can_use || !saved_item) return
if(!can_use || !saved_item)
return
if(active_dummy)
eject_all()
playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6)
@@ -53,7 +56,8 @@
else
playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6)
var/obj/O = new saved_item(src)
if(!O) return
if(!O)
return
var/obj/effect/dummy/chameleon/C = new /obj/effect/dummy/chameleon(usr.loc)
C.activate(O, usr, saved_icon, saved_icon_state, saved_overlays, src)
qdel(O)
@@ -83,9 +87,9 @@
/obj/effect/dummy/chameleon
name = ""
desc = ""
density = 0
anchored = 1
var/can_move = 1
density = FALSE
anchored = TRUE
var/can_move = TRUE
var/obj/item/device/chameleon/master = null
/obj/effect/dummy/chameleon/proc/activate(var/obj/O, var/mob/M, new_icon, new_iconstate, new_overlays, var/obj/item/device/chameleon/C)

View File

@@ -327,25 +327,38 @@
drop_sound = 'sound/items/drop/food.ogg'
pickup_sound = 'sound/items/pickup/food.ogg'
throw_impact(atom/hit_atom)
..()
spark(src, 3, alldirs)
new /obj/effect/decal/cleanable/ash(src.loc)
src.visible_message("<span class='warning'>The [src.name] explodes!</span>","<span class='warning'>You hear a snap!</span>")
playsound(src, 'sound/effects/snap.ogg', 50, 1)
qdel(src)
/obj/item/toy/snappop/attack_self(mob/user)
user.drop_from_inventory(src)
user.visible_message(SPAN_WARNING("\The [user] throws \the [src] at their feet!"), SPAN_NOTICE("You throw \the [src] at your feet."))
do_pop()
/obj/item/toy/snappop/throw_impact(atom/hit_atom)
..()
do_pop()
/obj/item/toy/snappop/Crossed(H as mob|obj)
if((ishuman(H))) //i guess carp and shit shouldn't set them off
var/mob/living/carbon/M = H
if(M.m_intent == "run")
to_chat(M, "<span class='warning'>You step on the snap pop!</span>")
to_chat(M, SPAN_WARNING("You step on the snap pop!"))
do_pop()
spark(src, 2)
new /obj/effect/decal/cleanable/ash(src.loc)
src.visible_message("<span class='warning'>The [src.name] explodes!</span>","<span class='warning'>You hear a snap!</span>")
playsound(src, 'sound/effects/snap.ogg', 50, 1)
qdel(src)
/obj/item/toy/snappop/proc/do_pop()
spark(src, 3, alldirs)
new /obj/effect/decal/cleanable/ash(get_turf(src))
visible_message(SPAN_WARNING("\The [src] explodes!"), SPAN_WARNING("You hear a snap!"))
playsound(get_turf(src), 'sound/effects/snap.ogg', 50, TRUE)
qdel(src)
/obj/item/toy/snappop/syndi
desc_antag = "These snap pops have an extra compound added that will deploy a tiny smokescreen when snapped."
/obj/item/toy/snappop/syndi/do_pop()
var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread
smoke.set_up(2, 0, get_turf(src))
smoke.attach(get_turf(src))
smoke.start()
..()
/*
* Water flower

View File

@@ -486,6 +486,10 @@
can_hold = list(/obj/item/toy/snappop)
starts_with = list(/obj/item/toy/snappop = 8)
/obj/item/storage/box/snappops/syndi
desc_antag = "These snap pops have an extra compound added that will deploy a tiny smokescreen when snapped."
starts_with = list(/obj/item/toy/snappop/syndi = 8)
/obj/item/storage/box/matches
name = "matchbox"
desc = "A small box of 'Space-Proof' premium matches."