diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index daec4abc4b9..0a4f729b1d8 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -13,6 +13,7 @@ var/status = 0 var/obj/item/weapon/stock_parts/cell/high/bcell = null var/hitcost = 1000 + var/losspertick = 5 /obj/item/weapon/melee/baton/suicide_act(mob/user) user.visible_message("[user] is putting the live [name] in \his mouth! It looks like \he's trying to commit suicide.") @@ -44,6 +45,25 @@ else return 0 +/obj/item/weapon/melee/baton/proc/update_process() + if(status) + SSobj.processing |= src + else + SSobj.processing.Remove(src) + +/obj/item/weapon/melee/baton/process() + if(bcell) + if(bcell.charge < hitcost) + status = 0 + update_icon() + if(status) + if(isrobot(loc)) + var/mob/living/silicon/robot/R = loc + if(R && R.cell) + R.cell.use(losspertick) + else + bcell.use(losspertick) + /obj/item/weapon/melee/baton/update_icon() if(status) icon_state = "[initial(name)]_active" @@ -51,6 +71,7 @@ icon_state = "[initial(name)]_nocell" else icon_state = "[initial(name)]" + update_process() /obj/item/weapon/melee/baton/examine(mob/user) ..() diff --git a/html/changelogs/Paprka-batonshit.yml b/html/changelogs/Paprka-batonshit.yml new file mode 100644 index 00000000000..6253da0f1e6 --- /dev/null +++ b/html/changelogs/Paprka-batonshit.yml @@ -0,0 +1,6 @@ +author: Paprka + +delete-after: True + +changes: + - tweak: "Batons now slowly lose power when left on." \ No newline at end of file