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