Files
Paradise/code/game/objects/items/weapons/fireworks.dm
Citinited fddff1049b [Testmerge ready] Ports tool behaviours; refactors all tools; adds functionality for self-filling reagent containers (#11700)
* Adds support for self-filling reagent containers

* Sets tool_behaviour on the default set of tools

* Fixing merge conflicts

* Refactors welder to use tool behaviour

* The refactor: part I

* The refactor: part II

* Tool Refactor Part III: Revenge of the Maint

* Tool Refactor Part IV: A New Hope

* Tool Refactor Part V: The Oldcoder Strikes Back

* Tool Refactor Part VI: Return of the Coder

* VII

* Holy shit, it compiles?!

* Nannek I completed your TODO, you owe me ice cream

* Tool helpers; telepad is compliant

* Bugtest, Round 1: Fight

Fuck refactoring disposals

* Buggfixing, Round 2: Electric Boogaloo

* Personal crafting uses tool behaviours now

* Construction datums use new tool behaviours; better way of handling fueltank refuelling; more bugfixing

* multitool_check_buffer change; removes some useless things in tool_helpers

* proc name change

* TRUE/FALSE changes

* Bugfixing, Round 3: A Good Day To Bugfix Hard

Fixes multiple issues raised by the testmerge

* Minor style changes
2020-02-15 13:31:08 -07:00

62 lines
1.5 KiB
Plaintext

obj/item/firework
name = "fireworks"
icon = 'icons/obj/fireworks.dmi'
icon_state = "rocket_0"
var/litzor = 0
var/datum/effect_system/sparkle_spread/S
obj/item/firework/attackby(obj/item/W,mob/user, params)
if(litzor)
return
if(is_hot(W))
for(var/mob/M in viewers(user))
to_chat(M, "[user] lits \the [src]")
litzor = 1
icon_state = "rocket_1"
S = new()
S.set_up(5,0,src.loc)
sleep(30)
if(ismob(src.loc) || isobj(src.loc))
S.attach(src.loc)
S.start()
qdel(src)
obj/item/sparkler
name = "sparkler"
icon = 'icons/obj/fireworks.dmi'
icon_state = "sparkler_0"
var/litzor = 0
obj/item/sparkler/attackby(obj/item/W,mob/user, params)
if(litzor)
return
if(is_hot(W))
for(var/mob/M in viewers(user))
to_chat(M, "[user] lits \the [src]")
litzor = 1
icon_state = "sparkler_1"
var/b = rand(5,9)
for(var/xy, xy<=b, xy++)
do_sparks(1, 0, loc)
sleep(10)
qdel(src)
/obj/crate/fireworks
name = "Fireworks!"
/obj/crate/fireworks/New()
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/sparkler(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)
new /obj/item/firework(src)