diff --git a/code/game/objects/items/flag.dm b/code/game/objects/items/flag.dm index a71093f6b1f..cfee528ea8c 100644 --- a/code/game/objects/items/flag.dm +++ b/code/game/objects/items/flag.dm @@ -1,6 +1,83 @@ /obj/item/flag icon = 'icons/obj/flag.dmi' w_class = 4.0 + var/lit = 0 + var/burntime = 30 + +/obj/item/flag/fire_act(null, temperature, volume) + if(!lit) + Ignite() + return + +/obj/item/flag/proc/Ignite() + if(lit) return + lit = 1 + update_icons() + processing_objects.Add(src) + +/obj/item/flag/process() + burntime-- + if(burntime < 1) + processing_objects.Remove(src) + if(istype(src.loc,/turf)) + new /obj/effect/decal/cleanable/ash(src.loc) + new /obj/item/stack/rods(src.loc) + del(src) + return + if(istype(src.loc,/mob/living/carbon)) + var/mob/living/carbon/C = src.loc + var/turf/location = get_turf(C) + new /obj/effect/decal/cleanable/ash(location) + var/obj/item/stack/rods/R = new /obj/item/stack/rods + del(src) + C.put_in_hands(R) + return + else + del(src) + return + +/obj/item/flag/attackby(obj/item/weapon/W as obj, mob/user as mob) + ..() + if(istype(W, /obj/item/weapon/weldingtool)) + var/obj/item/weapon/weldingtool/WT = W + if(WT.isOn())//Badasses dont get blinded while lighting their cig with a welding tool + light("[user] casually lights the [name] with [W], what a badass.") + + else if(istype(W, /obj/item/weapon/lighter/zippo)) + var/obj/item/weapon/lighter/zippo/Z = W + if(Z.lit) + light("With a single flick of their wrist, [user] smoothly lights the [name] with their [W]. Damn they're cool.") + + else if(istype(W, /obj/item/weapon/lighter)) + var/obj/item/weapon/lighter/L = W + if(L.lit) + light("After some fiddling, [user] manages to light the [name] with [W].") + + else if(istype(W, /obj/item/weapon/match)) + var/obj/item/weapon/match/M = W + if(M.lit) + light("[user] lights the [name] with their [W].") + + else if(istype(W, /obj/item/weapon/melee/energy/sword)) + var/obj/item/weapon/melee/energy/sword/S = W + if(S.active) + light("[user] swings their [W], barely missing their nose. They light the [name] in the process.") + + else if(istype(W, /obj/item/device/assembly/igniter)) + light("[user] fiddles with [W], and manages to light the [name].") + +/obj/item/flag/proc/light(var/flavor_text = "[usr] lights the [name].") + if(!src.lit) + src.lit = 1 + var/turf/T = get_turf(src) + T.visible_message(flavor_text) + update_icons() + processing_objects.Add(src) + +/obj/item/flag/proc/update_icons() + overlays = null + overlays += image('icons/obj/flag.dmi', src , "fire") +// item_state = "[icon_state]_fire" Waiting for new in-hands /obj/item/flag/nt name = "Nanotrasen flag" @@ -42,31 +119,6 @@ desc = "The flag of the independant, sovereign nation of Equestria, whatever the fuck that is." icon_state = "ponyflag" -//Nations/Department flags -/obj/item/flag/cargo - name = "Cargonia flag" - desc = "The flag of the independant, sovereign nation of Cargonia." - icon_state = "cargoflag" - -/obj/item/flag/med - name = "Medistan flag" - desc = "The flag of the independant, sovereign nation of Medistan." - icon_state = "medflag" - -/obj/item/flag/sec - name = "Brigston flag" - desc = "The flag of the independant, sovereign nation of Brigston." - icon_state = "secflag" - -/obj/item/flag/rnd - name = "Scientopia flag" - desc = "The flag of the independant, sovereign nation of Scientopia." - icon_state = "rndflag" - -/obj/item/flag/atmos - name = "Atmosia flag" - desc = "The flag of the independant, sovereign nation of Atmosia." - icon_state = "atmosflag" //Species flags @@ -83,4 +135,32 @@ /obj/item/flag/vox name = "Vox flag" desc = "A flag proudly proclaiming the superior heritage of Vox." - icon_state = "voxflag" \ No newline at end of file + icon_state = "voxflag" + + +//Nations/Department flags + +/obj/item/flag/nation/cargo + name = "Cargonia flag" + desc = "The flag of the independant, sovereign nation of Cargonia." + icon_state = "cargoflag" + +/obj/item/flag/nation/med + name = "Medistan flag" + desc = "The flag of the independant, sovereign nation of Medistan." + icon_state = "medflag" + +/obj/item/flag/nation/sec + name = "Brigston flag" + desc = "The flag of the independant, sovereign nation of Brigston." + icon_state = "secflag" + +/obj/item/flag/nation/rnd + name = "Scientopia flag" + desc = "The flag of the independant, sovereign nation of Scientopia." + icon_state = "rndflag" + +/obj/item/flag/nation/atmos + name = "Atmosia flag" + desc = "The flag of the independant, sovereign nation of Atmosia." + icon_state = "atmosflag" \ No newline at end of file diff --git a/icons/mob/in-hand/in-hand_sync_report.txt b/icons/mob/in-hand/in-hand_sync_report.txt index 3d53a633abf..2f094bfbd47 100644 --- a/icons/mob/in-hand/in-hand_sync_report.txt +++ b/icons/mob/in-hand/in-hand_sync_report.txt @@ -11,6 +11,7 @@ + cargoflag + cargoflag_old + clownflag + + fire + greyflag + medflag + mimeflag diff --git a/icons/mob/in-hand/left/flags_left.dmi b/icons/mob/in-hand/left/flags_left.dmi index d638a08d16a..79a60a106e3 100644 Binary files a/icons/mob/in-hand/left/flags_left.dmi and b/icons/mob/in-hand/left/flags_left.dmi differ diff --git a/icons/mob/in-hand/right/flags_right.dmi b/icons/mob/in-hand/right/flags_right.dmi index 70333ef63e8..96e92b0e42e 100644 Binary files a/icons/mob/in-hand/right/flags_right.dmi and b/icons/mob/in-hand/right/flags_right.dmi differ diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index 9a43825bad2..d57de90acd1 100644 Binary files a/icons/mob/items_lefthand.dmi and b/icons/mob/items_lefthand.dmi differ diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi index 981b70dbba0..bb82f72d8c6 100644 Binary files a/icons/mob/items_righthand.dmi and b/icons/mob/items_righthand.dmi differ diff --git a/icons/obj/flag.dmi b/icons/obj/flag.dmi index 2f54ee35f61..0261f21e28e 100644 Binary files a/icons/obj/flag.dmi and b/icons/obj/flag.dmi differ