From 529d97cb1c105bcd548e95a9c9070bbf5253dd81 Mon Sep 17 00:00:00 2001 From: panurgomatic Date: Fri, 7 Jan 2011 02:48:56 +0000 Subject: [PATCH] - Mech Recharge Bay. Note to the map-makers: recharge port should be situated to the west of recharge floor, console - anywhere close to it. - H.O.N.K exosuit. - Mechs can push mobs and objects. - Mecha clickspam bug should be fixed. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@794 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/mecha/combat/combat.dm | 13 +- code/game/mecha/combat/gygax.dm | 14 +- code/game/mecha/combat/marauder.dm | 14 +- code/game/mecha/combat/weapons/weapons.dm | 96 +++++++++- code/game/mecha/mech_bay.dm | 214 ++++++++++++++++++++++ code/game/mecha/mecha.dm | 31 +++- code/game/mecha/working/tools/tools.dm | 2 +- icons/misc/mech_bay.dmi | Bin 0 -> 2405 bytes icons/mob/mecha.dmi | Bin 4717 -> 6932 bytes sound/items/AirHorn.ogg | Bin 0 -> 40134 bytes tgstation.dme | 2 + 11 files changed, 344 insertions(+), 42 deletions(-) create mode 100644 code/game/mecha/mech_bay.dm create mode 100644 icons/misc/mech_bay.dmi create mode 100644 sound/items/AirHorn.ogg diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm index 730cbecb2f7..f586b2d2d78 100644 --- a/code/game/mecha/combat/combat.dm +++ b/code/game/mecha/combat/combat.dm @@ -43,7 +43,7 @@ /obj/mecha/combat/melee_action(target) if(internal_damage&MECHA_INT_CONTROL_LOST) target = pick(oview(1,src)) - if(!melee_can_hit || (!istype(target, /obj) && !istype(target, /mob) && !istype(target, /turf))) return + if(!melee_can_hit || !istype(target, /atom)) return if(istype(target, /mob)) var/mob/M = target if(src.occupant.a_intent == "hurt") @@ -213,6 +213,17 @@ src.log_append_to_last("[destr_weapon] is destoyed.",1) return +/obj/mecha/combat/get_stats_part() + var/output = ..() + output += "Weapon systems:
" + if(weapons.len) + for(var/datum/mecha_weapon/W in weapons) + output += "[selected_weapon==W?"":""][W.get_weapon_info()][selected_weapon==W?"":""]
" + else + output += "None" + output += "
" + return output + /* //the garbage collector should handle this /obj/mecha/combat/Del() diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 9c186773cdd..a5e64f0db87 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -26,11 +26,11 @@ if(overload) overload = 0 step_in = initial(step_in) - src.occupant << "\blue You disable leg actuators overload." + src.occupant_message("You disable leg actuators overload.") else overload = 1 step_in = min(1, round(step_in/2)) - src.occupant << "\red You enable leg actuators overload." + src.occupant_message(" You enable leg actuators overload.") return @@ -43,19 +43,12 @@ if(health < initial(health) - initial(health)/3) overload = 0 step_in = initial(step_in) - src.occupant << "\red Leg actuators damage threshold exceded. Disabling overload." + src.occupant_message("Leg actuators damage threshold exceded. Disabling overload.") return /obj/mecha/combat/gygax/get_stats_part() var/output = ..() - output += "Weapon systems:
" - if(weapons.len) - for(var/datum/mecha_weapon/W in weapons) - output += "[selected_weapon==W?"":""][W.get_weapon_info()][selected_weapon==W?"":""]
" - else - output += "None" - output += "
" output += "Leg actuators overload: [overload?"on":"off"]" return output @@ -69,5 +62,4 @@ ..() if (href_list["toggle_leg_overload"]) src.overload() - return return \ No newline at end of file diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index 1973baca5cc..42ff07ffeba 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -28,7 +28,7 @@ if(!can_move) return 0 if(connected_port) - src.occupant << "Unable to move while connected to the air system port" + src.occupant_message("Unable to move while connected to the air system port") return 0 if(!thrusters && src.pr_inertial_movement.active()) return 0 @@ -83,13 +83,6 @@ /obj/mecha/combat/marauder/get_stats_part() var/output = ..() - output += "Weapon systems:
" - if(weapons.len) - for(var/datum/mecha_weapon/W in weapons) - output += "[selected_weapon==W?"":""][W.get_weapon_info()][selected_weapon==W?"":""]
" - else - output += "None" - output += "
" output += {"Smoke: [smoke]
Thrusters: [thrusters?"on":"off"] @@ -108,11 +101,6 @@ ..() if (href_list["toggle_thrusters"]) src.toggle_thrusters() - return if (href_list["smoke"]) src.smoke() - return - if (href_list["rearm_srm"]) - var/datum/mecha_weapon/missile_rack/MR = weapons[2] - MR.rearm() return \ No newline at end of file diff --git a/code/game/mecha/combat/weapons/weapons.dm b/code/game/mecha/combat/weapons/weapons.dm index a2090b1d453..b11d9c9284e 100644 --- a/code/game/mecha/combat/weapons/weapons.dm +++ b/code/game/mecha/combat/weapons/weapons.dm @@ -49,14 +49,14 @@ fire(target) if(!fire_checks(target) || missiles <=0) return + weapon_ready = 0 var/obj/item/missile/M = new /obj/item/missile(chassis.loc) M.primed = 1 M.throw_at(target, missile_range, missile_speed) - weapon_ready = 0 missiles-- spawn(weapon_cooldown) weapon_ready = 1 - chassis.log_message("Fired from [src.name], targeting [target].",1) + chassis.log_message("Fired from [src.name], targeting [target].") return proc/rearm() @@ -103,9 +103,9 @@ fire(target) if(!fire_checks(target) || missiles <=0) return + weapon_ready = 0 var/obj/item/weapon/flashbang/F = new /obj/item/weapon/flashbang(chassis.loc) F.throw_at(target, missile_range, missile_speed) - weapon_ready = 0 missiles-- spawn(det_time) F.prime() @@ -128,13 +128,12 @@ return if (targloc == curloc) return - + weapon_ready = 0 playsound(chassis, 'Laser.ogg', 50, 1) var/obj/beam/a_laser/A = new /obj/beam/a_laser(curloc) A.current = curloc A.yo = targloc.y - curloc.y A.xo = targloc.x - curloc.x - weapon_ready = 0 chassis.cell.use(energy_drain) spawn() A.process() @@ -148,7 +147,6 @@ weapon_cooldown = 50 name = "eZ-13 mk2 Heavy pulse rifle" energy_drain = 60 - var/num_penetrations = 2 fire(target) if(!fire_checks(target)) return @@ -162,7 +160,6 @@ playsound(chassis, 'marauder.ogg', 50, 1) var/obj/beam/a_laser/A = new /obj/beam/a_laser/pulse_laser(curloc) - A.life = num_penetrations A.current = curloc A.yo = targloc.y - curloc.y A.xo = targloc.x - curloc.x @@ -206,7 +203,92 @@ chassis.log_message("Fired from [src.name], targeting [target].") return +/datum/mecha_weapon/missile_rack/banana_mortar + name = "Banana Mortar" + missiles = 15 + missile_speed = 1.5 + missile_energy_cost = 100 + weapon_cooldown = 20 + fire(target) + if(!fire_checks(target) || missiles <=0) return + weapon_ready = 0 + var/obj/item/weapon/bananapeel/B = new /obj/item/weapon/bananapeel(chassis.loc) + playsound(chassis, 'bikehorn.ogg', 60, 1) + B.throw_at(target, missile_range, missile_speed) + missiles-- + spawn(weapon_cooldown) + weapon_ready = 1 + chassis.log_message("Bananed from [src.name], targeting [target]. HONK!") + return + + +/datum/mecha_weapon/missile_rack/mousetrap_mortar + name = "Mousetrap Mortar" + missiles = 15 + missile_speed = 1.5 + missile_energy_cost = 100 + weapon_cooldown = 10 + + fire(target) + if(!fire_checks(target) || missiles <=0) return + weapon_ready = 0 + var/obj/item/weapon/mousetrap/M = new /obj/item/weapon/mousetrap(chassis.loc) + M.armed = 1 + playsound(chassis, 'bikehorn.ogg', 60, 1) + M.throw_at(target, missile_range, missile_speed) + missiles-- + spawn(weapon_cooldown) + weapon_ready = 1 + chassis.log_message("Launched a mouse-trap from [src.name], targeting [target]. HONK!") + return + + +/datum/mecha_weapon/honker + weapon_cooldown = 10 + name = "HoNkER BlAsT 5000" + energy_drain = 200 + weapon_cooldown = 150 + + fire(target) + if(!chassis) + return 0 + if(energy_drain && chassis.cell.charge < energy_drain) + return 0 + if(!weapon_ready) + return 0 + weapon_ready = 0 + playsound(chassis, 'AirHorn.ogg', 100, 1) + chassis.occupant_message("HONK") + for(var/mob/living/carbon/M in orange(10, chassis)) + M << "HONK" + M.sleeping = 0 + if(M.stuttering) + M.stuttering = 1 + M.stuttering += 10 + M.ear_deaf += 60 + M.weakened = 3 + if(prob(70)) + M.stunned = 10 + M.paralysis += 4 + else + M.make_jittery(10) + /* //else the mousetraps are useless + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + if(isobj(H.shoes)) + var/thingy = H.shoes + H.drop_from_slot(H.shoes) + walk_away(thingy,chassis,15,2) + spawn(20) + if(thingy) + walk(thingy,0) + */ + chassis.cell.use(energy_drain) + spawn(weapon_cooldown) + weapon_ready = 1 + chassis.log_message("Honked from [src.name]. HONK!") + return /* diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm new file mode 100644 index 00000000000..448ee099741 --- /dev/null +++ b/code/game/mecha/mech_bay.dm @@ -0,0 +1,214 @@ +/turf/simulated/floor/mech_bay_recharge_floor + name = "Mech Bay Recharge Station" + icon = 'mech_bay.dmi' + icon_state = "recharge_floor" + var/obj/machinery/mech_bay_recharge_port/recharge_port + var/obj/machinery/computer/mech_bay_power_console/recharge_console + var/obj/mecha/recharging_mecha = null + + Entered(atom as obj) + . = ..() + if(istype(atom, /obj/mecha)) + var/obj/mecha/mecha = atom + mecha.occupant_message("Initializing power control devices.") + init_devices() + if(recharge_console && recharge_port) + recharging_mecha = mecha + recharge_console.mecha_in(mecha) + return + else if(!recharge_console) + mecha.occupant_message("Control console not found. Terminating.") + else if(!recharge_port) + mecha.occupant_message("Power port not found. Terminating.") + return + + Exited(atom as obj) + . = ..() + if(atom == recharging_mecha) + recharging_mecha = null + if(recharge_console) + recharge_console.mecha_out() + return + + proc/init_devices() + recharge_console = locate() in range(1,src) + recharge_port = locate(/obj/machinery/mech_bay_recharge_port, get_step(src, WEST)) + if(recharge_console) + recharge_console.recharge_floor = src + if(recharge_port) + recharge_console.recharge_port = recharge_port + if(recharge_port) + recharge_port.recharge_floor = src + if(recharge_console) + recharge_port.recharge_console = recharge_console + return + + + + +/obj/machinery/mech_bay_recharge_port + name = "Mech Bay Power Port" + density = 1 + anchored = 1 + icon = 'mech_bay.dmi' + icon_state = "recharge_port" + var/turf/simulated/floor/mech_bay_recharge_floor/recharge_floor + var/obj/machinery/computer/mech_bay_power_console/recharge_console + var/datum/global_iterator/mech_bay_recharger/pr_recharger + + New() + ..() + pr_recharger = new /datum/global_iterator/mech_bay_recharger(null,0) + return + + proc/start_charge(var/obj/mecha/recharging_mecha) + if(stat&(NOPOWER|BROKEN)) + recharging_mecha.occupant_message("Power port not responding. Terminating.") + return 0 + else + if(recharging_mecha.cell) + recharging_mecha.occupant_message("Now charging...") + pr_recharger.start(list(src,recharging_mecha)) + return 1 + else + return 0 + + proc/stop_charge() + if(recharge_console && !recharge_console.stat) + recharge_console.icon_state = initial(recharge_console.icon_state) + pr_recharger.stop() + return + + proc/active() + if(pr_recharger.active()) + return 1 + else + return 0 + + power_change() + if(powered()) + stat &= ~NOPOWER + else + spawn(rand(0, 15)) + stat |= NOPOWER + pr_recharger.stop() + return + + proc/set_voltage(new_voltage) + if(new_voltage && isnum(new_voltage)) + pr_recharger.max_charge = new_voltage + return 1 + else + return 0 + + +/datum/global_iterator/mech_bay_recharger + delay = 20 + var/max_charge = 30 + + process(var/obj/machinery/mech_bay_recharge_port/port, var/obj/mecha/mecha) + if(mecha in port.recharge_floor) + var/delta = min(max_charge, mecha.cell.maxcharge - mecha.cell.charge) + if(delta>0) + mecha.cell.charge += delta + port.use_power(delta*150) + else + mecha.occupant_message("Fully charged.") + port.stop_charge() + else + port.stop_charge() + return + + + + +/obj/machinery/computer/mech_bay_power_console + name = "Mech Bay Power Control Console" + density = 1 + anchored = 1 + icon = 'mech_bay.dmi' + icon_state = "recharge_comp" + var/autostart = 1 + var/voltage = 30 + var/turf/simulated/floor/mech_bay_recharge_floor/recharge_floor + var/obj/machinery/mech_bay_recharge_port/recharge_port + + proc/mecha_in(var/obj/mecha/mecha) + if(stat&(NOPOWER|BROKEN)) + mecha.occupant_message("Control console not responding. Terminating...") + return + if(recharge_port && autostart) + var/answer = recharge_port.start_charge(mecha) + if(answer) + recharge_port.set_voltage(voltage) + src.icon_state = initial(src.icon_state)+"_on" + return + + proc/mecha_out() + if(recharge_port) + recharge_port.stop_charge() + return + + + power_change() + if(stat & BROKEN) + icon_state = initial(icon_state)+"_broken" + if(recharge_port) + recharge_port.stop_charge() + else if(powered()) + icon_state = initial(icon_state) + stat &= ~NOPOWER + else + spawn(rand(0, 15)) + icon_state = initial(icon_state)+"_nopower" + stat |= NOPOWER + if(recharge_port) + recharge_port.stop_charge() + + set_broken() + icon_state = initial(icon_state)+"_broken" + stat |= BROKEN + if(recharge_port) + recharge_port.stop_charge() + + + attack_hand(mob/user as mob) + if(..()) return + var/output = "[src.name]" + if(!recharge_floor) + output += "Mech Bay Recharge Station not initialized.
" + else + output += {"Mech Bay Recharge Station Data:
+ Mecha: [recharge_floor.recharging_mecha||"None"]
"} + if(recharge_floor.recharging_mecha) + output += "Cell charge: [recharge_floor.recharging_mecha.cell?"[recharge_floor.recharging_mecha.cell.charge]/[recharge_floor.recharging_mecha.cell.maxcharge]":"No powercell found"]
" + output += "
" + if(!recharge_port) + output += "Mech Bay Power Port not initialized.
" + else + output += "Mech Bay Power Port Status: [recharge_port.active()?"Now charging":"On hold"]
" + + /* + output += {"
+ Settings: +
+ Start sequence on succesful init: [autostart?"On":"Off"]
+ Recharge Port Voltage: Low - Medium - High
+
"} + */ + + output += "" + user << browse(output, "window=mech_bay_console") + onclose(user, "mech_bay_console") + return + + + Topic(href, href_list) + if(href_list["autostart"]) + autostart = !autostart + if(href_list["voltage"]) + voltage = text2num(href_list["voltage"]) + if(recharge_port) + recharge_port.set_voltage(voltage) + updateUsrDialog() + return \ No newline at end of file diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 451cfd29c35..9e71f18aecf 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -39,7 +39,6 @@ var/internal_damage_threshold = 50 //health percentage below which internal damage is possible var/internal_damage = 0 //contains bitflags - var/list/operation_req_access = list(access_engine)//required access level for mecha operation var/list/internals_req_access = list(access_engine)//required access level to open cell compartment @@ -77,15 +76,24 @@ ..() return +///client/var/mech_click + /client/Click(object,location,control,params) ..() var/mob/M = src.mob if(M && istype(M.loc, /obj/mecha)) +/* + if(mech_click == world.time) return + mech_click = world.time +*/ if(!location) return if(M.stat>0) return if(!istype(object,/atom)) return var/obj/mecha/Mech = M.loc - Mech.click_action(object) +// sleep(-1) + spawn() + Mech.click_action(object) + /obj/mecha/proc/click_action(atom/target) @@ -176,13 +184,17 @@ /obj/mecha/Bump(var/atom/obstacle) // src.inertia_dir = null - if(src.occupant) + if(istype(obstacle, /obj)) + var/obj/O = obstacle if(istype(obstacle , /obj/machinery/door)) - var/obj/machinery/door/D = obstacle - D.Bumped(src.occupant) - return + if(src.occupant) + O.Bumped(src.occupant) + else if(!O.anchored) + step(obstacle,src.dir) // else // obstacle.Bumped(src) + else if(istype(obstacle, /mob)) + step(obstacle,src.dir) return @@ -424,6 +436,7 @@ //////// Verbs //////// ///////////////////////// + /obj/mecha/verb/connect_to_port() set name = "Connect to port" set category = "Exosuit Interface" @@ -678,7 +691,7 @@ return if (src.internal_damage & MECHA_INT_TANK_BREACH) src.internal_damage &= ~MECHA_INT_TANK_BREACH - user << "\blue You seal the breached gas tank." + user << "\blue You repair the damaged gas tank." W:use_fuel(1) if(src.health - [src.name] data + [src.name] data [src.get_stats_part()]
@@ -722,7 +735,7 @@ [internal_damage&MECHA_INT_CONTROL_LOST?"COORDINATION SYSTEM CALIBRATION FAILURE - Recalibrate
":null] Integrity: [health/initial(health)*100]%
Powercell charge: [cell.charge/cell.maxcharge*100]%
- Airtank pressure: [src.return_pressure()]
+ Airtank pressure: [src.return_pressure()]kPa
Internal temperature: [src.air_contents.temperature]°K|[src.air_contents.temperature - T0C]°C
Lights: [lights?"on":"off"]
"} diff --git a/code/game/mecha/working/tools/tools.dm b/code/game/mecha/working/tools/tools.dm index aec1c1c5a00..84620387c84 100644 --- a/code/game/mecha/working/tools/tools.dm +++ b/code/game/mecha/working/tools/tools.dm @@ -123,7 +123,7 @@ if(chassis) if(T == chassis.loc && src == chassis.selected_tool) if(istype(target, /turf/simulated/wall/r_wall)) - chassis.occupant_message("\red The [target] is too durable to drill through.") + chassis.occupant_message("[target] is too durable to drill through.") else chassis.log_message("Drilled through [target]") target.ex_act(2) diff --git a/icons/misc/mech_bay.dmi b/icons/misc/mech_bay.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f8fa7ab8f93c7c94b3beb1f122ca3a0fdae5a7b4 GIT binary patch literal 2405 zcmYjS2~d+s8vTC)3HPC#!kWN@LllIGpj=6SfT$b}M^Fw0VGs~Sg&6__a%U0}E>Sr= zg5oe?Tnvf`Iw0Y2Cj)YMqa#6%pw1#kf)E+Ys^9ne>({Tks<{Wl_ZsMK z(FFj&U|$F!QXQ#Zhc-+-D<&(I008bk7#bZU7K;P?{bOQcO8I;`jRsZMjssd84u{2J zF&GRwU5(MGR4S9nWV6}9!NC{|2GTR3P$)JwHYFt`TrQWV4jc|woo2DvOeRa+8H^G( zo6BNxm`omrQ(96|#^>{Ryy)m?zPhRDEEbQ;&CAPkaB#@@W3qPqqlbqF1VJ6Lg{KQE zYK8MQXg@zcZ*Ok`fnaTI9RdIlfN^tkQ{SPesOaw9yA2HuWjr3A%O#V^YzBixr!#3Z z29;XQ=a=$$1qB89`T2CUY&yNTxERu_zM=yK9%nVOnz+O!FULNywg8nVn6o6u^z0Bjh5g1#yO zTKsZXoSdAzyu5@$VVj`YTrC~UjSPP1^Y^r2kB_c9aqqDxyv=t;{$daB&`fJQCFs<2HtwoZ2xGy6q3(EWfm44<-`x6tf?7dFovMxoA{W zlaq(nH@BVqJg_c~xb6@x4`bgdv~)_AJgOz0ueqdq47SpELxv`5)TVi-9a1>V&6)Sl z%_YA)$sIi@WWaCN#8e!OroTmH{p#;o)##0Fa>DtT{S<#Db6{|%WM{-96D&JnK=)R$ z>*OK=7$D?=DIXK2005!AkKi9ox;!6$BIjwa=>`AW(|fP)VL#~L2GTBWN=SKhN*MT> z9bo-h7SvE-I%V9>KUw<)qRb~YqYu3P{fD%+(BqR5u8Y9xN^2hS$(V#~6)20773f>> zcSk1=f1e{)2HYk9x-aE=a`pST|47LSI-#R~=s-ZR>m@cV%WHRch2u{MGh?TV7Z3b= zEIAol9e+nGK4(AE`h8}-9lqXncF20Sh(g@>o7nvM(f%fF4OVYvQ8V$TRJA-@`dbq4 z?vJGfok^bxxhytsfo!1Bj=xTbtJygr65S%k-fZtaETMtS)v}T7dJ%O|#;|-b{dE%; z|MPMM?BJq7NWQ%1f#p@uYeC1C{3;31y#`ttX-I>OrPts$e9h8#Sr6@P@vv@YpL|og z*Wfo35Am{fDTnqW!gD#3f&VQm&wGB9%3swAI7lNt0s4N|&wVXz`@qxI6!@qsA@8*W zZL!kcHLiR{L@3y?bcR# z>ir7AV6Q5HD2YGt45;tTny60IM)?wU?kT=@Xh+42md3#p@uyG2XKmxz8(D`XI}a;T z(N{m-Ns`G!zl4!#OR48{{Ev5D9_c^h@(rTzs4ap*x4iDY+(XJJhETrJ$t>lO+SsAh zfzHf_u`(@X7k_5mk15@|#t8lssCqjP^5AXYS`jm1OVYAW6iss^8r6d_(^fJVuvgCy z(Ka@UGPImVh^R{GU@y75y?w46wCXNjMA(k(*-<_Cge>qZpUs>9Z|xX)*SDg&g$w!5 z$)XDad+Bz0iSme2MOB~s5Qln@Q0F1NxoqmJ#F`zkm;TbTeYWt2BkpR}um3Obe?^oL zYdHL_;3rex6)ovt%&yjNhBb_2&>gDMwb}ZxO#H!nDMPp$@=3IlUZGoZA_BXV(lf`FpHY`&WQUDi%iWu+ z9pN_L9K#o?BDRp`jmL%H(k#JQiS$4b_A3P^P~U3$zJCl2|D}0(Hy>D$_HvrxJAb@%h;&8*7 z#LH099-Go&*DTHHrO`s9VdE-dBFA_FSezPq(Z&vu!FCRR{HmPwQ{swgzfR z_E5{O(k4|@2~dPhdZEjqAc4Ptkg^b~e~+cUfAG$`g_Ya$;`w&*AOuUNjIN}J*54)> zpR!F!GDnb9$c|4H3=Zg;=1G-Nz_gh&usVU!!Lf*G74WNQT?L%Nlf5bjHo#|8lK#(Y zWB~ql1X2G*&B3pD;E+`RbvY;m)!5@y{G1%@0Eg6RI6BJ9U@PmZuVw2n2;5G*A2}w9 RlBqv+U|&!;;Z{Hr{XZF literal 0 HcmV?d00001 diff --git a/icons/mob/mecha.dmi b/icons/mob/mecha.dmi index 949c1de5adcb6da00ec784c7c381da4f7c0e4afd..bafa742ea606235d98d444c022a5b499872dd1e1 100644 GIT binary patch delta 6814 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 R*0ulu002ovPDHLkV1f~Ui-G_E diff --git a/sound/items/AirHorn.ogg b/sound/items/AirHorn.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f7068fd1bf17cf0de1f7d1e17f145c6693966ab4 GIT binary patch literal 40134 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ρJVJ-#DuD0*E^=h}*sqmPKSt#N<5~ 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 literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index be0b2939b2f..20b457ddec1 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -428,9 +428,11 @@ #include "code\game\magic\cultist\rune9.dm" #include "code\game\magic\cultist\specialtalisman.dm" #include "code\game\mecha\global_iterator.dm" +#include "code\game\mecha\mech_bay.dm" #include "code\game\mecha\mecha.dm" #include "code\game\mecha\combat\combat.dm" #include "code\game\mecha\combat\gygax.dm" +#include "code\game\mecha\combat\honker.dm" #include "code\game\mecha\combat\marauder.dm" #include "code\game\mecha\combat\weapons\weapons.dm" #include "code\game\mecha\working\ripley.dm"