diff --git a/code/obj/item/assembly/single_tank_bomb.dm b/code/obj/item/assembly/single_tank_bomb.dm index 03f4212925220..472abe728fc73 100644 --- a/code/obj/item/assembly/single_tank_bomb.dm +++ b/code/obj/item/assembly/single_tank_bomb.dm @@ -48,7 +48,6 @@ var/obj/item/device/prox_sensor/part1 = null var/obj/item/device/igniter/part2 = null var/obj/item/tank/plasma/part3 = null - status = 0 flags = TABLEPASS | CONDUCT /obj/item/assembly/proximity_bomb/dropped() @@ -73,7 +72,7 @@ return /obj/item/assembly/proximity_bomb/attackby(obj/item/W, mob/user) - if (iswrenchingtool(W) && !(src.status)) + if (iswrenchingtool(W)) var/obj/item/assembly/prox_ignite/R = new /obj/item/assembly/prox_ignite( ) R.part1 = src.part1 R.part2 = src.part2 @@ -93,23 +92,8 @@ src.part3 = null qdel(src) return - if (!(isweldingtool(W) && W:try_weld(user,0,-1,1,0))) - return - if (!( src.status )) - src.status = 1 - user.show_message(SPAN_NOTICE("A pressure hole has been bored to the plasma tank valve. The plasma tank can now be ignited."), 1) - else - src.status = 0 - boutput(user, SPAN_NOTICE("The hole has been closed.")) - - src.bomb_logs(user, src, "proximity", src.status == 1 ? 0 : 1, 0) - src.part2.status = src.status - src.add_fingerprint(user) - return /obj/item/assembly/proximity_bomb/attack_self(mob/user as mob) - - playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1) src.part1.AttackSelf(user, 1) src.add_fingerprint(user) return @@ -120,20 +104,12 @@ O.show_message("[bicon(src)] *beep* *beep*", 3, "*beep* *beep*", 2) //Foreach goto(19) - if (src.status) - src.part1.armed = FALSE - src.c_state(0) - if (src.force_dud == 1) - src.bomb_logs(usr, src, "proximity", 0, 1) - return - src.part3.ignite() - else - if (!src.status && src.force_dud == 0) - src.part1.armed = FALSE - src.c_state(0) - src.part3.release() - - return + src.part1.armed = FALSE + src.c_state(0) + if (src.force_dud == 1) + src.bomb_logs(usr, src, "proximity", 0, 1) + return + src.part3.ignite() /obj/item/assembly/proximity_bomb/c_state(n) @@ -175,7 +151,6 @@ var/obj/item/device/timer/part1 = null var/obj/item/device/igniter/part2 = null var/obj/item/tank/plasma/part3 = null - status = 0 flags = TABLEPASS | CONDUCT /obj/item/assembly/time_bomb/c_state(n) @@ -198,7 +173,7 @@ return /obj/item/assembly/time_bomb/attackby(obj/item/W, mob/user) - if (iswrenchingtool(W) && !(src.status)) + if (iswrenchingtool(W)) var/obj/item/assembly/time_ignite/R = new /obj/item/assembly/time_ignite( ) R.part1 = src.part1 R.part2 = src.part2 @@ -218,25 +193,9 @@ src.part3 = null qdel(src) return - if (!(isweldingtool(W) && W:try_weld(user,0,-1,1,0))) - return - if (!( src.status )) - src.status = 1 - user.show_message(SPAN_NOTICE("A pressure hole has been bored to the plasma tank valve. The plasma tank can now be ignited."), 1) - else - src.status = 0 - boutput(user, SPAN_NOTICE("The hole has been closed.")) - - src.part2.status = src.status - src.bomb_logs(user, src, "timer", src.status == 1 ? 0 : 1, 0) - src.add_fingerprint(user) - return /obj/item/assembly/time_bomb/attack_self(mob/user as mob) - - if (src.part1) - src.part1.AttackSelf(user, 1) - playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1) + src.part1?.AttackSelf(user, 1) src.add_fingerprint(user) return @@ -244,15 +203,10 @@ //boutput(world, "tiptank [src] got signal") for(var/mob/O in hearers(1, null)) O.show_message("[bicon(src)] *beep* *beep*", 3, "*beep* *beep*", 2) - if (src.status) - if (src.force_dud == 1) - src.bomb_logs(usr, src, "timer", 0, 1) - return - src.part3.ignite() - else - if (!src.status && src.force_dud == 0) - src.part3.release() - return + if (src.force_dud == 1) + src.bomb_logs(usr, src, "timer", 0, 1) + return + src.part3.ignite() /obj/item/assembly/time_bomb/return_air(direct = FALSE) return src.part3?.return_air() @@ -266,7 +220,6 @@ var/obj/item/device/radio/signaler/part1 = null var/obj/item/device/igniter/part2 = null var/obj/item/tank/plasma/part3 = null - status = 0 flags = TABLEPASS | CONDUCT /obj/item/assembly/radio_bomb/examine() @@ -285,7 +238,7 @@ return /obj/item/assembly/radio_bomb/attackby(obj/item/W, mob/user) - if (iswrenchingtool(W) && !(src.status)) + if (iswrenchingtool(W)) var/obj/item/assembly/rad_ignite/R = new /obj/item/assembly/rad_ignite( ) R.part1 = src.part1 R.part2 = src.part2 @@ -305,26 +258,9 @@ src.part3 = null qdel(src) return - if (!(isweldingtool(W) && W:try_weld(user,0,-1,1,0))) - return - if (!( src.status )) - src.status = 1 - user.show_message(SPAN_NOTICE("A pressure hole has been bored to the plasma tank valve. The plasma tank can now be ignited."), 1) - else - src.status = 0 - boutput(user, SPAN_NOTICE("The hole has been closed.")) - - src.bomb_logs(user, src, "radio", src.status == 1 ? 0 : 1, 0) - src.part2.status = src.status - src.part1.b_stat = !( src.status ) - src.add_fingerprint(user) - return /obj/item/assembly/radio_bomb/attack_self(mob/user as mob) - - if (src.part1) - playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1) - src.part1.AttackSelf(user, 1) + src.part1?.AttackSelf(user, 1) src.add_fingerprint(user) return @@ -332,15 +268,10 @@ //boutput(world, "riptank [src] got signal") for(var/mob/O in hearers(1, null)) O.show_message("[bicon(src)] *beep* *beep*", 3, "*beep* *beep*", 2) - if (src.status) - if (src.force_dud == 1) - src.bomb_logs(usr, src, "radio", 0, 1) - return - src.part3.ignite() - else - if (!src.status && src.force_dud == 0) - src.part3.release() - return + if (src.force_dud == 1) + src.bomb_logs(usr, src, "radio", 0, 1) + return + src.part3.ignite() /obj/item/assembly/radio_bomb/return_air(direct = FALSE) return src.part3?.return_air() diff --git a/code/obj/item/tank.dm b/code/obj/item/tank.dm index dd25e5556b371..4d14a22ff37fc 100644 --- a/code/obj/item/tank.dm +++ b/code/obj/item/tank.dm @@ -618,12 +618,12 @@ TYPEINFO(/obj/item/tank/jetpack/micro) var/turf/ground_zero = get_turf(loc) if(air_contents.temperature > (T0C + 400)) - strength = fuel_moles/15 + strength = fuel_moles/8 explosion(src, ground_zero, strength, strength*2, strength*4, strength*5) else if(air_contents.temperature > (T0C + 250)) - strength = fuel_moles/20 + strength = fuel_moles/10 explosion(src, ground_zero, -1, -1, strength*3, strength*4) ground_zero.assume_air(air_contents) @@ -631,7 +631,7 @@ TYPEINFO(/obj/item/tank/jetpack/micro) ground_zero.hotspot_expose(1000, 125) else if(air_contents.temperature > (T0C + 100)) - strength = fuel_moles/25 + strength = fuel_moles/13 explosion(src, ground_zero, -1, -1, strength*2, strength*3) ground_zero.assume_air(air_contents) diff --git a/strings/changelog.txt b/strings/changelog.txt index dad177b54b1ae..3a8f0e1eb9950 100644 --- a/strings/changelog.txt +++ b/strings/changelog.txt @@ -26,6 +26,7 @@ (+)Pie slices can now be eaten without a spoon. (+)Traitor Pest Control Specialists can now buy an old hunting rifle for 7TC. (*)Bacon and steaks can now be cooked in the engine burn chamber. Probably not very well. +(*)Single tank plasma bombs no longer require welding and explode with around double the power, making them more powerful than equivalent TTVs at lower plasma temperatures. (u)TDHooligan (p)21974 (e)🆕⚖📦|C-Feature, C-Balance, A-Game-Objects