From 5ad60f1e53cbaed56ebba2b135e0ce11f8533e17 Mon Sep 17 00:00:00 2001 From: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com> Date: Fri, 15 Dec 2023 22:03:30 +0000 Subject: [PATCH] Help --- _maps/toolbox_arenas/bomberman.dmm | 315 ++++++++++++++++++++ modular_event/bomberman/bomberman_icons.dmi | Bin 0 -> 795 bytes modular_event/bomberman/powerup.dmm | 75 +++++ modular_event/bomberman/wall.dmm | 39 +++ tgstation.dme | 2 + 5 files changed, 431 insertions(+) create mode 100644 _maps/toolbox_arenas/bomberman.dmm create mode 100644 modular_event/bomberman/bomberman_icons.dmi create mode 100644 modular_event/bomberman/powerup.dmm create mode 100644 modular_event/bomberman/wall.dmm diff --git a/_maps/toolbox_arenas/bomberman.dmm b/_maps/toolbox_arenas/bomberman.dmm new file mode 100644 index 00000000000..e3785b3c317 --- /dev/null +++ b/_maps/toolbox_arenas/bomberman.dmm @@ -0,0 +1,315 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/open/floor/grass, +/area/centcom/tdome/arena) +"f" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 4 + }, +/turf/open/floor/grass, +/area/centcom/tdome/arena) +"g" = ( +/obj/structure/barricade/bomberman/powerup/mirror, +/turf/open/floor/grass, +/area/centcom/tdome/arena) +"h" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 14 + }, +/turf/open/misc/grass/jungle, +/area/centcom/tdome/arena) +"j" = ( +/turf/open/misc/grass/jungle, +/area/centcom/tdome/arena) +"k" = ( +/obj/structure/barricade/bomberman/powerup, +/turf/open/misc/grass/jungle, +/area/centcom/tdome/arena) +"m" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 10 + }, +/turf/open/misc/grass/jungle, +/area/centcom/tdome/arena) +"p" = ( +/obj/structure/barricade/bomberman/powerup/mirror, +/turf/open/misc/grass/jungle, +/area/centcom/tdome/arena) +"x" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 6 + }, +/turf/open/misc/grass/jungle, +/area/centcom/tdome/arena) +"A" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 6 + }, +/turf/open/floor/grass, +/area/centcom/tdome/arena) +"B" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 16 + }, +/turf/open/floor/grass, +/area/centcom/tdome/arena) +"D" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 12 + }, +/turf/open/floor/grass, +/area/centcom/tdome/arena) +"E" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 10 + }, +/turf/open/floor/grass, +/area/centcom/tdome/arena) +"G" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 14 + }, +/turf/open/floor/grass, +/area/centcom/tdome/arena) +"J" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 8 + }, +/turf/open/misc/grass/jungle, +/area/centcom/tdome/arena) +"L" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 4 + }, +/turf/open/misc/grass/jungle, +/area/centcom/tdome/arena) +"M" = ( +/turf/closed/indestructible/bombermanwall, +/area/centcom/tdome/arena) +"P" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 12 + }, +/turf/open/misc/grass/jungle, +/area/centcom/tdome/arena) +"Q" = ( +/obj/structure/barricade/bomberman/powerup, +/turf/open/floor/grass, +/area/centcom/tdome/arena) +"W" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 16 + }, +/turf/open/misc/grass/jungle, +/area/centcom/tdome/arena) +"Z" = ( +/obj/structure/barricade/bomberman/powerup/mirror{ + mirror_distance = 8 + }, +/turf/open/floor/grass, +/area/centcom/tdome/arena) + +(1,1,1) = {" +a +j +B +W +B +W +B +W +a +j +"} +(2,1,1) = {" +j +M +h +M +h +G +M +G +M +a +"} +(3,1,1) = {" +D +P +D +P +D +P +D +P +D +P +"} +(4,1,1) = {" +m +M +m +M +m +E +M +E +M +E +"} +(5,1,1) = {" +Z +J +Z +J +Z +J +Z +J +Z +J +"} +(6,1,1) = {" +x +M +x +M +x +A +M +A +M +A +"} +(7,1,1) = {" +f +L +f +L +a +j +f +L +f +L +"} +(8,1,1) = {" +p +M +p +a +j +a +j +g +M +g +"} +(9,1,1) = {" +Q +k +Q +j +a +j +a +k +Q +k +"} +(10,1,1) = {" +j +M +j +a +j +a +j +a +M +a +"} +(11,1,1) = {" +a +j +a +j +a +j +a +j +a +j +"} +(12,1,1) = {" +j +M +j +M +j +a +M +a +M +a +"} +(13,1,1) = {" +a +j +a +j +a +j +a +j +a +j +"} +(14,1,1) = {" +j +M +j +M +j +a +M +a +M +a +"} +(15,1,1) = {" +a +j +a +j +a +j +a +j +a +j +"} +(16,1,1) = {" +j +M +j +M +j +a +M +a +M +a +"} +(17,1,1) = {" +a +j +a +j +a +j +a +j +a +j +"} diff --git a/modular_event/bomberman/bomberman_icons.dmi b/modular_event/bomberman/bomberman_icons.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f75083f3ab80d0cf02da4ee40fac8edf7079f97e GIT binary patch literal 795 zcmV+$1LXXPP)fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33t zGfE(w;*!LYR3KBSJTWIn*FcGjGbOXA7${)K#hF%=n41b=!<8i!WhQ4A6I51`pP!SI zUr|~>P-SsJYHA7*>e4ccQgJI&R&e!m0s9*O0(MAy|5jbt0005vNkl2~I#Hu>M5>r@s#c!MsE;4199s4CZd+db ZDZe9Pl@s{&$?O0C002ovPDHLkV1gKVTL%CD literal 0 HcmV?d00001 diff --git a/modular_event/bomberman/powerup.dmm b/modular_event/bomberman/powerup.dmm new file mode 100644 index 00000000000..8fa73cf45ac --- /dev/null +++ b/modular_event/bomberman/powerup.dmm @@ -0,0 +1,75 @@ +/obj/effect/powerup/bomberman + icon = 'modular_event/bomberman/bomberman_icons.dmi' + pickup_sound = 'sound/machines/synth_yes.ogg' + +/obj/effect/powerup/bomberman/trigger(mob/living/target) + . = ..() + if(!.) + return + target.balloon_alert_to_viewers(name) + +/obj/effect/powerup/bomberman/speed + name = "speed up" + desc = "Makes you slightly faster." + icon_state = "speedup" + +/obj/effect/powerup/bomberman/speed/trigger(mob/living/target) + . = ..() + if(!.) + return + if (target.has_movespeed_modifier(/datum/movespeed_modifier/bomberman_speed/fourth)) + return + if (target.has_movespeed_modifier(/datum/movespeed_modifier/bomberman_speed/third)) + target.remove_movespeed_modifier(/datum/movespeed_modifier/bomberman_speed/third) + target.add_movespeed_modifier(/datum/movespeed_modifier/bomberman_speed/fourth) + return + if (target.has_movespeed_modifier(/datum/movespeed_modifier/bomberman_speed/second)) + target.remove_movespeed_modifier(/datum/movespeed_modifier/bomberman_speed/second) + target.add_movespeed_modifier(/datum/movespeed_modifier/bomberman_speed/third) + return + if (target.has_movespeed_modifier(/datum/movespeed_modifier/bomberman_speed/first)) + target.remove_movespeed_modifier(/datum/movespeed_modifier/bomberman_speed/first) + target.add_movespeed_modifier(/datum/movespeed_modifier/bomberman_speed/second) + return + target.add_movespeed_modifier(/datum/movespeed_modifier/bomberman_speed/first)//WHO ON EARTH LET ME COOK + +/datum/movespeed_modifier/bomberman_speed + +/datum/movespeed_modifier/bomberman_speed/first //Turning tracking how many boosts you have into a component would be better but too bad. + multiplicative_slowdown = -0.15 + +/datum/movespeed_modifier/bomberman_speed/second + multiplicative_slowdown = -0.3 + +/datum/movespeed_modifier/bomberman_speed/third + multiplicative_slowdown = -0.45 + +/datum/movespeed_modifier/bomberman_speed/fourth + multiplicative_slowdown = -0.6 + +/obj/effect/powerup/bomberman/fire + name = "robustness up" + desc = "Makes your toolboxes stronger." + icon_state = "fireup" + +/obj/effect/powerup/bomberman/fire/trigger(mob/living/target) + . = ..() + if(!.) + return + for(var/obj/item/storage/toolbox/toolbox in target) + if(toolbox.force < 16) + toolbox.force++ + toolbox.throwforce++ + toolbox.transform = toolbox.transform.Scale(1.25, 1.25) + +/obj/effect/powerup/bomberman/bomb + name = "toolbox up" + desc = "Gives you another toolbox." + icon_state = "toolboxup" + +/obj/effect/powerup/bomberman/bomb/trigger(mob/living/target) + . = ..() + if(!.) + return + var/toolbox = new /obj/item/storage/toolbox(target.loc) + target.put_in_hands(toolbox) diff --git a/modular_event/bomberman/wall.dmm b/modular_event/bomberman/wall.dmm new file mode 100644 index 00000000000..ff128cac898 --- /dev/null +++ b/modular_event/bomberman/wall.dmm @@ -0,0 +1,39 @@ +/turf/closed/indestructible/bombermanwall + icon = 'modular_event/bomberman/bomberman_icons.dmi' + icon_state = "wall-0" + opacity = FALSE + +/obj/structure/barricade/bomberman + name = "brick wall" + desc = "Looks vunerable to explosives, but a toolbox will do." + icon = 'modular_event/bomberman/bomberman_icons.dmi' + icon_state = "bricks" + max_integrity = 1 + var/obj/powerup = null + +/obj/structure/barricade/bomberman/Initialize(mapload) + . = ..() + //Its an event so I can get away with this + resistance_flags = NONE + +/obj/structure/barricade/bomberman/atom_destruction(damage_flag) + if(!isnull(powerup)) + new powerup(get_turf(src)) + . = ..() + +/obj/structure/barricade/bomberman/powerup + +/obj/structure/barricade/bomberman/powerup/Initialize(mapload) + . = ..() + if (!prob(13)) + return + powerup = pick(subtypesof(/obj/effect/powerup/bomberman)) + +/obj/structure/barricade/bomberman/powerup/mirror + var/mirror_distance = 2 + +/obj/structure/barricade/bomberman/powerup/mirror/Initialize(mapload) + . = ..() + var/obj/structure/barricade/bomberman/mirrored_wall = new /obj/structure/barricade/bomberman(locate(x + mirror_distance, y, z)) + if(!isnull(powerup)) + mirrored_wall.powerup = powerup diff --git a/tgstation.dme b/tgstation.dme index 0594aec795b..4ca13a0eff2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5725,4 +5725,6 @@ #include "modular_event\base\vending_safety.dm" #include "modular_event\base\event_aheal_recall_spells\code\action.dm" #include "modular_event\base\event_aheal_recall_spells\code\living.dm" +#include "modular_event\bomberman\powerup.dmm" +#include "modular_event\bomberman\wall.dmm" // END_INCLUDE