From 05aa8540ca0805c4d91f7c15fa599133511f440d Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Wed, 14 Feb 2018 22:26:58 -0600 Subject: [PATCH 01/12] POLARIS: Extend mob 'glow' capabilities Now you can alter the other set_light variables by setting them on the mob (yay antiphoton effects that follow you) --- code/modules/mob/living/life.dm | 2 +- code/modules/mob/living/living_defines.dm | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index c825008837..fc32e50888 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -207,7 +207,7 @@ return TRUE else if(glow_toggle) - set_light(2, l_color = glow_color) //2 is PDA brightness, so neutral in terms of balance + set_light(glow_range, glow_intensity, glow_color) else set_light(0) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index a7f85be9a8..b36cd29d21 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -47,8 +47,10 @@ var/evasion = 0 // Makes attacks harder to land. Negative numbers increase hit chance. var/force_max_speed = 0 // If 1, the mob runs extremely fast and cannot be slowed. - + var/image/dsoverlay = null //Overlay used for darksight eye adjustments var/glow_toggle = 0 // If they're glowing! + var/glow_range = 2 + var/glow_intensity = null var/glow_color = "#FFFFFF" // The color they're glowing! From e248b89b7b4a12f1a9df74781627c63febaef299 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Wed, 14 Feb 2018 22:25:35 -0600 Subject: [PATCH 02/12] POLARIS: Player-controlled SA QOL --- code/_onclick/hud/screen_objects.dm | 28 +- code/_onclick/other_mobs.dm | 47 ++- .../objects/items/weapons/storage/storage.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 83 ----- .../living/carbon/human/human_attackhand.dm | 8 +- code/modules/mob/living/living.dm | 77 +++++ .../mob/living/simple_animal/simple_animal.dm | 307 +++++++++++++---- .../mob/living/simple_animal/simple_hud.dm | 308 ++++++++++++++++++ code/modules/mob/mob.dm | 9 +- code/modules/mob/mob_grab.dm | 5 +- code/modules/mob/mob_helpers.dm | 2 +- code/modules/mob/mob_movement.dm | 9 +- code/modules/mob/update_icons.dm | 1 + icons/mob/screen1_animal.dmi | Bin 0 -> 117975 bytes polaris.dme | 1 + 15 files changed, 696 insertions(+), 191 deletions(-) create mode 100644 code/modules/mob/living/simple_animal/simple_hud.dm create mode 100644 icons/mob/screen1_animal.dmi diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 79e7beb87c..9bf89b27bd 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -201,20 +201,22 @@ L.resist() if("mov_intent") - if(iscarbon(usr)) - var/mob/living/carbon/C = usr - if(C.legcuffed) - C << "You are legcuffed! You cannot run until you get [C.legcuffed] removed!" - C.m_intent = "walk" //Just incase - C.hud_used.move_intent.icon_state = "walking" - return 1 - switch(usr.m_intent) + if(isliving(usr)) + if(iscarbon(usr)) + var/mob/living/carbon/C = usr + if(C.legcuffed) + C << "You are legcuffed! You cannot run until you get [C.legcuffed] removed!" + C.m_intent = "walk" //Just incase + C.hud_used.move_intent.icon_state = "walking" + return 1 + var/mob/living/L = usr + switch(L.m_intent) if("run") - usr.m_intent = "walk" - usr.hud_used.move_intent.icon_state = "walking" + L.m_intent = "walk" + L.hud_used.move_intent.icon_state = "walking" if("walk") - usr.m_intent = "run" - usr.hud_used.move_intent.icon_state = "running" + L.m_intent = "run" + L.hud_used.move_intent.icon_state = "running" if("m_intent") if(!usr.m_int) switch(usr.m_intent) @@ -485,8 +487,6 @@ if(isAI(usr)) var/mob/living/silicon/ai/AI = usr AI.view_images() - else - return 0 return 1 /obj/screen/inventory/Click() diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index a80ff05eac..e2a4c28c6b 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -73,27 +73,38 @@ Animals */ /mob/living/simple_animal/UnarmedAttack(var/atom/A, var/proximity) - if(!..()) - return - - if(prob(spattack_prob)) - if(spattack_min_range <= 1) - target_mob = A - SpecialAtkTarget() - target_mob = null - return - - if(melee_damage_upper == 0 && istype(A,/mob/living)) - custom_emote(1,"[friendly] [A]!") + if(!(. = ..())) return setClickCooldown(get_attack_speed()) - if(isliving(A)) - target_mob = A - PunchTarget() - target_mob = null - else - A.attack_generic(src, rand(melee_damage_lower, melee_damage_upper), attacktext) + + if(has_hands && istype(A,/obj) && a_intent != I_HURT) + var/obj/O = A + return O.attack_hand(src) + + switch(a_intent) + if(I_HELP) + if(isliving(A)) + custom_emote(1,"[pick(friendly)] [A]!") + + if(I_HURT) + if(prob(spattack_prob)) + if(spattack_min_range <= 1) + SpecialAtkTarget() + + else if(melee_damage_upper == 0 && istype(A,/mob/living)) + custom_emote(1,"[pick(friendly)] [A]!") + + else + DoPunch(A) + + if(I_GRAB) + if(has_hands) + A.attack_hand(src) + + if(I_DISARM) + if(has_hands) + A.attack_hand(src) /mob/living/simple_animal/RangedAttack(var/atom/A) setClickCooldown(get_attack_speed()) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index eb29aaff41..c95f0ac49e 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -52,7 +52,7 @@ if(!canremove) return - if (ishuman(usr) || issmall(usr)) //so monkeys can take off their backpacks -- Urist + if (ishuman(usr) || issmall(usr) || isanimal(usr)) //so monkeys can take off their backpacks -- Urist if (istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech. why? return diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 7de4ffc901..0c42876b42 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -137,33 +137,6 @@ return shock_damage -/mob/proc/swap_hand() - return - -/mob/living/carbon/swap_hand() - src.hand = !( src.hand ) - if(hud_used.l_hand_hud_object && hud_used.r_hand_hud_object) - if(hand) //This being 1 means the left hand is in use - hud_used.l_hand_hud_object.icon_state = "l_hand_active" - hud_used.r_hand_hud_object.icon_state = "r_hand_inactive" - else - hud_used.l_hand_hud_object.icon_state = "l_hand_inactive" - hud_used.r_hand_hud_object.icon_state = "r_hand_active" - return - -/mob/living/carbon/proc/activate_hand(var/selhand) //0 or "r" or "right" for right hand; 1 or "l" or "left" for left hand. - - if(istext(selhand)) - selhand = lowertext(selhand) - - if(selhand == "right" || selhand == "r") - selhand = 0 - if(selhand == "left" || selhand == "l") - selhand = 1 - - if(selhand != src.hand) - swap_hand() - /mob/living/carbon/proc/help_shake_act(mob/living/carbon/M) if (src.health >= config.health_threshold_crit) if(src == M && istype(src, /mob/living/carbon/human)) @@ -320,62 +293,6 @@ update_icons_layers(FALSE) //apply the now updated overlays to the mob update_icons_body() -//Throwing stuff -/mob/proc/throw_item(atom/target) - return - -/mob/living/carbon/throw_item(atom/target) - src.throw_mode_off() - if(usr.stat || !target) - return - if(target.type == /obj/screen) return - - var/atom/movable/item = src.get_active_hand() - - if(!item) return - - var/throw_range = item.throw_range - if (istype(item, /obj/item/weapon/grab)) - var/obj/item/weapon/grab/G = item - item = G.throw_held() //throw the person instead of the grab - if(ismob(item)) - var/mob/M = item - - //limit throw range by relative mob size - throw_range = round(M.throw_range * min(src.mob_size/M.mob_size, 1)) - - var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors - var/turf/end_T = get_turf(target) - if(start_T && end_T) - var/start_T_descriptor = "tile at [start_T.x], [start_T.y], [start_T.z] in area [get_area(start_T)]" - var/end_T_descriptor = "tile at [end_T.x], [end_T.y], [end_T.z] in area [get_area(end_T)]" - - M.attack_log += text("\[[time_stamp()]\] Has been thrown by [usr.name] ([usr.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]") - usr.attack_log += text("\[[time_stamp()]\] Has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]") - msg_admin_attack("[usr.name] ([usr.ckey]) has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor] (JMP)") - - src.drop_from_inventory(item) - if(!item || !isturf(item.loc)) - return - - //actually throw it! - src.visible_message("[src] has thrown [item].") - - if(!src.lastarea) - src.lastarea = get_area(src.loc) - if((istype(src.loc, /turf/space)) || (src.lastarea.has_gravity == 0)) - src.inertia_dir = get_dir(target, src) - step(src, inertia_dir) - - -/* - if(istype(src.loc, /turf/space) || (src.flags & NOGRAV)) //they're in space, move em one space in the opposite direction - src.inertia_dir = get_dir(target, src) - step(src, inertia_dir) -*/ - - - item.throw_at(target, throw_range, item.throw_speed, src) /mob/living/carbon/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) ..() diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 183b9a59e1..2e4ff84563 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -8,7 +8,7 @@ return u_attack return null -/mob/living/carbon/human/attack_hand(mob/living/carbon/M as mob) +/mob/living/carbon/human/attack_hand(mob/living/M as mob) var/datum/gender/TT = gender_datums[M.get_visible_gender()] var/mob/living/carbon/human/H = M if(istype(H)) @@ -18,7 +18,8 @@ if(!temp || !temp.is_usable()) H << "You can't use your hand." return - H.break_cloak() + M.break_cloak() + ..() // Should this all be in Touch()? @@ -64,7 +65,8 @@ return if(istype(M,/mob/living/carbon)) - M.spread_disease_to(src, "Contact") + var/mob/living/carbon/C = M + C.spread_disease_to(src, "Contact") switch(M.a_intent) if(I_HELP) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 8399c224ce..6c35871ab9 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1085,3 +1085,80 @@ default behaviour is: else // No colors, so remove the client's color. animate(client, color = null, time = 10) + +/mob/living/swap_hand() + src.hand = !( src.hand ) + if(hud_used.l_hand_hud_object && hud_used.r_hand_hud_object) + if(hand) //This being 1 means the left hand is in use + hud_used.l_hand_hud_object.icon_state = "l_hand_active" + hud_used.r_hand_hud_object.icon_state = "r_hand_inactive" + else + hud_used.l_hand_hud_object.icon_state = "l_hand_inactive" + hud_used.r_hand_hud_object.icon_state = "r_hand_active" + return + +/mob/living/proc/activate_hand(var/selhand) //0 or "r" or "right" for right hand; 1 or "l" or "left" for left hand. + + if(istext(selhand)) + selhand = lowertext(selhand) + + if(selhand == "right" || selhand == "r") + selhand = 0 + if(selhand == "left" || selhand == "l") + selhand = 1 + + if(selhand != src.hand) + swap_hand() + +/mob/living/throw_item(atom/target) + src.throw_mode_off() + if(usr.stat || !target) + return + if(target.type == /obj/screen) return + + var/atom/movable/item = src.get_active_hand() + + if(!item) return + + var/throw_range = item.throw_range + if (istype(item, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/G = item + item = G.throw_held() //throw the person instead of the grab + if(ismob(item)) + var/mob/M = item + + //limit throw range by relative mob size + throw_range = round(M.throw_range * min(src.mob_size/M.mob_size, 1)) + + var/turf/start_T = get_turf(loc) //Get the start and target tile for the descriptors + var/turf/end_T = get_turf(target) + if(start_T && end_T) + var/start_T_descriptor = "tile at [start_T.x], [start_T.y], [start_T.z] in area [get_area(start_T)]" + var/end_T_descriptor = "tile at [end_T.x], [end_T.y], [end_T.z] in area [get_area(end_T)]" + + M.attack_log += text("\[[time_stamp()]\] Has been thrown by [usr.name] ([usr.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]") + usr.attack_log += text("\[[time_stamp()]\] Has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]") + msg_admin_attack("[usr.name] ([usr.ckey]) has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor] (JMP)") + + src.drop_from_inventory(item) + if(!item || !isturf(item.loc)) + return + + //actually throw it! + src.visible_message("[src] has thrown [item].") + + if(!src.lastarea) + src.lastarea = get_area(src.loc) + if((istype(src.loc, /turf/space)) || (src.lastarea.has_gravity == 0)) + src.inertia_dir = get_dir(target, src) + step(src, inertia_dir) + + +/* + if(istype(src.loc, /turf/space) || (src.flags & NOGRAV)) //they're in space, move em one space in the opposite direction + src.inertia_dir = get_dir(target, src) + step(src, inertia_dir) +*/ + + + item.throw_at(target, throw_range, item.throw_speed, src) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 184176ec8e..834c6211ac 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -16,6 +16,12 @@ //Settings for played mobs var/show_stat_health = 1 // Does the percentage health show in the stat panel for the mob var/ai_inactive = 0 // Set to 1 to turn off most AI actions + var/has_hands = 0 // Set to 1 to enable the use of hands and the hands hud + var/list/hud_gears // Slots to show on the hud (typically none) + var/ui_icons // Icon file path to use for the HUD, otherwise generic icons are used + var/r_hand_sprite // If they have hands, + var/l_hand_sprite // they could use some icons. + var/player_msg // Message to print to players about 'how' to play this mob on login. //Mob icon/appearance settings var/icon_living = "" // The iconstate if we're alive, required @@ -69,7 +75,7 @@ var/cold_damage_per_tick = 2 // Same as heat_damage_per_tick, only if the bodytemperature it's lower than minbodytemp var/fire_alert = 0 // 0 = fine, 1 = hot, 2 = cold - var/min_oxy = 5 // Oxygen in moles, minimum, 0 is 'no minimum + var/min_oxy = 5 // Oxygen in moles, minimum, 0 is 'no minimum' var/max_oxy = 0 // Oxygen in moles, maximum, 0 is 'no maximum' var/min_tox = 0 // Phoron min var/max_tox = 1 // Phoron max @@ -168,6 +174,7 @@ home_turf = get_turf(src) path_overlay = new(path_icon,path_icon_state) move_to_delay = max(2,move_to_delay) //Protection against people coding things incorrectly and A* pathing 100% of the time + maxHealth = health for(var/L in has_langs) languages |= all_languages[L] @@ -206,21 +213,17 @@ //Client attached /mob/living/simple_animal/Login() - if(src && src.client) - src.client.screen = list() - src.client.screen += src.client.void - ai_inactive = 1 - handle_stance(STANCE_IDLE) - LoseTarget() - src.client << "Mob AI disabled while you are controlling the mob." - ..() + . = ..() + ai_inactive = 1 + handle_stance(STANCE_IDLE) + LoseTarget() + to_chat(src,"Mob AI disabled while you are controlling the mob.
You are \the [src]. [player_msg]") //Client detatched /mob/living/simple_animal/Logout() - if(src && !src.client) - spawn(15 SECONDS) //15 seconds to get back into the mob before it goes wild - if(src && !src.client) - ai_inactive = initial(ai_inactive) //So if they never have an AI, they stay that way. + spawn(15 SECONDS) //15 seconds to get back into the mob before it goes wild + if(src && !src.client) + ai_inactive = initial(ai_inactive) //So if they never have an AI, they stay that way. ..() //For debug purposes! @@ -240,23 +243,74 @@ if(health > getMaxHealth()) health = getMaxHealth() + //Update our hud if we have one + if(healths) + if(stat != DEAD) + var/heal_per = (health / getMaxHealth()) * 100 + switch(heal_per) + if(100 to INFINITY) + healths.icon_state = "health0" + if(80 to 100) + healths.icon_state = "health1" + if(60 to 80) + healths.icon_state = "health2" + if(40 to 60) + healths.icon_state = "health3" + if(20 to 40) + healths.icon_state = "health4" + if(0 to 20) + healths.icon_state = "health5" + else + healths.icon_state = "health6" + else + healths.icon_state = "health7" + + //Updates the nutrition while we're here + if(nutrition_icon) + var/food_per = (nutrition / initial(nutrition)) * 100 + switch(food_per) + if(90 to INFINITY) + nutrition_icon.icon_state = "nutrition0" + if(75 to 90) + nutrition_icon.icon_state = "nutrition1" + if(50 to 75) + nutrition_icon.icon_state = "nutrition2" + if(25 to 50) + nutrition_icon.icon_state = "nutrition3" + if(0 to 25) + nutrition_icon.icon_state = "nutrition4" + /mob/living/simple_animal/update_icon() - ..() + . = ..() + var/mutable_appearance/ma = new(src) + ma.layer = layer + ma.plane = plane + + ma.overlays = list(modifier_overlay) + //Awake and normal if((stat == CONSCIOUS) && (!icon_rest || !resting || !incapacitated(INCAPACITATION_DISABLED) )) - icon_state = icon_living + ma.icon_state = icon_living //Dead else if(stat >= DEAD) - icon_state = icon_dead + ma.icon_state = icon_dead //Resting or KO'd else if(((stat == UNCONSCIOUS) || resting || incapacitated(INCAPACITATION_DISABLED) ) && icon_rest) - icon_state = icon_rest + ma.icon_state = icon_rest //Backup else - icon_state = initial(icon_state) + ma.icon_state = initial(icon_state) + + if(has_hands) + if(r_hand_sprite) + ma.overlays += r_hand_sprite + if(l_hand_sprite) + ma.overlays += l_hand_sprite + + appearance = ma // If your simple mob's update_icon() call calls overlays.Cut(), this needs to be called after this, or manually apply modifier_overly to overlays. /mob/living/simple_animal/update_modifier_visuals() @@ -291,7 +345,6 @@ handle_paralysed() handle_supernatural() handle_atmos() //Atmos - update_icon() ai_log("Life() - stance=[stance] ai_inactive=[ai_inactive]", 4) @@ -316,7 +369,7 @@ if(istype(loc,/obj/structure/closet)) var/obj/structure/closet/C = loc if(C.welded) - resist() + handle_resist() else C.open() @@ -376,7 +429,7 @@ // Handle interacting with and taking damage from atmos // TODO - Refactor this to use handle_environment() like a good /mob/living /mob/living/simple_animal/proc/handle_atmos() - var/atmos_suitable = 1 + var/atmos_unsuitable = 0 var/atom/A = src.loc @@ -392,41 +445,52 @@ if(min_oxy) if(Environment.gas["oxygen"] < min_oxy) - atmos_suitable = 0 + atmos_unsuitable = 1 if(max_oxy) if(Environment.gas["oxygen"] > max_oxy) - atmos_suitable = 0 + atmos_unsuitable = 1 if(min_tox) if(Environment.gas["phoron"] < min_tox) - atmos_suitable = 0 + atmos_unsuitable = 2 if(max_tox) if(Environment.gas["phoron"] > max_tox) - atmos_suitable = 0 + atmos_unsuitable = 2 if(min_n2) if(Environment.gas["nitrogen"] < min_n2) - atmos_suitable = 0 + atmos_unsuitable = 1 if(max_n2) if(Environment.gas["nitrogen"] > max_n2) - atmos_suitable = 0 + atmos_unsuitable = 1 if(min_co2) if(Environment.gas["carbon_dioxide"] < min_co2) - atmos_suitable = 0 + atmos_unsuitable = 1 if(max_co2) if(Environment.gas["carbon_dioxide"] > max_co2) - atmos_suitable = 0 + atmos_unsuitable = 1 //Atmos effect if(bodytemperature < minbodytemp) fire_alert = 2 adjustBruteLoss(cold_damage_per_tick) + if(fire) + fire.icon_state = "fire1" else if(bodytemperature > maxbodytemp) fire_alert = 1 adjustBruteLoss(heat_damage_per_tick) + if(fire) + fire.icon_state = "fire2" else fire_alert = 0 + if(fire) + fire.icon_state = "fire0" - if(!atmos_suitable) + if(atmos_unsuitable) adjustBruteLoss(unsuitable_atoms_damage) + if(oxygen) + oxygen.icon_state = "oxy1" + else if(oxygen) + if(oxygen) + oxygen.icon_state = "oxy0" // For setting the stance WITHOUT processing it /mob/living/simple_animal/proc/set_stance(var/new_stance) @@ -496,26 +560,13 @@ custom_emote(2, act_desc) /mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj) - if(!Proj) - return ai_log("bullet_act() I was shot by: [Proj.firer]",2) - if(Proj.taser_effect) - stun_effect_act(0, Proj.agony) - - if(!Proj.nodamage) - var/true_damage = Proj.damage - if(!Proj.SA_vulnerability || Proj.SA_vulnerability == intelligence_level) - true_damage += Proj.SA_bonus_damage - adjustBruteLoss(true_damage) + . = ..() if(Proj.firer) react_to_attack(Proj.firer) - Proj.on_hit(src) - - return 0 - // When someone clicks us with an empty hand /mob/living/simple_animal/attack_hand(mob/living/carbon/human/M as mob) ..() @@ -588,24 +639,25 @@ if(O.force) react_to_attack(user) -/mob/living/simple_animal/hit_with_weapon(obj/item/O, mob/living/user, var/effective_force, var/hit_zone) - visible_message("\The [src] has been attacked with \the [O] by [user].") + return ..() +/mob/living/simple_animal/hit_with_weapon(obj/item/O, mob/living/user, var/effective_force, var/hit_zone) + effective_force = O.force + + //Animals can't be stunned(?) + if(O.damtype == HALLOSS) + effective_force = 0 + if(supernatural && istype(O,/obj/item/weapon/nullrod)) + effective_force *= 2 + purge = 3 if(O.force <= resistance) - user << "This weapon is ineffective, it does no damage." + to_chat(user,"This weapon is ineffective, it does no damage.") return 2 - var/damage = O.force - if (O.damtype == HALLOSS) - damage = 0 - if(supernatural && istype(O,/obj/item/weapon/nullrod)) - damage *= 2 - purge = 3 - adjustBruteLoss(damage) ai_log("hit_with_weapon() I was h_w_weapon'd by: [user]",2) react_to_attack(user) - return 0 + . = ..() // When someone throws something at us /mob/living/simple_animal/hitby(atom/movable/AM) @@ -638,6 +690,9 @@ tally = 1 tally *= purge + if(m_intent == "walk") + tally *= 1.5 + return tally+config.animal_delay /mob/living/simple_animal/Stat() @@ -652,6 +707,7 @@ icon_state = icon_rest else icon_state = icon_living + update_icon() /mob/living/simple_animal/death(gibbed, deathmessage = "dies!") density = 0 //We don't block even if we did before @@ -733,7 +789,6 @@ /mob/living/simple_animal/handle_fire() return - /mob/living/simple_animal/update_fire() return /mob/living/simple_animal/IgniteMob() @@ -743,7 +798,7 @@ //We got hit! Consider hitting them back! /mob/living/simple_animal/proc/react_to_attack(var/mob/living/M) - if(stat || M == target_mob) return //Not if we're dead or already hitting them + if(ai_inactive || stat || M == target_mob) return //Not if we're dead or already hitting them if(M in friends || M.faction == faction) return //I'll overlook it THIS time... ai_log("react_to_attack([M])",1) if(retaliate && set_target(M, 1)) @@ -1182,8 +1237,8 @@ if(prob(melee_miss_chance)) src.attack_log += text("\[[time_stamp()]\] attacked [L.name] ([L.ckey])") L.attack_log += text("\[[time_stamp()]\] was attacked by [src.name] ([src.ckey])") - src.visible_message("[src] misses [L]!") - src.do_attack_animation(src) + visible_message("[src] misses [L]!") + do_attack_animation(src) return L else DoPunch(L) @@ -1195,7 +1250,7 @@ // This is the actual act of 'punching'. Override for special behaviour. /mob/living/simple_animal/proc/DoPunch(var/atom/A) - if(!Adjacent(target_mob)) // They could've moved in the meantime. + if(!Adjacent(A)) // They could've moved in the meantime. return FALSE var/damage_to_do = rand(melee_damage_lower, melee_damage_upper) @@ -1204,16 +1259,14 @@ if(!isnull(M.outgoing_melee_damage_percent)) damage_to_do *= M.outgoing_melee_damage_percent - if(attack_sound) - playsound(src, attack_sound, 75, 1) - // SA attacks can be blocked with shields. if(ishuman(A)) var/mob/living/carbon/human/H = A if(H.check_shields(damage = damage_to_do, damage_source = src, attacker = src, def_zone = null, attack_text = "the attack")) return FALSE - A.attack_generic(src, damage_to_do, attacktext) + if(A.attack_generic(src, damage_to_do, pick(attacktext)) && attack_sound) + playsound(src, attack_sound, 75, 1) return TRUE //The actual top-level ranged attack proc @@ -1478,10 +1531,134 @@ /mob/living/simple_animal/is_sentient() return intelligence_level != SA_PLANT && intelligence_level != SA_ROBOTIC +// Hand procs for player-controlled SA's +/mob/living/simple_animal/swap_hand() + src.hand = !( src.hand ) + if(hud_used.l_hand_hud_object && hud_used.r_hand_hud_object) + if(hand) //This being 1 means the left hand is in use + hud_used.l_hand_hud_object.icon_state = "l_hand_active" + hud_used.r_hand_hud_object.icon_state = "r_hand_inactive" + else + hud_used.l_hand_hud_object.icon_state = "l_hand_inactive" + hud_used.r_hand_hud_object.icon_state = "r_hand_active" + return + +/mob/living/simple_animal/put_in_active_hand(var/obj/item/I) + if(!has_hands || !istype(I)) + return + +//Puts the item into our active hand if possible. returns 1 on success. +/mob/living/simple_animal/put_in_active_hand(var/obj/item/W) + if(!has_hands) + return FALSE + return (hand ? put_in_l_hand(W) : put_in_r_hand(W)) + +/mob/living/simple_animal/put_in_l_hand(var/obj/item/W) + if(!..() || l_hand) + return 0 + W.forceMove(src) + l_hand = W + W.equipped(src,slot_l_hand) + W.add_fingerprint(src) + update_inv_l_hand() + return TRUE + +/mob/living/simple_animal/put_in_r_hand(var/obj/item/W) + if(!..() || r_hand) + return 0 + W.forceMove(src) + r_hand = W + W.equipped(src,slot_r_hand) + W.add_fingerprint(src) + update_inv_r_hand() + return TRUE + +/mob/living/simple_animal/update_inv_r_hand() + if(QDESTROYING(src)) + return + + if(r_hand) + r_hand.screen_loc = ui_rhand //TODO + + //determine icon state to use + var/t_state + if(r_hand.item_state_slots && r_hand.item_state_slots[slot_r_hand_str]) + t_state = r_hand.item_state_slots[slot_r_hand_str] + else if(r_hand.item_state) + t_state = r_hand.item_state + else + t_state = r_hand.icon_state + + //determine icon to use + var/icon/t_icon + if(r_hand.item_icons && (slot_r_hand_str in r_hand.item_icons)) + t_icon = r_hand.item_icons[slot_r_hand_str] + else if(r_hand.icon_override) + t_state += "_r" + t_icon = r_hand.icon_override + else + t_icon = INV_R_HAND_DEF_ICON + + //apply color + var/image/standing = image(icon = t_icon, icon_state = t_state) + standing.color = r_hand.color + + r_hand_sprite = standing + + else + r_hand_sprite = null + + update_icon() + +/mob/living/simple_animal/update_inv_l_hand() + if(QDESTROYING(src)) + return + + if(l_hand) + l_hand.screen_loc = ui_lhand //TODO + + //determine icon state to use + var/t_state + if(l_hand.item_state_slots && l_hand.item_state_slots[slot_l_hand_str]) + t_state = l_hand.item_state_slots[slot_l_hand_str] + else if(l_hand.item_state) + t_state = l_hand.item_state + else + t_state = l_hand.icon_state + + //determine icon to use + var/icon/t_icon + if(l_hand.item_icons && (slot_l_hand_str in l_hand.item_icons)) + t_icon = l_hand.item_icons[slot_l_hand_str] + else if(l_hand.icon_override) + t_state += "_l" + t_icon = l_hand.icon_override + else + t_icon = INV_L_HAND_DEF_ICON + + //apply color + var/image/standing = image(icon = t_icon, icon_state = t_state) + standing.color = l_hand.color + + l_hand_sprite = standing + + else + l_hand_sprite = null + + update_icon() + +//Can insert extra huds into the hud holder here. +/mob/living/simple_animal/proc/extra_huds(var/datum/hud/hud,var/icon/ui_style,var/list/hud_elements) + return + +//If they can or cannot use tools/machines/etc +/mob/living/simple_animal/IsAdvancedToolUser() + return has_hands + //Commands, reactions, etc /mob/living/simple_animal/hear_say(var/message, var/verb = "says", var/datum/language/language = null, var/alt_name = "", var/italics = 0, var/mob/speaker = null, var/sound/speech_sound, var/sound_vol) ..() - if(reacts && speaker && (message in reactions) && (!hostile || isliving(speaker)) && say_understands(speaker,language)) + if(!ai_inactive && reacts && speaker && (message in reactions) && (!hostile || isliving(speaker)) && say_understands(speaker,language)) var/mob/living/L = speaker if(L.faction == faction) spawn(10) diff --git a/code/modules/mob/living/simple_animal/simple_hud.dm b/code/modules/mob/living/simple_animal/simple_hud.dm new file mode 100644 index 0000000000..72d7bf07a3 --- /dev/null +++ b/code/modules/mob/living/simple_animal/simple_hud.dm @@ -0,0 +1,308 @@ +/mob/living/simple_animal/instantiate_hud(var/datum/hud/hud) + if(!client) + return //Why bother. + + var/ui_style = 'icons/mob/screen1_animal.dmi' + if(ui_icons) + ui_style = ui_icons + + var/ui_color = "#ffffff" + var/ui_alpha = 255 + + var/list/adding = list() + var/list/other = list() + var/list/hotkeybuttons = list() + + hud.adding = adding + hud.other = other + hud.hotkeybuttons = hotkeybuttons + + var/list/hud_elements = list() + var/obj/screen/using + var/obj/screen/inventory/inv_box + + var/has_hidden_gear + if(LAZYLEN(hud_gears)) + for(var/gear_slot in hud_gears) + inv_box = new /obj/screen/inventory() + inv_box.icon = ui_style + inv_box.color = ui_color + inv_box.alpha = ui_alpha + + var/list/slot_data = hud_gears[gear_slot] + inv_box.name = gear_slot + inv_box.screen_loc = slot_data["loc"] + inv_box.slot_id = slot_data["slot"] + inv_box.icon_state = slot_data["state"] + + if(slot_data["dir"]) + inv_box.set_dir(slot_data["dir"]) + + if(slot_data["toggle"]) + other += inv_box + has_hidden_gear = 1 + else + adding += inv_box + + if(has_hidden_gear) + using = new /obj/screen() + using.name = "toggle" + using.icon = ui_style + using.icon_state = "other" + using.screen_loc = ui_inventory + using.hud_layerise() + using.color = ui_color + using.alpha = ui_alpha + adding += using + + //Intent Backdrop + using = new /obj/screen() + using.name = "act_intent" + using.icon = ui_style + using.icon_state = "intent_"+a_intent + using.screen_loc = ui_acti + using.color = ui_color + using.alpha = ui_alpha + hud.adding += using + hud.action_intent = using + + hud_elements |= using + + //Small intent quarters + var/icon/ico + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height()) + using = new /obj/screen( src ) + using.name = I_HELP + using.icon = ico + using.screen_loc = ui_acti + using.alpha = ui_alpha + using.layer = LAYER_HUD_ITEM //These sit on the intent box + hud.adding += using + hud.help_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height()) + using = new /obj/screen( src ) + using.name = I_DISARM + using.icon = ico + using.screen_loc = ui_acti + using.alpha = ui_alpha + using.layer = LAYER_HUD_ITEM + hud.adding += using + hud.disarm_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2) + using = new /obj/screen( src ) + using.name = I_GRAB + using.icon = ico + using.screen_loc = ui_acti + using.alpha = ui_alpha + using.layer = LAYER_HUD_ITEM + hud.adding += using + hud.grab_intent = using + + ico = new(ui_style, "black") + ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) + ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2) + using = new /obj/screen( src ) + using.name = I_HURT + using.icon = ico + using.screen_loc = ui_acti + using.alpha = ui_alpha + using.layer = LAYER_HUD_ITEM + hud.adding += using + hud.hurt_intent = using + + //Move intent (walk/run) + using = new /obj/screen() + using.name = "mov_intent" + using.icon = ui_style + using.icon_state = (m_intent == "run" ? "running" : "walking") + using.screen_loc = ui_movi + using.color = ui_color + using.alpha = ui_alpha + hud.adding += using + hud.move_intent = using + + //Resist button + using = new /obj/screen() + using.name = "resist" + using.icon = ui_style + using.icon_state = "act_resist" + using.screen_loc = ui_pull_resist + using.color = ui_color + using.alpha = ui_alpha + hud.hotkeybuttons += using + + //Pull button + pullin = new /obj/screen() + pullin.icon = ui_style + pullin.icon_state = "pull0" + pullin.name = "pull" + pullin.screen_loc = ui_pull_resist + hud.hotkeybuttons += pullin + hud_elements |= pullin + + //Health status + healths = new /obj/screen() + healths.icon = ui_style + healths.icon_state = "health0" + healths.name = "health" + healths.screen_loc = ui_health + hud_elements |= healths + + //Oxygen dep icon + oxygen = new /obj/screen() + oxygen.icon = ui_style + oxygen.icon_state = "oxy0" + oxygen.name = "oxygen" + oxygen.screen_loc = ui_oxygen + hud_elements |= oxygen + + //Toxins present icon + toxin = new /obj/screen() + toxin.icon = ui_style + toxin.icon_state = "tox0" + toxin.name = "toxin" + toxin.screen_loc = ui_toxin + hud_elements |= toxin + + //Fire warning + fire = new /obj/screen() + fire.icon = ui_style + fire.icon_state = "fire0" + fire.name = "fire" + fire.screen_loc = ui_fire + hud_elements |= fire + + //Pressure warning + pressure = new /obj/screen() + pressure.icon = ui_style + pressure.icon_state = "pressure0" + pressure.name = "pressure" + pressure.screen_loc = ui_pressure + hud_elements |= pressure + + //Body temp warning + bodytemp = new /obj/screen() + bodytemp.icon = ui_style + bodytemp.icon_state = "temp0" + bodytemp.name = "body temperature" + bodytemp.screen_loc = ui_temp + hud_elements |= bodytemp + + //Nutrition status + nutrition_icon = new /obj/screen() + nutrition_icon.icon = ui_style + nutrition_icon.icon_state = "nutrition0" + nutrition_icon.name = "nutrition" + nutrition_icon.screen_loc = ui_nutrition + hud_elements |= nutrition_icon + + pain = new /obj/screen( null ) + + zone_sel = new /obj/screen/zone_sel( null ) + zone_sel.icon = ui_style + zone_sel.color = ui_color + zone_sel.alpha = ui_alpha + zone_sel.overlays.Cut() + zone_sel.overlays += image('icons/mob/zone_sel.dmi', "[zone_sel.selecting]") + hud_elements |= zone_sel + + //Hand things + if(has_hands) + //Drop button + using = new /obj/screen() + using.name = "drop" + using.icon = ui_style + using.icon_state = "act_drop" + using.screen_loc = ui_drop_throw + using.color = ui_color + using.alpha = ui_alpha + hud.hotkeybuttons += using + + //Equip detail + using = new /obj/screen() + using.name = "equip" + using.icon = ui_style + using.icon_state = "act_equip" + using.screen_loc = ui_equip + using.color = ui_color + using.alpha = ui_alpha + hud.adding += using + + //Hand slots themselves + inv_box = new /obj/screen/inventory/hand() + inv_box.hud = src + inv_box.name = "r_hand" + inv_box.icon = ui_style + inv_box.icon_state = "r_hand_inactive" + if(!hand) //This being 0 or null means the right hand is in use + inv_box.icon_state = "r_hand_active" + inv_box.screen_loc = ui_rhand + inv_box.slot_id = slot_r_hand + inv_box.color = ui_color + inv_box.alpha = ui_alpha + + hud.r_hand_hud_object = inv_box + hud.adding += inv_box + + inv_box = new /obj/screen/inventory/hand() + inv_box.hud = src + inv_box.name = "l_hand" + inv_box.icon = ui_style + inv_box.icon_state = "l_hand_inactive" + if(hand) //This being 1 means the left hand is in use + inv_box.icon_state = "l_hand_active" + inv_box.screen_loc = ui_lhand + inv_box.slot_id = slot_l_hand + inv_box.color = ui_color + inv_box.alpha = ui_alpha + hud.l_hand_hud_object = inv_box + hud.adding += inv_box + + //Swaphand titlebar + using = new /obj/screen/inventory() + using.name = "hand" + using.icon = ui_style + using.icon_state = "hand1" + using.screen_loc = ui_swaphand1 + using.color = ui_color + using.alpha = ui_alpha + hud.adding += using + + using = new /obj/screen/inventory() + using.name = "hand" + using.icon = ui_style + using.icon_state = "hand2" + using.screen_loc = ui_swaphand2 + using.color = ui_color + using.alpha = ui_alpha + hud.adding += using + + //Throw button + throw_icon = new /obj/screen() + throw_icon.icon = ui_style + throw_icon.icon_state = "act_throw_off" + throw_icon.name = "throw" + throw_icon.screen_loc = ui_drop_throw + throw_icon.color = ui_color + throw_icon.alpha = ui_alpha + hud.hotkeybuttons += throw_icon + hud_elements |= throw_icon + + extra_huds(hud,ui_style,hud_elements) + + client.screen = list() + + client.screen += hud_elements + client.screen += adding + hotkeybuttons + client.screen += client.void + + return diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index a21da32479..917790df41 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1129,4 +1129,11 @@ mob/proc/yank_out_object() /mob/proc/update_client_color() if(client && client.color) animate(client, color = null, time = 10) - return \ No newline at end of file + return + +/mob/proc/swap_hand() + return + +//Throwing stuff +/mob/proc/throw_item(atom/target) + return diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index cf14862981..1602c8cb47 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -181,6 +181,9 @@ //Updating pixelshift, position and direction //Gets called on process, when the grab gets upgraded or the assailant moves /obj/item/weapon/grab/proc/adjust_position() + if(!affecting) + qdel(src) + return if(affecting.buckled) animate(affecting, pixel_x = 0, pixel_y = 0, 4, 1, LINEAR_EASING) return @@ -236,7 +239,7 @@ if(!assailant.canmove || assailant.lying) qdel(src) return - + var/datum/gender/TU = gender_datums[assailant.get_visible_gender()] last_action = world.time diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 451bac05d6..4b625e15f1 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -328,7 +328,7 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT) set name = "a-intent" set hidden = 1 - if(ishuman(src) || isbrain(src) || isslime(src)) + if(isliving(src)) switch(input) if(I_HELP,I_DISARM,I_GRAB,I_HURT) a_intent = input diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index af72ba4dd4..b59bd402d3 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -51,14 +51,14 @@ attack_self() return if(SOUTHWEST) - if(iscarbon(usr)) + if(isliving(usr)) var/mob/living/carbon/C = usr C.toggle_throw_mode() else usr << "This mob type cannot throw items." return if(NORTHWEST) - if(iscarbon(usr)) + if(isliving(usr)) var/mob/living/carbon/C = usr if(!C.get_active_hand()) usr << "You have nothing to drop in your hand." @@ -79,8 +79,9 @@ /client/verb/swap_hand() set hidden = 1 - if(istype(mob, /mob/living/carbon)) - mob:swap_hand() + if(istype(mob, /mob/living)) + var/mob/living/L = mob + L.swap_hand() if(istype(mob,/mob/living/silicon/robot)) var/mob/living/silicon/robot/R = mob R.cycle_modules() diff --git a/code/modules/mob/update_icons.dm b/code/modules/mob/update_icons.dm index 3eab4b967f..ae6e01a249 100644 --- a/code/modules/mob/update_icons.dm +++ b/code/modules/mob/update_icons.dm @@ -5,6 +5,7 @@ return /mob/proc/update_icons() + update_icon() //Ugh. return /mob/proc/update_icons_layers(var/update_icons = TRUE) diff --git a/icons/mob/screen1_animal.dmi b/icons/mob/screen1_animal.dmi new file mode 100644 index 0000000000000000000000000000000000000000..51b971a075cdf29e77e32017822f6c03c854453b GIT binary patch literal 117975 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 HvGMso=mom6 literal 0 HcmV?d00001 diff --git a/polaris.dme b/polaris.dme index 980abe6f52..aa7eb48930 100644 --- a/polaris.dme +++ b/polaris.dme @@ -1848,6 +1848,7 @@ #include "code\modules\mob\living\silicon\robot\subtypes\syndicate.dm" #include "code\modules\mob\living\simple_animal\corpse.dm" #include "code\modules\mob\living\simple_animal\simple_animal.dm" +#include "code\modules\mob\living\simple_animal\simple_hud.dm" #include "code\modules\mob\living\simple_animal\aliens\alien.dm" #include "code\modules\mob\living\simple_animal\aliens\creature.dm" #include "code\modules\mob\living\simple_animal\aliens\drone.dm" From 965ba98f934c006504c5d968dfac7fb361a77331 Mon Sep 17 00:00:00 2001 From: Cerebulon Date: Thu, 15 Feb 2018 09:04:01 +0000 Subject: [PATCH 03/12] New sprite for the News Codex --- icons/obj/library.dmi | Bin 28969 -> 29912 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi index 6a1f99d2cda29badd202b9981c1dfd864698e693..4ef2ddddc69d8967f3296f8df931837531ef6edd 100644 GIT binary patch delta 10454 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 D-|e5H delta 9503 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 Date: Thu, 15 Feb 2018 03:33:23 -0600 Subject: [PATCH 04/12] The largest PR I've probably actually done. Adds the following: * Bouquets * Fake Bouquets. Can be won from arcade machines. * Heart box chocolates containing a set arrangement of chocolates. * Adds said chocolates (milk chocolate, white chocolate, and truffles) all bite-sized. * Adds 5 cards, one blank and four with covers. Function identical to paper except you can't make an airplane because I hate fun. * Adds The four cards with covers, 3 real bouquets, and 2 chocolate boxes to cargo under a 'gift crate' for 10 points. Sprites by me. Code would not be possible without cerebul's help. Let me know if I've goofed on something, but I did test all of the items + ordering them from cargo. --- code/datums/supplypacks/hospitality.dm | 14 ++++++ code/game/machinery/computer/arcade.dm | 3 +- code/game/objects/items/toys.dm | 14 ++++++ .../objects/items/weapons/storage/fancy.dm | 33 +++++++++++++ code/modules/paperwork/paper.dm | 46 +++++++++++++++++- .../reagent_containers/food/snacks.dm | 23 +++++++++ html/changelogs/schnayy-giftcrates.yml | 9 ++++ icons/mob/items/lefthand.dmi | Bin 68965 -> 70165 bytes icons/mob/items/righthand.dmi | Bin 70562 -> 71369 bytes icons/obj/bureaucracy.dmi | Bin 19341 -> 20529 bytes icons/obj/food.dmi | Bin 105229 -> 106899 bytes icons/obj/items.dmi | Bin 60935 -> 61713 bytes 12 files changed, 140 insertions(+), 2 deletions(-) create mode 100644 html/changelogs/schnayy-giftcrates.yml diff --git a/code/datums/supplypacks/hospitality.dm b/code/datums/supplypacks/hospitality.dm index 83d46edde1..f3de751f23 100644 --- a/code/datums/supplypacks/hospitality.dm +++ b/code/datums/supplypacks/hospitality.dm @@ -61,3 +61,17 @@ cost = 15 containertype = /obj/structure/closet/crate/freezer containername = "Pizza crate" + +/datum/supply_packs/hospitality/gifts + name = "Gift crate" + contains = list( + /obj/item/toy/bouquet = 3, + /obj/item/weapon/storage/fancy/heartbox = 2, + /obj/item/weapon/paper/card/smile, + /obj/item/weapon/paper/card/heart, + /obj/item/weapon/paper/card/cat, + /obj/item/weapon/paper/card/flower + ) + cost = 10 + containertype = /obj/structure/closet/crate + containername = "crate of gifts" \ No newline at end of file diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index d546ef4676..df2387e71f 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -27,7 +27,8 @@ /obj/item/toy/waterflower = 1, /obj/random/action_figure = 1, /obj/random/plushie = 1, - /obj/item/toy/cultsword = 1 + /obj/item/toy/cultsword = 1, + /obj/item/toy/bouquet/fake = 1 ) /obj/machinery/computer/arcade/New() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 62f02816ed..c86993fa31 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -16,6 +16,7 @@ * Action figures * Plushies * Toy cult sword + * Bouquets */ @@ -872,6 +873,19 @@ w_class = ITEMSIZE_LARGE attack_verb = list("attacked", "slashed", "stabbed", "poked") +//Flowers fake & real + +/obj/item/toy/bouquet + name = "bouquet" + desc = "A lovely bouquet of flowers. Smells nice!" + icon = 'icons/obj/items.dmi' + icon_state = "bouquet" + w_class = ITEMSIZE_SMALL + +/obj/item/toy/bouquet/fake + name = "plastic bouquet" + desc = "A cheap plastic bouquet of flowers. Smells like cheap, toxic plastic." + /* NYET. /obj/item/weapon/toddler icon_state = "toddler" diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm index 3df73b9793..8cc10444ef 100644 --- a/code/game/objects/items/weapons/storage/fancy.dm +++ b/code/game/objects/items/weapons/storage/fancy.dm @@ -10,6 +10,8 @@ * Candle Box * Crayon Box * Cigarette Box + * Vial Box + * Box of Chocolates */ /obj/item/weapon/storage/fancy/ @@ -313,3 +315,34 @@ /obj/item/weapon/storage/lockbox/vials/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() update_icon() + +/* + * Box of Chocolates/Heart Box + */ + +/obj/item/weapon/storage/fancy/heartbox + icon_state = "heartbox" + name = "box of chocolates" + var/startswith = 6 + max_storage_space = ITEMSIZE_COST_SMALL * 6 + can_hold = list( + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece, + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white, + /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle + ) + +/obj/item/weapon/storage/fancy/heartbox/New() + ..() + new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece(src) + new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece(src) + new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece(src) + new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white(src) + new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white(src) + new /obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle(src) + update_icon() + return + +/obj/item/weapon/storage/fancy/heartbox/update_icon(var/itemremoved = 0) + if (contents.len == 0) + icon_state = "heartbox_empty" + return \ No newline at end of file diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index b708e58253..4fd94901cc 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -35,6 +35,50 @@ var/const/signfont = "Times New Roman" var/const/crayonfont = "Comic Sans MS" +/obj/item/weapon/paper/card + name = "blank card" + desc = "A gift card with space to write on the cover." + icon_state = "greetingcard" + slot_flags = null //no fun allowed!!!! + +/obj/item/weapon/paper/card/AltClick() //No fun allowed + return + +/obj/item/weapon/paper/card/update_icon() + return + +/obj/item/weapon/paper/card/smile + name = "happy card" + desc = "A gift card with a smiley face on the cover." + icon_state = "greetingcard_smile" + +/obj/item/weapon/paper/card/cat + name = "cat card" + desc = "A gift card with a cat on the cover." + icon_state = "greetingcard_cat" + +/obj/item/weapon/paper/card/flower + name = "flower card" + desc = "A gift card with a flower on the cover." + icon_state = "greetingcard_flower" + +/obj/item/weapon/paper/card/heart + name = "heart card" + desc = "A gift card with a heart on the cover." + icon_state = "greetingcard_heart" + +/obj/item/weapon/paper/card/New() + ..() + pixel_y = rand(-8, 8) + pixel_x = rand(-9, 9) + stamps = null + + if(info != initial(info)) + info = html_encode(info) + info = replacetext(info, "\n", "
") + info = parsepencode(info) + return + /obj/item/weapon/paper/alien name = "alien tablet" desc = "It looks highly advanced" @@ -319,7 +363,7 @@ if(P.lit && !user.restrained()) if(istype(P, /obj/item/weapon/flame/lighter/zippo)) class = "rose" - + user.visible_message("[user] holds \the [P] up to \the [src], it looks like [TU.hes] trying to burn it!", \ "You hold \the [P] up to \the [src], burning it slowly.") diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 9fb6314829..51f675ec7d 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -376,6 +376,29 @@ reagents.add_reagent("coco", 2) bitesize = 2 +/obj/item/weapon/reagent_containers/food/snacks/chocolatepiece + name = "chocolate piece" + desc = "A luscious milk chocolate piece filled with gooey caramel." + icon_state = "chocolatepiece" + filling_color = "#7D5F46" + center_of_mass = list("x"=15, "y"=15) + nutriment_amt = 1 + nutriment_desc = list("chocolate" = 3, "caramel" = 2, "lusciousness" = 1) + bitesize = 2 + +/obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/white + name = "white chocolate piece" + desc = "A creamy white chocolate piece drizzled in milk chocolate." + icon_state = "chocolatepiece_white" + filling_color = "#E2DAD3" + nutriment_desc = list("white chocolate" = 3, "creaminess" = 1) + +/obj/item/weapon/reagent_containers/food/snacks/chocolatepiece/truffle + name = "chocolate truffle" + desc = "A bite-sized milk chocolate truffle that could buy anyone's love." + icon_state = "chocolatepiece_truffle" + nutriment_desc = list("chocolate" = 3, "undying devotion" = 3) + /obj/item/weapon/reagent_containers/food/snacks/chocolateegg name = "Chocolate Egg" desc = "Such sweet, fattening food." diff --git a/html/changelogs/schnayy-giftcrates.yml b/html/changelogs/schnayy-giftcrates.yml new file mode 100644 index 0000000000..08c0668df5 --- /dev/null +++ b/html/changelogs/schnayy-giftcrates.yml @@ -0,0 +1,9 @@ +author: Schnayy + +delete-after: True + +changes: + - rscadd: "Adds bouquets. Can be ordered via 'gift crate' in cargo." + - rscadd: "Adds fake bouquets for the cheap. Can currently be won from arcade machines." + - rscadd: "Adds chocolate heart-shaped boxes. Can be ordered via 'gift crate' in cargo." + - rscadd: "Adds gift cards with four cover variations. Function like paper. Can be ordered via 'gift crate' in cargo." \ No newline at end of file diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi index a7628b6aeb42a88ab5f2fb086519b8b96e15f040..a42fe5654798880ed4d5c19171c6306326d30bbd 100644 GIT binary patch delta 11699 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 EUxGC*od5s; diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi index 4dd154277eeb13049a86c37b44f015bb776f7d4c..54720b1f6de3524d9fa4d5bbcafbc72d71a0e438 100644 GIT binary patch delta 12922 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 delta 12103 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 WG4kJ@v79eaL*&(;RsQwj)&Bwjg&tOeqhao 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 Z_nO_k_dL;&x-dmHYP?d>WfqoXx5++v0w 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 b|MDBs4p@lplzI(3W{bho)z4*}Q$iB}Y%mNo diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 14f54fb5dcf3809c40a33fd077ccef7430efa2ea..d282fb3e6a014f082a67f0264e11748210be8f64 100644 GIT binary patch delta 16820 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 MMNy(s%rM~p0AIFYVgLXD diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index bebe9efbeed378610f6d87d128cd6419c98a110c..b8dc87695ab5b40464cd72aa54a3aad18d8fc720 100644 GIT binary patch delta 3525 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 delta 2747 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 BTWkOT From 58d62f3b6924a4b5f49838405d5f73160fc8cba8 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Thu, 15 Feb 2018 04:04:20 -0600 Subject: [PATCH 05/12] Corrects SA projectile damage accidental removal Now it just adjusts the Proj's damage instead of doing brute damage directly, so it can be affected by armor and whatever complex things living/bullet_act checks. --- code/modules/mob/living/simple_animal/simple_animal.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 834c6211ac..12aaa9a2d0 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -562,6 +562,12 @@ /mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj) ai_log("bullet_act() I was shot by: [Proj.firer]",2) + //Projectiles with bonus SA damage + if(!Proj.nodamage) + var/true_damage = Proj.damage + if(!Proj.SA_vulnerability || Proj.SA_vulnerability == intelligence_level) + Proj.damage += Proj.SA_bonus_damage + . = ..() if(Proj.firer) From 87d1c855349520f13f854be22c4dcc9b96ed7778 Mon Sep 17 00:00:00 2001 From: MisterLayne Date: Thu, 15 Feb 2018 16:12:48 -0500 Subject: [PATCH 06/12] I will fite these '<<'s. --- code/game/objects/items/stacks/rods.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 784eadd3b9..ff680ab468 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -36,7 +36,7 @@ icon_state = "rods" var/global/list/datum/stack_recipe/rods_recipes = list( \ - new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = 1, on_floor = 1), + new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = 1, on_floor = 0), new/datum/stack_recipe("catwalk", /obj/structure/catwalk, 2, time = 80, one_per_turf = 1, on_floor = 1)) /obj/item/stack/rods/attackby(obj/item/W as obj, mob/user as mob) @@ -44,7 +44,7 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \ var/obj/item/weapon/weldingtool/WT = W if(get_amount() < 2) - user << "You need at least two rods to do this." + to_chat(user, "You need at least two rods to do this.") return if(WT.remove_fuel(0,user)) @@ -91,15 +91,15 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \ else if(!in_use) if(get_amount() < 2) - user << "You need at least two rods to do this." + to_chat(user, "You need at least two rods to do this.") return - usr << "Assembling grille..." + to_chat(usr, "Assembling grille...") in_use = 1 if (!do_after(usr, 10)) in_use = 0 return var/obj/structure/grille/F = new /obj/structure/grille/ ( usr.loc ) - usr << "You assemble a grille" + to_chat(usr, "You assemble a grille") in_use = 0 F.add_fingerprint(usr) use(2) From 3e8109e8c614c5ca772409252eb664aa9547cf3e Mon Sep 17 00:00:00 2001 From: PrismaticGynoid Date: Thu, 15 Feb 2018 16:26:55 -0800 Subject: [PATCH 07/12] Department ponchos for all Removes the job restrictions on the department ponchos, making them able to be taken from the loadout by any job, just like the department jackets. --- code/modules/client/preference_setup/loadout/loadout_suit.dm | 5 ----- html/changelogs/PrismaticGynoid-universalponchos.yml | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-) create mode 100644 html/changelogs/PrismaticGynoid-universalponchos.yml diff --git a/code/modules/client/preference_setup/loadout/loadout_suit.dm b/code/modules/client/preference_setup/loadout/loadout_suit.dm index 0208c234d4..76bbebcc3f 100644 --- a/code/modules/client/preference_setup/loadout/loadout_suit.dm +++ b/code/modules/client/preference_setup/loadout/loadout_suit.dm @@ -181,27 +181,22 @@ /datum/gear/suit/roles/poncho/security display_name = "poncho, security" path = /obj/item/clothing/accessory/poncho/roles/security - allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer") /datum/gear/suit/roles/poncho/medical display_name = "poncho, medical" path = /obj/item/clothing/accessory/poncho/roles/medical - allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist") /datum/gear/suit/roles/poncho/engineering display_name = "poncho, engineering" path = /obj/item/clothing/accessory/poncho/roles/engineering - allowed_roles = list("Chief Engineer","Atmospheric Technician", "Station Engineer") /datum/gear/suit/roles/poncho/science display_name = "poncho, science" path = /obj/item/clothing/accessory/poncho/roles/science - allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist") /datum/gear/suit/roles/poncho/cargo display_name = "poncho, cargo" path = /obj/item/clothing/accessory/poncho/roles/cargo - allowed_roles = list("Quartermaster","Cargo Technician") /datum/gear/suit/roles/poncho/cloak/hos display_name = "cloak, head of security" diff --git a/html/changelogs/PrismaticGynoid-universalponchos.yml b/html/changelogs/PrismaticGynoid-universalponchos.yml new file mode 100644 index 0000000000..185525498b --- /dev/null +++ b/html/changelogs/PrismaticGynoid-universalponchos.yml @@ -0,0 +1,4 @@ +author: PrismaticGynoid +delete-after: True +changes: + - tweak: "Changed department ponchos to be open to any job, just like department jackets." From bd6ef1b09fcd8d3b45130501cdccefe95d28c452 Mon Sep 17 00:00:00 2001 From: Heroman3003 Date: Fri, 16 Feb 2018 11:38:12 +1000 Subject: [PATCH 08/12] Fixed typo in unfastening grille Grille, not grill --- code/game/objects/structures/grille.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index aec6ce94c1..6fea7e6ece 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -104,7 +104,7 @@ playsound(src, W.usesound, 100, 1) anchored = !anchored user.visible_message("[user] [anchored ? "fastens" : "unfastens"] the grille.", \ - "You have [anchored ? "fastened the grille to" : "unfastened the grill from"] the floor.") + "You have [anchored ? "fastened the grille to" : "unfastened the grille from"] the floor.") return //window placing begin //TODO CONVERT PROPERLY TO MATERIAL DATUM From 6b0b76b78a08bfc651f2c242af1483ec3f329ab4 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Thu, 15 Feb 2018 21:44:59 -0600 Subject: [PATCH 09/12] POLARIS: Walking with nonshoes on feet causes runtimes --- code/modules/mob/living/carbon/human/human_movement.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 5e3d9e59b3..700e55dcec 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -189,7 +189,7 @@ volume *= 0.5 else if(shoes) var/obj/item/clothing/shoes/feet = shoes - if(feet) + if(istype(feet)) volume *= feet.step_volume_mod if(!has_organ(BP_L_FOOT) && !has_organ(BP_R_FOOT)) From 4e3345dab5188d63efa3809a8921448c66c6756e Mon Sep 17 00:00:00 2001 From: ThoughtSynapsis <1429echoesrefurb@gmail.com> Date: Thu, 15 Feb 2018 21:04:12 -0500 Subject: [PATCH 10/12] Adds new POI's along with minor fixes to older ones! --- .../surface_submaps/plains/Boathouse.dmm | 117 ++++++ maps/submaps/surface_submaps/plains/Diner.dmm | 110 ++++++ .../submaps/surface_submaps/plains/Mechpt.dmm | 45 +++ .../surface_submaps/plains/PooledR.dmm | 55 +++ .../submaps/surface_submaps/plains/Rocky2.dmm | 40 +++ .../surface_submaps/plains/Shakden.dmm | 17 +- maps/submaps/surface_submaps/plains/Smol3.dmm | 23 ++ .../submaps/surface_submaps/plains/Theifc.dmm | 39 ++ maps/submaps/surface_submaps/plains/plains.dm | 88 ++++- .../surface_submaps/plains/plains_areas.dm | 37 ++ maps/submaps/surface_submaps/plains/smol2.dmm | 21 ++ maps/submaps/surface_submaps/plains/snow1.dmm | 16 + maps/submaps/surface_submaps/plains/snow2.dmm | 26 ++ maps/submaps/surface_submaps/plains/snow3.dmm | 16 + maps/submaps/surface_submaps/plains/snow4.dmm | 16 + maps/submaps/surface_submaps/plains/snow5.dmm | 22 ++ .../surface_submaps/wilderness/Drugden.dmm | 74 ++++ .../surface_submaps/wilderness/Rockybase.dmm | 340 +++++++++--------- .../surface_submaps/wilderness/wilderness.dm | 7 + .../wilderness/wilderness_areas.dm | 4 + 20 files changed, 941 insertions(+), 172 deletions(-) create mode 100644 maps/submaps/surface_submaps/plains/Boathouse.dmm create mode 100644 maps/submaps/surface_submaps/plains/Diner.dmm create mode 100644 maps/submaps/surface_submaps/plains/Mechpt.dmm create mode 100644 maps/submaps/surface_submaps/plains/PooledR.dmm create mode 100644 maps/submaps/surface_submaps/plains/Rocky2.dmm create mode 100644 maps/submaps/surface_submaps/plains/Smol3.dmm create mode 100644 maps/submaps/surface_submaps/plains/Theifc.dmm create mode 100644 maps/submaps/surface_submaps/plains/smol2.dmm create mode 100644 maps/submaps/surface_submaps/plains/snow1.dmm create mode 100644 maps/submaps/surface_submaps/plains/snow2.dmm create mode 100644 maps/submaps/surface_submaps/plains/snow3.dmm create mode 100644 maps/submaps/surface_submaps/plains/snow4.dmm create mode 100644 maps/submaps/surface_submaps/plains/snow5.dmm create mode 100644 maps/submaps/surface_submaps/wilderness/Drugden.dmm diff --git a/maps/submaps/surface_submaps/plains/Boathouse.dmm b/maps/submaps/surface_submaps/plains/Boathouse.dmm new file mode 100644 index 0000000000..24463d7810 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Boathouse.dmm @@ -0,0 +1,117 @@ +"aa" = (/turf/template_noop,/area/template_noop) +"ab" = (/turf/template_noop,/area/submap/Boathouse) +"ac" = (/turf/simulated/floor/outdoors/rocks,/area/submap/Boathouse) +"ad" = (/turf/simulated/floor/water,/area/submap/Boathouse) +"ae" = (/turf/simulated/floor/water/deep,/area/submap/Boathouse) +"af" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Boathouse) +"ag" = (/obj/structure/table/bench/wooden,/turf/template_noop,/area/submap/Boathouse) +"ah" = (/obj/structure/table/woodentable,/turf/template_noop,/area/submap/Boathouse) +"ai" = (/turf/simulated/wall/wood,/area/submap/Boathouse) +"aj" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/accessory/jacket,/obj/item/clothing/accessory/jacket,/obj/item/clothing/head/beanie,/turf/simulated/floor/wood,/area/submap/Boathouse) +"ak" = (/turf/simulated/floor/wood,/area/submap/Boathouse) +"al" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/weapon/gun/projectile/shotgun/doublebarrel,/obj/item/weapon/storage/box/beanbags,/turf/simulated/floor/wood,/area/submap/Boathouse) +"am" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"an" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/wood,/area/submap/Boathouse) +"ao" = (/obj/structure/railing{dir = 8},/obj/structure/railing,/turf/simulated/floor/water,/area/submap/Boathouse) +"ap" = (/obj/structure/railing,/turf/simulated/floor/water,/area/submap/Boathouse) +"aq" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/submap/Boathouse) +"ar" = (/obj/structure/table/woodentable,/obj/item/weapon/deck/cards,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"as" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"at" = (/obj/structure/table/woodentable,/obj/item/trash/candle,/turf/simulated/floor/wood,/area/submap/Boathouse) +"au" = (/obj/item/weapon/stool,/turf/simulated/floor/wood,/area/submap/Boathouse) +"av" = (/turf/simulated/floor/wood{tag = "icon-wood_broken6"; icon_state = "wood_broken6"},/area/submap/Boathouse) +"aw" = (/obj/structure/railing{dir = 8},/turf/simulated/floor/water,/area/submap/Boathouse) +"ax" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"ay" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"az" = (/obj/structure/table/woodentable,/obj/item/weapon/tape_roll,/obj/random/firstaid,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aA" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/obj/item/weapon/reagent_containers/food/drinks/glass2/shot,/turf/simulated/floor/carpet/turcarpet,/area/submap/Boathouse) +"aB" = (/turf/simulated/floor/wood{tag = "icon-wood_broken2"; icon_state = "wood_broken2"},/area/submap/Boathouse) +"aC" = (/obj/structure/railing{dir = 8},/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/submap/Boathouse) +"aD" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/submap/Boathouse) +"aE" = (/obj/vehicle/boat/sifwood,/turf/simulated/floor/water,/area/submap/Boathouse) +"aF" = (/obj/structure/window/reinforced/full,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aG" = (/obj/structure/table/woodentable,/obj/item/weapon/oar,/obj/item/weapon/oar,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aH" = (/obj/structure/railing{tag = "icon-railing0 (WEST)"; icon_state = "railing0"; dir = 8},/turf/simulated/floor/water,/area/submap/Boathouse) +"aI" = (/obj/structure/table/woodentable,/obj/item/weapon/cell/device/weapon,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aJ" = (/turf/simulated/floor/wood{tag = "icon-wood_broken4"; icon_state = "wood_broken4"},/area/submap/Boathouse) +"aK" = (/obj/structure/railing{tag = "icon-railing0 (WEST)"; icon_state = "railing0"; dir = 8},/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/simulated/floor/water,/area/submap/Boathouse) +"aL" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aM" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/fruitsalad,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aN" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aO" = (/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) +"aP" = (/obj/structure/window/reinforced/full,/turf/simulated/wall/wood,/area/submap/Boathouse) +"aQ" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aR" = (/obj/structure/bookcase,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) +"aS" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/bag/trash,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aT" = (/obj/structure/table/woodentable,/obj/item/weapon/flame/lighter,/obj/item/weapon/storage/fancy/candle_box,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aU" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) +"aV" = (/obj/structure/table/rack,/obj/item/clothing/accessory/poncho/blue,/obj/item/clothing/accessory/poncho/blue,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aW" = (/obj/structure/coatrack,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aX" = (/obj/structure/table/rack,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/head/hood/winter,/obj/item/clothing/shoes/boots/winter,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aY" = (/obj/structure/table/rack,/obj/item/clothing/accessory/storage,/obj/item/clothing/accessory/storage,/turf/simulated/floor/wood,/area/submap/Boathouse) +"aZ" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) +"ba" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet/bcarpet,/area/submap/Boathouse) +"bb" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Boathouse) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaabababababababababababacacacacacacacacacacacacacacacacacacabababababababababaa +aaabababababababababacacadadadadadadadadadadadadadadadadadadacacabababababababaa +aaabababababababacacacacadadadadadadadadadadadadadadadadadadadacacacabababababaa +aaababababababacacadadadadadadadadadadaeaeaeaeaeaeaeaeaeaeaeadadadacacababababaa +aaabababababacacadadadadadadadadadadadaeaeaeaeaeaeaeaeaeaeadadadadadacacabababaa +aaababababacacadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadacababababaa +aaabababacacadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadacababababaa +aaabababacadadadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadacacababababaa +aaababacacadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadacabababababaa +aaabacacadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeadaeaeaeadadadadadacacabababababaa +aaabacadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadadadadadadadacababababababaa +aaacacadadadadadadaeaeaeaeaeaeaeaeaeaeaeaeadadadadadadadadadadadacababababababaa +aaacadadadadadadadaeaeaeaeaeaeaeaeaeaeaeadadadadadadadadadadacacacababababababaa +aaacadadadadadadadaeaeaeaeaeaeaeaeaeaeadadadadadadadadadacacacababababababababaa +aaacacadadadadadadaeaeaeaeaeaeaeaeaeaeadadadadacacacacacacababababababababababaa +aaabacadadadadadadaeaeaeaeaeaeaeaeaeaeadadadacacababababababababafababababababaa +aaabacacadadadadadaeaeaeaeaeaeaeaeaeadadadadacababagagagagababababababababababaa +aaababacacadadadadadaeaeaeaeaeaeaeaeadadadacabababahahahahababababababababababaa +aaabababacadadadadadaeaeadaeaeaeaeaeadadadacabababagagagagababababababababababaa +aaabababacacacadadadadaeadadaeaeaeaeaeadadacacabababababababababababafababababaa +aaabababababacacacadadadadadaeaeaeaeaeadadadacacacababababababababababababababaa +aaababababababacacacadadadadaeaeaeaeaeadadadadadacacacabababacacacacabababababaa +aaababababababababacacacadadaeaeaeaeaeadadadadadadadacacacacacadadacacababababaa +aaababababababababababacadadaeaeaeaeaeadaeadadadadadadadadadadadadadacababababaa +aaababababababababababacadadadaeaeaeaeaeaeadadadadadadadadadadadadadacacabababaa +aaababababababababababacadadadaeaeaeaeaeaeaeadadadadadadadadadadadadadacabababaa +aaababababababababababacadadadadaeaeaeaeaeaeadadadadadadadadaeaeadadadacacababaa +aaabababababababababacacadadadadaeaeaeaeaeaeaeaeaeadadadadaeaeaeadadadadacacabaa +aaabababababababababacacadadadadadaeaeaeaeaeaeaeaeaeaeadaeaeaeadadadadadadacabaa +aaabababababababababacacadadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeadadadadadadacabaa +aaabababababababababacacadadadadadadadaeaeaeaeaeaeaeaeaeaeaeaeadadadadadacacabaa +aaababababababababacacadadadadadadadadadaeaeaeaeaeaeaeaeaeaeadadadadadadacacabaa +aaababababababababacacadadadadadadadadadaeaeaeaeaeaeaeaeaeaeadadadadadadadacabaa +aaabababababababababacadadadadadadadadadadaeaeaeaeaeaeaeaeaeadadadadadadadacabaa +aaabababaiaiaiaiaiaiacacadadadadadadadadadaeaeaeaeaeaeaeaeaeadadadadadadadacabaa +aaabaiaiaiaiaiaiaiaiaiaiaiaiaiaiadadadadadadaeaeaeaeaeaeaeaeadadadadadadadacabaa +aaaiaiajakakalaiakakakakaiaiaiaiadadadadadadaeaeaeaeaeaeaeaeadadadadadadacacabaa +aaaiaiakamamakaianakakakaoapapapadadadadadadaeaeaeaeaeaeaeadadadadadadacacababaa +aaaiaiaqarasaqaiatauakakakavakakawadadadadadaeaeaeaeaeaeaeadadadadadadacabababaa +aaaiaiaqaxayaqaiazakakakakakakakawadadadadadadaeaeaeaeaeaeadadadadadadacabababaa +aaaiaiaqaAayaqaiakakakaBaCaDaEaDadadadadadadadaeaeaeaeaeaeadadadadadacacabababaa +aaaiaiakamamakaiakakakakawadadadadadadadadadaeaeaeaeaeaeadadadadadadadacabababaa +aaabaFakamamakaiaGakakakaoapadapadadadadadadaeaeaeaeaeaeadadadadadadadacacababaa +aaabaFakamamakaiatauakakakakakakaHadadadadadaeaeaeaeaeaeadadadadadadadadacababaa +aaabaFakamamakaiaIakakakakakaJakaHadadadadadadaeaeaeaeaeaeaeaeadadadadadacacabaa +aaabaFakamamakaiakakakakaKaDaDaDadadadadadadadadaeaeaeaeaeaeaeaeadadadadadacabaa +aaabaFakamamakaiaiaLaiakaHadadadadadadadadadadadaeaeaeaeadaeaeaeadadadadadacabaa +aaaiaiakamamakaiaiakaiakaHadadadadadadadadadadadaeaeaeaeadadadaeaeadadadadacabaa +aaaiaiaMamamakaiaiaLaiaiaiaiaiaiadadadadadadadadaeaeaeadadadadadadadadadacacabaa +aaaiaiaNamamakakakakakakaLaOaOaPadadadadadadadadaeaeadadadadadadadadadadacababaa +aaaiaiaQamamamamamamamakaiaRaOaPadadadadadadadaeaeaeadadadadadadadadadadacababaa +aaaiaiaSaTakakamamamamakaiaRaUaPadadadadadadadaeaeaeadadadadadadadadadadacababaa +aaaiaiaiaiaiaVaWakakaXaYaiaZbaaPadadadadadadadaeaeaeadadadadadadadadadacacababaa +aaabaiaiaiaiaiaiaLaLaiaiaiaiaiaiadadadadadadadadadadadadadadadadadadadacabababaa +aaababaiaiaiabaiakakaiabaiaiaiacacacadadadadadadadadadadadadadadadadadacabababaa +aaababababababaiaLaLaiababababababacacacacadadadadadacacadadadadadacacacabababaa +aaababbbbbbbbbbbbbbbbbbbbbbbbbababababacacacadadacacacacacacacacacacabababababaa +aaabababababbbbbbbbbbbbbbbbbbbbbbbbbabababacacacacababababababababababababababaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Diner.dmm b/maps/submaps/surface_submaps/plains/Diner.dmm new file mode 100644 index 0000000000..33c7a8d150 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Diner.dmm @@ -0,0 +1,110 @@ +"aa" = (/turf/template_noop,/area/template_noop) +"ab" = (/turf/template_noop,/area/submap/Diner) +"ac" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Diner) +"ad" = (/turf/simulated/wall,/area/submap/Diner) +"ae" = (/obj/structure/window/reinforced/full,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"af" = (/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ag" = (/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ah" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ai" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/glass/beaker,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aj" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/obj/item/weapon/material/knife/butch,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ak" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"al" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"am" = (/obj/structure/sink/kitchen,/turf/simulated/wall,/area/submap/Diner) +"an" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Diner) +"ao" = (/obj/structure/bed/chair/wood{dir = 1},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ap" = (/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aq" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ar" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"as" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"at" = (/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"au" = (/obj/structure/table/standard,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"av" = (/obj/structure/table/standard,/obj/item/weapon/material/kitchen/rollingpin,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aw" = (/obj/machinery/cooker/cereal,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ax" = (/obj/structure/bed/chair/wood,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"ay" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/storage/fancy/egg_box,/obj/item/weapon/storage/fancy/egg_box,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/obj/item/weapon/reagent_containers/food/condiment/sugar,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"az" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aA" = (/obj/structure/simple_door/wood,/turf/simulated/wall,/area/submap/Diner) +"aB" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aC" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/obj/effect/floor_decal/corner/red/diagonal,/obj/item/weapon/material/kitchen/utensil/fork,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aD" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aE" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aF" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aG" = (/obj/effect/floor_decal/corner/red{dir = 5},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aH" = (/turf/simulated/floor/tiled,/area/submap/Diner) +"aI" = (/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aJ" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aK" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red/diagonal,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aL" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aM" = (/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5; dir = 8},/turf/simulated/floor/tiled,/area/submap/Diner) +"aN" = (/obj/machinery/light/small{brightness_color = "#DA0205"; brightness_power = 1; brightness_range = 5; dir = 8},/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aO" = (/obj/structure/closet/crate/freezer,/obj/machinery/light/small{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aP" = (/obj/structure/table/standard,/obj/effect/floor_decal/corner/red/diagonal,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aQ" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/table/standard,/obj/machinery/microwave,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aR" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aS" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/coatrack,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aT" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aU" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aV" = (/obj/machinery/gibber,/turf/simulated/floor/tiled/freezer,/area/submap/Diner) +"aW" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aX" = (/obj/effect/floor_decal/corner/red{dir = 9},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aY" = (/obj/machinery/cooker/fryer,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"aZ" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/outdoors/dirt,/area/submap/Diner) +"ba" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bb" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/cooker/grill,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bc" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Diner) +"bd" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/submap/Diner) +"be" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled,/area/submap/Diner) +"bf" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bg" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/weapon/storage/fancy/egg_box,/obj/item/weapon/storage/fancy/egg_box,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice,/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/milk,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/obj/item/weapon/reagent_containers/food/drinks/bottle/cream,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bh" = (/obj/structure/table/standard,/obj/machinery/chemical_dispenser/bar_coffee,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bi" = (/obj/item/frame/apc,/turf/simulated/floor/lino,/area/submap/Diner) +"bj" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/lino,/area/submap/Diner) +"bk" = (/obj/structure/bed/chair/office/light,/turf/simulated/floor/lino,/area/submap/Diner) +"bl" = (/turf/simulated/floor/lino,/area/submap/Diner) +"bm" = (/obj/structure/bed/chair/wood{dir = 1},/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/light{dir = 8; icon_state = "tube1"; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bn" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/lino,/area/submap/Diner) +"bo" = (/obj/structure/table/woodentable,/obj/item/weapon/cell/high,/turf/simulated/floor/lino,/area/submap/Diner) +"bp" = (/obj/structure/table/woodentable,/turf/simulated/floor/lino,/area/submap/Diner) +"bq" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/lino,/area/submap/Diner) +"br" = (/obj/structure/simple_door/wood,/turf/simulated/floor/lino,/area/submap/Diner) +"bs" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/structure/windoor_assembly{tag = "icon-l_windoor_assembly01"; icon_state = "l_windoor_assembly01"; dir = 2},/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bt" = (/obj/structure/bookcase,/turf/simulated/floor/lino,/area/submap/Diner) +"bu" = (/obj/effect/floor_decal/corner/red/diagonal,/obj/machinery/space_heater,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bv" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"bw" = (/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"bx" = (/obj/structure/toilet,/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"by" = (/obj/structure/bed/chair/wood{dir = 4},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bz" = (/obj/structure/bed/chair/wood{dir = 8},/obj/effect/floor_decal/corner/red/diagonal,/turf/simulated/floor/tiled/white,/area/submap/Diner) +"bA" = (/obj/structure/simple_door/wood,/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"bB" = (/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"bC" = (/obj/machinery/light/small,/turf/simulated/floor/tiled/hydro,/area/submap/Diner) +"bD" = (/obj/structure/table/standard,/turf/simulated/floor/tiled/hydro,/area/submap/Diner) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaabababacabababababadaeaeadadadadadadadadabababaa +aaabababacacabababadadafafadagahaiajakalamadababaa +aaabanacacacababadadafaoaoadapapapapapapapadadabaa +aaababacacacabadadaqafarasadatapauahavapapawadadaa +aaababacacacabadafafafaxaxadapapapapapapapapayadaa +aaababacacacabaeaoaoafafafadazazadaAadadaBadadadaa +aaababacacacabaeaCaDafafaEaFaGaGadaHadaIaIaIaJadaa +aaababacacacabaeaxaxafafaEaKafaLadaMadaNaIaIaOadaa +aaababacacacabadafafafafaEaPafaQadaHadaRaIaIaIadaa +aaababacacacacadadadaSafaEaFafaTadaHadaUaIaIaVadaa +aaababacacacacazaWazaXafaEaFafaYadaHadadadadadadaa +aaababacacacaZadadadbaafaEaFafbbadaHbcbdaHbebdbeaa +aaanabacacacabaeaoaoafafaEaFafbfadbcbcbcbcbeaHbeaa +aaababacacacabaeaCaDafafaEaFafbgadbcadadadadadadaa +aaababacacacabaeaxaxafafaEaFafbhadaHadbibjbkbladaa +aaababacacacabadbmaoafafaEaPafahadaHadbnbobpbqadaa +aaababacacacabaeaCaDafafaEaKafaLadaMbrblblblbladaa +aaababacacacabaeaxaxafafaEaFahbsadaHadblblbtbtadaa +aaababacacacabaeafafafafafafafafadadadadadadadadaa +aaababacacacabadadbuafafafafafafadbvbwbxadadadadaa +aaabababacabababadadafafbyaDbzafbAbwbwbwadadadabaa +aaabanababababababadadafbyaCbzafadbBbCbDadadababaa +aaabababababababababadadaeaeaeadadadadadadabababaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Mechpt.dmm b/maps/submaps/surface_submaps/plains/Mechpt.dmm new file mode 100644 index 0000000000..3f122e9900 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Mechpt.dmm @@ -0,0 +1,45 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Mechpt) +"c" = (/obj/item/trash/chips,/turf/template_noop,/area/submap/Mechpt) +"d" = (/obj/structure/railing,/turf/template_noop,/area/submap/Mechpt) +"e" = (/obj/structure/railing,/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/template_noop,/area/submap/Mechpt) +"f" = (/obj/structure/railing,/obj/structure/table/woodentable,/obj/item/weapon/cell/high,/obj/item/weapon/cell/high,/turf/template_noop,/area/submap/Mechpt) +"g" = (/obj/structure/railing,/obj/structure/table/woodentable,/turf/template_noop,/area/submap/Mechpt) +"h" = (/obj/structure/railing,/obj/structure/table/woodentable,/obj/item/weapon/spacecash/c10,/obj/item/weapon/spacecash/c10,/turf/template_noop,/area/submap/Mechpt) +"i" = (/obj/structure/railing{tag = "icon-railing0 (EAST)"; icon_state = "railing0"; dir = 4},/turf/template_noop,/area/submap/Mechpt) +"j" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"k" = (/obj/structure/railing{tag = "icon-railing0 (WEST)"; icon_state = "railing0"; dir = 8},/turf/template_noop,/area/submap/Mechpt) +"l" = (/obj/item/stack/rods,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"m" = (/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"n" = (/obj/effect/decal/cleanable/blood/oil/streak,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"o" = (/obj/effect/decal/mecha_wreckage/ripley/deathripley,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"p" = (/obj/effect/decal/mecha_wreckage/ripley/firefighter,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"q" = (/obj/item/stack/cable_coil,/turf/simulated/floor/outdoors/dirt,/area/submap/Mechpt) +"r" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/turf/template_noop,/area/submap/Mechpt) +"s" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/obj/structure/table/woodentable,/obj/structure/reagent_dispensers/beerkeg,/turf/template_noop,/area/submap/Mechpt) +"t" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/obj/structure/table/woodentable,/obj/item/weapon/spacecash/c50,/turf/template_noop,/area/submap/Mechpt) +"u" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/obj/structure/table/woodentable,/turf/template_noop,/area/submap/Mechpt) +"v" = (/obj/structure/railing{tag = "icon-railing0 (NORTH)"; icon_state = "railing0"; dir = 1},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/bottle/small/beer,/turf/template_noop,/area/submap/Mechpt) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbcbbbbbbbbbbbbbbbbbba +abbdddddddddefghgdddddddddddba +abijjjjjjjjjjjjjjjjjjjjjjjjjka +abijjjjjjjjjjjjjjjjjjjjjjjjjka +abijjjljjjjjjjjjjjjmjjjnjjjjka +abijjjjjmjjjjjjjjjjjjjjjjjjjka +ajjjjjjjjjjojjjjjjjjjjjjjjjjja +abjjjjjjjjjjjjjjjjjjjjjjjjjjja +abijjjjjjjjjjjpjjjmjjjjjjjjjka +abijjjjjjjjjjjjjjjjjjjjjjjjjka +abijjjjjjjmjjqjjjjjjjjjjjjjjka +abijnjjjjjjjjjjjjjjjjjjjjjjjka +abijjjjjjjjjjjjjjjjjjjjjjjjjka +abbrrrrrrrrrstutvrrrrrrrrrrrba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbba +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/PooledR.dmm b/maps/submaps/surface_submaps/plains/PooledR.dmm new file mode 100644 index 0000000000..8415e01135 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/PooledR.dmm @@ -0,0 +1,55 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/PooledR) +"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/PooledR) +"d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/PooledR) +"e" = (/obj/structure/table/woodentable,/turf/template_noop,/area/submap/PooledR) +"f" = (/obj/structure/table/woodentable,/obj/item/weapon/material/knife,/turf/template_noop,/area/submap/PooledR) +"g" = (/obj/structure/flora/ausbushes/palebush,/turf/template_noop,/area/submap/PooledR) +"h" = (/obj/structure/table/woodentable,/obj/item/weapon/gun/energy/retro,/turf/template_noop,/area/submap/PooledR) +"i" = (/obj/structure/flora/ausbushes/reedbush,/turf/template_noop,/area/submap/PooledR) +"j" = (/turf/simulated/floor/outdoors/rocks,/area/submap/PooledR) +"k" = (/obj/structure/flora/ausbushes,/turf/template_noop,/area/submap/PooledR) +"l" = (/turf/simulated/floor/water,/area/submap/PooledR) +"m" = (/obj/structure/flora/ausbushes/grassybush,/turf/template_noop,/area/submap/PooledR) +"n" = (/mob/living/simple_animal/fish/trout,/turf/simulated/floor/water,/area/submap/PooledR) +"o" = (/mob/living/simple_animal/fish/salmon,/turf/simulated/floor/water,/area/submap/PooledR) +"p" = (/turf/simulated/floor/water/deep,/area/submap/PooledR) +"q" = (/mob/living/simple_animal/fish/bass,/turf/simulated/floor/water/deep,/area/submap/PooledR) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +abbbbbbbbbbbbbbbbbbbbbbbbbbbcccbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbccccbba +abbbbbbbbbbbbbbbbbbbbbbbbbcccccccba +abbbbbbbbbbbbbbbbbbbbdbbbbcccccccba +abbbbbbbbbbbdbbbbbbbbbbbbbcccccccba +abbbbbbbbbbbbbbbbbbbbbdbbccccccccba +abbbbbbbbbbbbbbbbbbbbbbbbccccccccba +abbbbbbbbbbbbbbbbbbbbbbbbccccccccba +abbbbbbbbbbbbbbbbbbbbbbbbccccccccba +abbbbbbbbbbbbbbbbbbbbbbbbcccccccbba +abbdbbbbbbbbbbbbbbbbbbbbbeccccccbba +abbbbbbbdbbbbbbbbbbbbbbbbfcccccbbba +abbbbbbbbbbbbbbbbbbbbgbbbhcccccbbba +abccbbbbbbbbbbbbbbbbbbibccccccbbbba +abcccbbbgbbbbbbibbjjjjjjccccccbbbba +abcccbbbbbbkbbbjjjjlllllccccccbbbba +acccccbbbbbbbjjjjllllllllcccccbbbba +acccccbmbbbjjjllllllllllllccccbbbba +acccccbbbijjjllllllllnlllccccccbbba +abccccbbjjjllllllllllllllccccccbbba +abcccccjjlllllolllllpppppccccccbbba +abccccccjlllllllllppppppcccccccbbba +abcccccccccllllppppqppppccccccccbba +abccccccccccclpppppppppcccccccccbba +abccccccccccccpppppppppcccccccccbba +abcccccccccccccpppppppccccccccccbba +abbccccccccccccccccppccccccccccbbba +abbcccccccccccccccccccccccccccccbba +abbbcccccccccccccccccccccccccccbbba +abbbbcccccccccccccccccccccccccbbbba +abbbbbbbbccccccccccccccccccccbbbbba +abbbbbbbbbbbbbcccccccccccbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Rocky2.dmm b/maps/submaps/surface_submaps/plains/Rocky2.dmm new file mode 100644 index 0000000000..eaa06c481a --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Rocky2.dmm @@ -0,0 +1,40 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Rocky2) +"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Rocky2) +"d" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/Rocky2) +"e" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Rocky2) +"f" = (/obj/structure/flora/tree/pine,/turf/template_noop,/area/submap/Rocky2) +"g" = (/obj/structure/flora/ausbushes/grassybush,/turf/template_noop,/area/submap/Rocky2) +"h" = (/obj/structure/flora/ausbushes/fullgrass,/turf/template_noop,/area/submap/Rocky2) +"i" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/template_noop,/area/submap/Rocky2) +"j" = (/obj/structure/flora/ausbushes/sunnybush,/turf/template_noop,/area/submap/Rocky2) +"k" = (/obj/structure/flora/ausbushes/stalkybush,/turf/template_noop,/area/submap/Rocky2) +"l" = (/obj/structure/flora/tree/dead,/turf/template_noop,/area/submap/Rocky2) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaa +abbbbbbbbbbbbbbbbbccbbbba +abbbbbbbcccccccccbcccbbda +abbbbbbccccccccbbbccccbba +abbbeecccccccccbbcccccbba +afbbecccccccbccbcccccccba +abbbecccccccgbbbcccccccba +abbbbccccccbbbbbcccccceba +abbbbcccccbhbfbbbcccceeea +abbbbbbcccbbbbbbicccceeea +abbbbbbcccbdbbhbbcccceeea +abdbbbccccbbbbbbbbccceeea +abbbbccccbbhbbbbbbcceeeea +abbbccccccfbbbdbbbcccceea +abbeccccccbbbbbbficccceea +abbeccccccbgbhbbbbccccbba +abbeecccccbbbbbbbbcccccba +abbeecccccjbdbbbhbcccccba +abbbecccccbbbbbbbccccccba +abbbeccceebbkbbbbccccccba +abbbbccceeccbbfbcccccbbba +abbbbccceeeccccccccccbbba +ablbbcccbeccccccbbbcbblba +abbbbbbbbbbbcccbbbbbbbbba +aaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Shakden.dmm b/maps/submaps/surface_submaps/plains/Shakden.dmm index 15614265ef..8720149d63 100644 --- a/maps/submaps/surface_submaps/plains/Shakden.dmm +++ b/maps/submaps/surface_submaps/plains/Shakden.dmm @@ -1,13 +1,14 @@ "a" = (/turf/template_noop,/area/template_noop) "b" = (/turf/template_noop,/area/submap/Shakden) "c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Shakden) -"d" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Shakden) -"e" = (/obj/effect/decal/remains/mouse,/turf/simulated/floor/outdoors/dirt,/area/submap/Shakden) -"f" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt,/area/submap/Shakden) -"g" = (/mob/living/simple_animal/hostile/shantak{hostile = 0},/turf/simulated/floor/outdoors/dirt,/area/submap/Shakden) -"h" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt,/area/submap/Shakden) -"i" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt,/area/submap/Shakden) -"j" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/material/knife/hook,/turf/simulated/floor/outdoors/dirt,/area/submap/Shakden) +"d" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"e" = (/obj/effect/decal/remains/mouse,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"f" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"g" = (/mob/living/simple_animal/hostile/shantak{hostile = 0},/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"h" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"i" = (/mob/living/simple_animal/hostile/shantak{hostile = 0},/turf/simulated/floor/outdoors/dirt,/area/submap/Shakden) +"j" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) +"k" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/material/knife/hook,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Shakden) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaa @@ -25,7 +26,7 @@ abcedddddddddccdddba accddgddgdddcccdddba acccdddddddcccdddbba acccddgdddfcccdddbba -accccdddgijcccddcbba +accccdddijkcccddcbba abccccddddecccddccba abccccccccccccccccba abbccccccbbbbccccbba diff --git a/maps/submaps/surface_submaps/plains/Smol3.dmm b/maps/submaps/surface_submaps/plains/Smol3.dmm new file mode 100644 index 0000000000..fce902093c --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Smol3.dmm @@ -0,0 +1,23 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Smol3) +"c" = (/turf/simulated/wall/wood,/area/submap/Smol3) +"d" = (/obj/structure/simple_door/wood,/turf/template_noop,/area/submap/Smol3) +"e" = (/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) +"f" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) +"g" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/reagent_containers/food/snacks/chips,/obj/item/weapon/reagent_containers/food/snacks/chips,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle,/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) +"h" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{desc = "Lamen's Hunter Shack! Selling freshly hunted meat for six thalers a slab. Support Locale hunters! Also selling Getmore Products for 3 thalers a bag, or 2 thalers for a bottle of water. Please place all payments into the nearbye bag."},/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) +"i" = (/obj/structure/table/woodentable,/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) +"j" = (/obj/structure/table/woodentable,/obj/item/weapon/moneybag,/turf/simulated/floor/outdoors/dirt,/area/submap/Smol3) + +(1,1,1) = {" +aaaaaaaaaaaaaaa +abbbbbbbbbbbbba +abbbccdccbbbbba +abbbceeecbbbbba +abbbcfegcbbbbba +abbbchijcbbbbba +abbeeeeeeebbbba +abeeeeeeeeeebba +abbbbbbbbbbbbba +aaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/Theifc.dmm b/maps/submaps/surface_submaps/plains/Theifc.dmm new file mode 100644 index 0000000000..d17d59ca15 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/Theifc.dmm @@ -0,0 +1,39 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Theifc) +"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Theifc) +"d" = (/obj/structure/ore_box,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"e" = (/obj/structure/closet/crate,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/obj/item/weapon/extinguisher,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"f" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"g" = (/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/obj/item/weapon/ore/coal,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"h" = (/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"i" = (/obj/structure/closet/crate,/obj/item/weapon/lipstick,/obj/item/weapon/lipstick/black,/obj/item/weapon/lipstick/random,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"j" = (/obj/structure/table/steel,/obj/item/weapon/beartrap,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"k" = (/obj/vehicle/train/cargo/trolley,/obj/random/firstaid,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"l" = (/obj/structure/closet/crate,/obj/item/weapon/folder/blue,/obj/item/weapon/folder/red,/obj/item/weapon/folder/white,/obj/item/weapon/folder/yellow,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"m" = (/obj/structure/table/steel,/obj/item/weapon/paper{desc = "This is some bullshit. First chance we got to knick something that looks half decent turns out to be mostly junk. And now we're getting calls that the other stash we've got has got a spider problem. Fuck this, Between the shitty weather, The pissed of bugs, And now apparently some NT goon running around in the area there's hardly enough reason to stick around. I'm telling Carl I'm out tommorow."; name = "Note"},/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"n" = (/obj/vehicle/train/cargo/trolley,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"o" = (/obj/structure/closet/crate,/obj/item/weapon/cell/device/weapon,/obj/item/weapon/cell/device/weapon,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) +"p" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/shotgunammo,/obj/item/weapon/storage/box/practiceshells,/turf/simulated/floor/outdoors/dirt{outdoors = 0},/area/submap/Theifc) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaa +abcbbbbbcccccccbbbbbbbbba +abccccccccdecccccbbbbbbba +accccccccfghcchcccbbbbbba +accccccchhhhihhccccbbbbba +abcccccjhhkhhhlccccbbbbba +abbccccmhhnhhhocccccbbbba +abbbbbcchhhhhhpccccccbbba +abbbbcccchhhhchccccccbbba +abbbcccccchhcccccccccbbba +abbbbccchhhhccccccccbbbba +abbbbbhhhhhcccccccccbbbba +abbbbbhhhccccccccccbbbbba +abbbccccccccccccccbbbbbba +abbbbbcccccccccccbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +aaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/plains.dm b/maps/submaps/surface_submaps/plains/plains.dm index 3ec4b24c52..563e41b717 100644 --- a/maps/submaps/surface_submaps/plains/plains.dm +++ b/maps/submaps/surface_submaps/plains/plains.dm @@ -12,8 +12,22 @@ #include "bonfire.dmm" #include "Rocky5.dmm" #include "Field1.dmm" +#include "Theifc.dmm" +#include "smol2.dmm" +#include "Mechpt.dmm" +#include "Boathouse.dmm" +#include "PooledR.dmm" +#include "Smol3.dmm" +#include "Diner.dmm" +#include "Snow1.dmm" +#include "Snow2.dmm" +#include "Snow3.dmm" +#include "Snow4.dmm" +#include "Snow5.dmm" + #endif + // The 'plains' is the area outside the immediate perimeter of the big outpost. // POIs here should not be dangerous, be mundane, and be somewhat conversative on the loot. Some of the loot can be useful, but it shouldn't trivialize the Wilderness. @@ -94,4 +108,76 @@ name = "Field 1" desc = "A regular field with a tug on it" mappath = 'maps/submaps/surface_submaps/plains/Field1.dmm' - cost = 20 \ No newline at end of file + cost = 20 + +/datum/map_template/surface/plains/Theifc + name = "Theif Cave" + desc = "A theives stash" + mappath = 'maps/submaps/surface_submaps/plains/Theifc.dmm' + cost = 20 + +/datum/map_template/surface/plains/smol2 + name = "Small 2" + desc = "A small formation of mishaped surgery" + mappath = 'maps/submaps/surface_submaps/plains/smol2.dmm' + cost = 10 + +/datum/map_template/surface/plains/Mechpt + name = "Mechpit" + desc = "A illmade Mech brawling ring" + mappath = 'maps/submaps/surface_submaps/plains/Mechpt.dmm' + cost = 15 + +/datum/map_template/surface/plains/Boathouse + name = "Boathouse" + desc = "A fance house on a lake." + mappath = 'maps/submaps/surface_submaps/plains/Boathouse.dmm' + cost = 30 + +/datum/map_template/surface/plains/PooledR + name = "Pooled Rocks" + desc = "An intresting rocky location" + mappath = 'maps/submaps/surface_submaps/plains/PooledR.dmm' + cost = 15 + +/datum/map_template/surface/plains/Smol3 + name = "Small 3" + desc = "A small stand" + mappath = 'maps/submaps/surface_submaps/plains/Smol3.dmm' + cost = 10 + +/datum/map_template/surface/plains/Diner + name = "Diner" + desc = "Old Timey Tasty" + mappath = 'maps/submaps/surface_submaps/plains/Diner.dmm' + cost = 25 + +/datum/map_template/surface/plains/snow1 + name = "Snow1" + desc = "Snow" + mappath = 'maps/submaps/surface_submaps/plains/snow1.dmm' + cost = 5 + +/datum/map_template/surface/plains/snow2 + name = "Snow2" + desc = "More snow" + mappath = 'maps/submaps/surface_submaps/plains/snow2.dmm' + cost = 5 + +/datum/map_template/surface/plains/snow3 + name = "Snow3" + desc = "Snow Snow Snow" + mappath = 'maps/submaps/surface_submaps/plains/snow3.dmm' + cost = 5 + +/datum/map_template/surface/plains/snow4 + name = "Snow4" + desc = "Too much snow" + mappath = 'maps/submaps/surface_submaps/plains/snow4.dmm' + cost = 5 + +/datum/map_template/surface/plains/snow5 + name = "Snow5" + desc = "Please stop the snow" + mappath = 'maps/submaps/surface_submaps/plains/snow5.dmm' + cost = 5 diff --git a/maps/submaps/surface_submaps/plains/plains_areas.dm b/maps/submaps/surface_submaps/plains/plains_areas.dm index 6ff8b085df..2e6c0f7015 100644 --- a/maps/submaps/surface_submaps/plains/plains_areas.dm +++ b/maps/submaps/surface_submaps/plains/plains_areas.dm @@ -36,3 +36,40 @@ /area/submap/Field1 name = "Field 1" + +/area/submap/Theifc + name = "Theif Cave" + +/area/submap/smol2 + name = "Small 2" + +/area/submap/Mechpt + name = "Mech Pit" + +/area/submap/Boathouse + name = "Boathouse" + +/area/submap/Smol3 + name = "Small 3" + +/area/submap/PooledR + name = "Pooled Rocks" + +/area/submap/Diner + name = "Diner" + +/area/submap/snow1 + name = "Snow1" + +/area/submap/snow2 + name = "Snow2" + +/area/submap/snow3 + name = "Snow3" + +/area/submap/snow4 + name = "Snow4" + +/area/submap/snow5 + name = "Snow5" + diff --git a/maps/submaps/surface_submaps/plains/smol2.dmm b/maps/submaps/surface_submaps/plains/smol2.dmm new file mode 100644 index 0000000000..739a000ce1 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/smol2.dmm @@ -0,0 +1,21 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/smol2) +"c" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/submap/smol2) +"d" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/smol2) +"e" = (/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/obj/item/stack/material/wood/sif,/turf/template_noop,/area/submap/smol2) +"f" = (/obj/structure/table/woodentable,/turf/template_noop,/area/submap/smol2) +"g" = (/obj/item/weapon/storage/firstaid,/obj/item/stack/medical/splint,/obj/item/weapon/reagent_containers/pill/tramadol,/turf/template_noop,/area/submap/smol2) +"h" = (/obj/effect/decal/cleanable/blood,/turf/template_noop,/area/submap/smol2) + +(1,1,1) = {" +aaaaaaaaaa +abbbcbbdda +abbbbbddda +acbbebbdda +abbbbfddba +abbbghddba +adddddddba +abddddbbba +abbbbbbbba +aaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/snow1.dmm b/maps/submaps/surface_submaps/plains/snow1.dmm new file mode 100644 index 0000000000..ec5c8ea00c --- /dev/null +++ b/maps/submaps/surface_submaps/plains/snow1.dmm @@ -0,0 +1,16 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/snow1) +"c" = (/turf/simulated/floor/outdoors/snow,/area/submap/snow1) + +(1,1,1) = {" +aaaaaaaaaa +abbbcccbba +abbcccccba +abccccccba +abccccccca +acccccccba +accccccbba +abcccccbba +abbbbbbbba +aaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/snow2.dmm b/maps/submaps/surface_submaps/plains/snow2.dmm new file mode 100644 index 0000000000..bedbb62d51 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/snow2.dmm @@ -0,0 +1,26 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/smol2) +"c" = (/turf/simulated/floor/outdoors/snow,/area/submap/smol2) + +(1,1,1) = {" +aaaaaaaaaaaaaaa +abbbbbbbbbcbbba +abbbbbbbbcccbba +abbbbbbcccccbba +abbbbbccccccbba +abbbbccccccbbba +abbbbccccccbbba +abbbbccccccbbba +abbbcccccccbbba +abbbcccccccbbba +abbbcccccccbbba +abbbccccccbbbba +abbcccccccbbbba +abbccccccbbbbba +abbcccccbbbbbba +abbccccbbbbbbba +abccccbbbbbbbba +abccbcbbbbbbbba +abbbbbbbbbbbbba +aaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/snow3.dmm b/maps/submaps/surface_submaps/plains/snow3.dmm new file mode 100644 index 0000000000..56e9a78878 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/snow3.dmm @@ -0,0 +1,16 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/snow3) +"c" = (/turf/simulated/floor/outdoors/snow,/area/submap/snow3) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaa +abbbbccccccbbbbbbbba +abbcccccccccccccbbba +abccccccccccccccccca +abccccccccccccccccca +abccccccccccccccccba +abccccccccccccccbbba +abbbcccccccccccbbbba +abbbbbbbcccbbbbbbbba +aaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/snow4.dmm b/maps/submaps/surface_submaps/plains/snow4.dmm new file mode 100644 index 0000000000..4d766fcf82 --- /dev/null +++ b/maps/submaps/surface_submaps/plains/snow4.dmm @@ -0,0 +1,16 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/snow4) +"c" = (/turf/simulated/floor/outdoors/snow,/area/submap/snow4) + +(1,1,1) = {" +aaaaaaaaaa +abbcbbbbba +abcccbcbba +abccccccba +abbccccbba +abcccccbba +acccccccba +acccbcccba +abcbbbccba +aaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/plains/snow5.dmm b/maps/submaps/surface_submaps/plains/snow5.dmm new file mode 100644 index 0000000000..d14b78e01e --- /dev/null +++ b/maps/submaps/surface_submaps/plains/snow5.dmm @@ -0,0 +1,22 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/snow5) +"c" = (/turf/simulated/floor/outdoors/snow,/area/submap/snow5) + +(1,1,1) = {" +aaaaaaaaaaaa +abbcccccbbba +abcccccccbba +abcccccccbba +abbcccccccba +abbcccccccba +abbbcccccbba +abbbccccccba +abbbbcccccba +abbbbcccccba +abbbbccccbba +abbbcccccbba +abbbccccbbba +abbbcccbbbba +abbcccbbbbba +aaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/wilderness/Drugden.dmm b/maps/submaps/surface_submaps/wilderness/Drugden.dmm new file mode 100644 index 0000000000..2d73991959 --- /dev/null +++ b/maps/submaps/surface_submaps/wilderness/Drugden.dmm @@ -0,0 +1,74 @@ +"a" = (/turf/template_noop,/area/template_noop) +"b" = (/turf/template_noop,/area/submap/Drugd) +"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Drugd) +"d" = (/turf/simulated/wall,/area/submap/Drugd) +"e" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/submap/Drugd) +"f" = (/turf/simulated/floor/tiled,/area/submap/Drugd) +"g" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Drugd) +"h" = (/obj/random/trash,/turf/simulated/floor,/area/submap/Drugd) +"i" = (/obj/structure/closet/cabinet,/obj/item/weapon/lipstick/random,/turf/simulated/floor/carpet,/area/submap/Drugd) +"j" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/curtain/open/bed,/turf/simulated/floor/carpet,/area/submap/Drugd) +"k" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/pill/happy,/turf/simulated/floor/carpet,/area/submap/Drugd) +"l" = (/turf/simulated/floor,/area/submap/Drugd) +"m" = (/obj/structure/curtain/black,/turf/simulated/floor,/area/submap/Drugd) +"n" = (/obj/random/trash,/turf/simulated/floor/carpet,/area/submap/Drugd) +"o" = (/turf/simulated/floor/carpet,/area/submap/Drugd) +"p" = (/mob/living/simple_animal/mouse,/turf/simulated/floor,/area/submap/Drugd) +"q" = (/obj/structure/closet/cabinet,/turf/simulated/floor/carpet,/area/submap/Drugd) +"r" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/pill/methylphenidate,/turf/simulated/floor/carpet,/area/submap/Drugd) +"s" = (/obj/structure/bed/chair/comfy/beige{tag = "icon-armchair_preview (NORTH)"; icon_state = "armchair_preview"; dir = 1},/turf/simulated/floor/carpet,/area/submap/Drugd) +"t" = (/obj/item/weapon/reagent_containers/pill/citalopram,/turf/simulated/floor/carpet,/area/submap/Drugd) +"u" = (/obj/random/junk,/turf/simulated/floor,/area/submap/Drugd) +"v" = (/obj/structure/closet/cabinet,/obj/item/weapon/contraband/poster,/turf/simulated/floor/carpet,/area/submap/Drugd) +"w" = (/obj/structure/bed/chair/comfy/beige,/turf/simulated/floor/carpet,/area/submap/Drugd) +"x" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/obj/item/weapon/reagent_containers/syringe/drugs,/turf/simulated/floor/carpet,/area/submap/Drugd) +"y" = (/obj/structure/bed/chair/comfy/beige,/obj/item/weapon/reagent_containers/pill/citalopram,/turf/simulated/floor/carpet,/area/submap/Drugd) +"z" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor,/area/submap/Drugd) +"A" = (/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/turf/simulated/floor/carpet,/area/submap/Drugd) +"B" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Drugd) +"C" = (/obj/structure/table/standard,/obj/item/stack/medical/splint,/turf/simulated/floor/tiled,/area/submap/Drugd) +"D" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/turf/simulated/floor/tiled,/area/submap/Drugd) +"E" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/pill/tramadol,/obj/item/weapon/reagent_containers/pill/tramadol,/turf/simulated/floor/tiled,/area/submap/Drugd) +"F" = (/obj/structure/closet/cabinet,/obj/item/clothing/accessory/jacket,/obj/item/weapon/material/butterfly/switchblade,/turf/simulated/floor/carpet,/area/submap/Drugd) +"G" = (/obj/item/weapon/reagent_containers/pill/zoom,/obj/random/trash,/turf/simulated/floor/carpet,/area/submap/Drugd) +"H" = (/obj/item/weapon/reagent_containers/pill/zoom,/turf/simulated/floor/carpet,/area/submap/Drugd) +"I" = (/obj/structure/loot_pile/maint/boxfort,/turf/simulated/floor/carpet,/area/submap/Drugd) +"J" = (/obj/structure/table/standard,/obj/item/weapon/surgical/scalpel,/turf/simulated/floor/tiled,/area/submap/Drugd) +"K" = (/obj/item/wheelchair,/turf/simulated/floor/tiled,/area/submap/Drugd) +"L" = (/obj/structure/table/standard,/obj/random/firstaid,/turf/simulated/floor,/area/submap/Drugd) +"M" = (/obj/structure/loot_pile/maint/junk,/turf/simulated/floor/tiled,/area/submap/Drugd) +"N" = (/obj/effect/floor_decal/rust,/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Drugd) +"O" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/pill/tramadol,/turf/simulated/floor/carpet,/area/submap/Drugd) +"P" = (/mob/living/simple_animal/hostile/hivebot/range/guard,/turf/simulated/floor,/area/submap/Drugd) +"Q" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/Drugd) +"R" = (/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Drugd) +"S" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/carpet,/area/submap/Drugd) +"T" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/submap/Drugd) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaa +abbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +abbbbbbbbbbbbbbbbbbbbbbba +abbcccccbbbbbbbbbbbbbbbba +abbccccccbbbbbbbbccccbbba +abcccccccccbbbbbccccccbba +abcccccccccddeddcccccccba +abcccccccccdfffddddddccba +abcccccccccdgghdijkjdccca +abcccccccccdgllmnooodccca +abcccccccccdplldqrstdccca +abcccccccccdulhddddddccca +abcccccccccdllldvwxydccba +acccccddddddzlgmoooAdccba +acccccdBCDEdllfdFGHIdccba +acccccdJKgLdlfMddddddccba +abccccdNllLdhlgdqOwwdccca +abbcccdlPllelllmoooodccca +abbcccdQlRldllhdqSTndccca +abbcccddddddludddddddccca +abbccccccccccccccccccccba +abbbcccccccccccccccccccba +abbbbcccccbbbbbccccbccbba +aaaaaaaaaaaaaaaaaaaaaaaaa +"} diff --git a/maps/submaps/surface_submaps/wilderness/Rockybase.dmm b/maps/submaps/surface_submaps/wilderness/Rockybase.dmm index efda8c92a0..b42bbb2ad1 100644 --- a/maps/submaps/surface_submaps/wilderness/Rockybase.dmm +++ b/maps/submaps/surface_submaps/wilderness/Rockybase.dmm @@ -9,151 +9,165 @@ "ai" = (/obj/machinery/porta_turret/stationary,/turf/simulated/floor,/area/submap/Rockybase) "aj" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/submap/Rockybase) "ak" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/template_noop) -"al" = (/obj/machinery/light,/turf/simulated/floor,/area/submap/Rockybase) -"am" = (/turf/simulated/wall/r_wall,/area/submap/Rockybase) -"an" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/submap/Rockybase) -"ao" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ap" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"aq" = (/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"ar" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/item/weapon/soap,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"as" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"at" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"au" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"av" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aw" = (/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"ax" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"ay" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"az" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"aA" = (/obj/structure/closet/l3closet/janitor,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aB" = (/mob/living/bot/cleanbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aC" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aD" = (/obj/item/weapon/storage/belt/janitor,/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aE" = (/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aF" = (/obj/structure/table/standard,/obj/item/device/laptop,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aG" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aH" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/pistol,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aI" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/taser,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aJ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aK" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aL" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aM" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aN" = (/obj/structure/closet/crate/hydroponics,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aO" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"aP" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"aQ" = (/obj/structure/janitorialcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aR" = (/obj/structure/table/standard,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aS" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aT" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aU" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aV" = (/obj/machinery/vending/security,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aW" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aX" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"aY" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"aZ" = (/obj/item/mecha_parts/part/gygax_left_leg,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"ba" = (/obj/machinery/light,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"bb" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/weapon/gun/projectile/pistol,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) -"bc" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bd" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"be" = (/obj/structure/table/standard,/obj/item/weapon/storage/bag/trash,/obj/item/weapon/storage/bag/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bf" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bg" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bh" = (/obj/machinery/door/airlock/security{icon_state = "door_locked"; locked = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bi" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bj" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bk" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bl" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bm" = (/mob/living/bot/farmbot{faction = "malf_drone"; name = "Mr. Weddleton"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bn" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bo" = (/obj/machinery/vending/cola,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bp" = (/obj/structure/door_assembly,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bq" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"br" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bs" = (/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bt" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bu" = (/obj/effect/decal/remains,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bv" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bw" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bx" = (/obj/item/stack/rods,/obj/structure/girder,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"by" = (/obj/item/mecha_parts/part/gygax_right_arm,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bz" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bA" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bB" = (/turf/simulated/wall,/area/submap/Rockybase) -"bC" = (/obj/structure/table/standard,/obj/item/device/kit/paint/gygax/darkgygax,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bD" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "I've decided to go forward and start some small scale tests of the Vicerator delivery grenades, Might as wall make sure they work like the real ones. There are a few Fauna areas nearbye and we're working to make sure the kinks in the code are worked out. Once we've made sure they stay flying we'll work on the IFF signals."; name = "V-Grenade Notice 2"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bE" = (/obj/structure/table/standard,/obj/random/toolbox,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bF" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bG" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "We've finally been able to get the Vicerator delivery grenades working, Took awhile to make sure the latching mechanism didn't fail but we're sure we've got it this time. Vel'Shem's worried about the miners having there own drone fab now but I say it's a small price to pay to keep the metal flowing, Especially since there telling us NT's starting to monopolize the metal rich parts."; name = "V-Grenade Notice 1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bH" = (/obj/structure/table/standard,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bI" = (/obj/structure/table/standard,/obj/item/weapon/grenade/spawnergrenade/manhacks,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bJ" = (/obj/structure/table/standard,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bK" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/obj/item/weapon/circuitboard/mecha/gygax/main,/obj/item/weapon/circuitboard/mecha/gygax/peripherals,/obj/item/weapon/circuitboard/mecha/gygax/targeting,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bL" = (/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) -"bM" = (/obj/structure/table/standard,/obj/fiftyspawner/rods,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bN" = (/obj/machinery/vending/engivend,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bO" = (/obj/machinery/vending/tool,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bP" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bQ" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bR" = (/obj/item/mecha_parts/part/gygax_torso,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bS" = (/obj/machinery/light{dir = 1},/obj/structure/closet/crate/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bT" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bU" = (/obj/structure/table/standard,/obj/item/clothing/mask/breath/medical,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bV" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bW" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bX" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"bY" = (/obj/structure/table/standard,/obj/item/device/mmi/digital/robot,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"bZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ca" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cb" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor,/area/submap/Rockybase) -"cc" = (/obj/item/stack/rods,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cd" = (/obj/effect/decal/cleanable/dirt,/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase) -"ce" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) -"cf" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table,/turf/simulated/floor,/area/submap/Rockybase) -"cg" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase) -"ch" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ci" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"cj" = (/obj/machinery/drone_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ck" = (/obj/machinery/mecha_part_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cl" = (/obj/machinery/pros_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cm" = (/obj/structure/table/standard,/obj/item/mecha_parts/mecha_equipment/repair_droid,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cn" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"co" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cp" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cq" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/submap/Rockybase) -"cr" = (/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cs" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"ct" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) -"cu" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) -"cv" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) -"cw" = (/obj/item/mecha_parts/part/gygax_armour,/turf/simulated/floor,/area/submap/Rockybase) -"cx" = (/obj/item/mecha_parts/chassis/gygax,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cy" = (/mob/living/simple_animal/hostile/mecha/malf_drone{name = "Autonomous Mechanized Drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cz" = (/obj/machinery/vending/robotics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cA" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cB" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cC" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cD" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cE" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/submap/Rockybase) -"cF" = (/obj/item/mecha_parts/part/gygax_right_leg,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cG" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/item/mecha_parts/part/gygax_left_arm,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) -"cH" = (/obj/machinery/vending,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cJ" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green,/turf/simulated/floor,/area/submap/Rockybase) -"cK" = (/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cL" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cM" = (/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cN" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cO" = (/obj/structure/table/standard,/obj/item/stack/material/plasteel,/obj/item/stack/material/glass/reinforced,/obj/item/stack/material/phoron{amount = 25},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cP" = (/obj/structure/table/standard,/obj/item/stack/material/glass,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cQ" = (/obj/structure/table/standard,/obj/item/mecha_parts/part/gygax_head,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cR" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cS" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cT" = (/obj/item/weapon/surgical/surgicaldrill,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cU" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cV" = (/obj/item/clothing/suit/space/void/medical,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cW" = (/obj/effect/decal/cleanable/dirt,/mob/living/bot/medbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cX" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cY" = (/obj/structure/closet/crate/secure/hydrosec,/turf/simulated/floor/tiled,/area/submap/Rockybase) -"cZ" = (/obj/effect/decal/remains,/turf/template_noop,/area/template_noop) +"al" = (/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase) +"am" = (/obj/machinery/light,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase) +"an" = (/obj/effect/decal/cleanable/blood,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase) +"ao" = (/turf/simulated/wall/r_wall,/area/submap/Rockybase) +"ap" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/submap/Rockybase) +"aq" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ar" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"as" = (/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"at" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/item/weapon/soap,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"au" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"av" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aw" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"ax" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"ay" = (/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"az" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aA" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aB" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/toy/plushie/spider,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"aC" = (/obj/structure/closet/l3closet/janitor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aD" = (/mob/living/bot/cleanbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aE" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aF" = (/obj/item/weapon/storage/belt/janitor,/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aG" = (/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aH" = (/obj/structure/table/standard,/obj/item/device/laptop,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aI" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aJ" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/pistol,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aK" = (/obj/structure/table/rack,/obj/item/weapon/gun/energy/gun/taser,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aL" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aM" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aN" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/obj/item/weapon/gun/projectile/shotgun/pump/combat,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aO" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aP" = (/obj/structure/closet/crate/hydroponics,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aQ" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"aR" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"aS" = (/obj/structure/janitorialcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aT" = (/obj/structure/table/standard,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aU" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aV" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "Carl's absolutly fucked in the head. He's trying to squeeze as much drone production out as he can since he's worried we're gonna get found out but he's getting sloppier with each batch. Now's he's telling us he can speed the time on the IFF encoding. I already have a hard enough time getting these damn things not to stare at walls and now he's gonna shortchange the only part of these tincans that tells em not to turn us into paste on a wall. I told Richter to get out while he can, We're counting days before either some Sif task force shows up at our door or these things decide we aren't there friends anymore."; name = "Note"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aW" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aX" = (/obj/machinery/vending/security,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aY" = (/obj/structure/table/rack,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/weapon/storage/box/shotgunshells,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/obj/item/ammo_magazine/m10mm,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"aZ" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ba" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"bb" = (/obj/item/mecha_parts/part/gygax_left_leg,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"bc" = (/obj/machinery/light,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"bd" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/item/weapon/gun/projectile/pistol,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase) +"be" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bf" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bg" = (/obj/structure/table/standard,/obj/item/weapon/storage/bag/trash,/obj/item/weapon/storage/bag/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bh" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bi" = (/obj/machinery/light,/obj/structure/table/standard,/obj/item/weapon/pen,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bj" = (/obj/machinery/door/airlock/security{icon_state = "door_locked"; locked = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bk" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bl" = (/obj/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bm" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bn" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bo" = (/mob/living/bot/farmbot{faction = "malf_drone"; name = "Mr. Weddleton"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bp" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bq" = (/obj/machinery/vending/cola,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"br" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bs" = (/obj/machinery/light{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bt" = (/obj/structure/door_assembly,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bu" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bv" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb2,/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bw" = (/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bx" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"by" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bz" = (/obj/effect/decal/remains,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bA" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"bB" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bC" = (/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bD" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bE" = (/obj/item/stack/rods,/obj/structure/girder,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bF" = (/obj/effect/decal/remains,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bG" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bH" = (/obj/effect/decal/cleanable/blood,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bI" = (/obj/item/mecha_parts/part/gygax_right_arm,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bJ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"bK" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bL" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bM" = (/turf/simulated/wall,/area/submap/Rockybase) +"bN" = (/obj/structure/table/standard,/obj/item/device/kit/paint/gygax/darkgygax,/obj/item/borg/upgrade/syndicate,/obj/item/borg/upgrade/vtec,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bO" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "I've decided to go forward and start some small scale tests of the Vicerator delivery grenades, Might as wall make sure they work like the real ones. There are a few Fauna areas nearbye and we're working to make sure the kinks in the code are worked out. Once we've made sure they stay flying we'll work on the IFF signals."; name = "V-Grenade Notice 2"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bP" = (/obj/structure/table/standard,/obj/random/toolbox,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bQ" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bR" = (/obj/structure/table/standard,/obj/item/weapon/paper{info = "We've finally been able to get the Vicerator delivery grenades working, Took awhile to make sure the latching mechanism didn't fail but we're sure we've got it this time. Vel'Shem's worried about the miners having there own drone fab now but I say it's a small price to pay to keep the metal flowing, Especially since there telling us NT's starting to monopolize the metal rich parts."; name = "V-Grenade Notice 1"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bS" = (/obj/structure/table/standard,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/obj/item/stack/material/diamond,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bT" = (/obj/structure/table/standard,/obj/item/weapon/grenade/spawnergrenade/manhacks,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bU" = (/obj/structure/table/standard,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bV" = (/obj/structure/table/standard,/obj/machinery/light{dir = 1},/obj/item/weapon/circuitboard/mecha/gygax/main,/obj/item/weapon/circuitboard/mecha/gygax/peripherals,/obj/item/weapon/circuitboard/mecha/gygax/targeting,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bW" = (/obj/structure/door_assembly,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bX" = (/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) +"bY" = (/obj/structure/table/standard,/obj/fiftyspawner/rods,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"bZ" = (/obj/machinery/vending/engivend,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ca" = (/obj/machinery/vending/tool,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cb" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cc" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cd" = (/obj/item/mecha_parts/part/gygax_torso,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ce" = (/obj/machinery/light{dir = 1},/obj/structure/closet/crate/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cf" = (/obj/structure/table/standard,/obj/structure/table/standard,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cg" = (/obj/structure/table/standard,/obj/item/clothing/mask/breath/medical,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ch" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"ci" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"cj" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"ck" = (/obj/structure/table/standard,/obj/item/device/mmi/digital/robot,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cl" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cn" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor,/area/submap/Rockybase) +"co" = (/obj/structure/door_assembly,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cp" = (/obj/item/stack/rods,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cq" = (/obj/effect/decal/cleanable/dirt,/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase) +"cr" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) +"cs" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table,/turf/simulated/floor,/area/submap/Rockybase) +"ct" = (/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase) +"cu" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cv" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"cw" = (/obj/machinery/drone_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cx" = (/obj/machinery/mecha_part_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cy" = (/obj/machinery/pros_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cz" = (/obj/structure/table/standard,/obj/item/mecha_parts/mecha_equipment/repair_droid,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cA" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cB" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cC" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cD" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor,/area/submap/Rockybase) +"cE" = (/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cF" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cG" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) +"cH" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase) +"cI" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase) +"cJ" = (/obj/item/mecha_parts/part/gygax_armour,/turf/simulated/floor,/area/submap/Rockybase) +"cK" = (/obj/item/mecha_parts/chassis/gygax,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cL" = (/mob/living/simple_animal/hostile/mecha/malf_drone{name = "Autonomous Mechanized Drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cM" = (/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cN" = (/obj/machinery/vending/robotics,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cO" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "Unknown APC"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cP" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cQ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cR" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cS" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood,/turf/simulated/floor,/area/submap/Rockybase) +"cT" = (/obj/item/mecha_parts/part/gygax_right_leg,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cU" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/item/mecha_parts/part/gygax_left_arm,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase) +"cV" = (/obj/machinery/vending,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cW" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cX" = (/obj/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green,/turf/simulated/floor,/area/submap/Rockybase) +"cY" = (/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"cZ" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/mob/living/simple_animal/hostile/malf_drone/lesser,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"da" = (/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"db" = (/obj/machinery/mech_recharger,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dc" = (/obj/structure/table/standard,/obj/item/stack/material/plasteel,/obj/item/stack/material/glass/reinforced,/obj/item/stack/material/phoron{amount = 25},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dd" = (/obj/structure/table/standard,/obj/item/stack/material/glass,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"de" = (/obj/structure/table/standard,/obj/item/mecha_parts/part/gygax_head,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"df" = (/obj/structure/closet/toolcloset,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dg" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dh" = (/obj/item/weapon/surgical/surgicaldrill,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"di" = (/obj/structure/loot_pile/maint/technical,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dj" = (/obj/item/clothing/suit/space/void/medical,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dk" = (/obj/effect/decal/cleanable/dirt,/mob/living/bot/medbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dl" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dm" = (/obj/structure/closet/crate/secure/hydrosec,/turf/simulated/floor/tiled,/area/submap/Rockybase) +"dn" = (/obj/effect/decal/remains,/turf/template_noop,/area/template_noop) (1,1,1) = {" aaabababababababababababababababababababaaababababababababababababababababababababababababababababaa @@ -164,26 +178,26 @@ abadadadadadadadadadadadadadadadaeadadadadadadadadadadadadadadadadadadadadadadad abadadafafafafafadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaeadadadadadadadadadadab abadadafafafafafafagadadadafafafafafadadadadadadadadahahahahahahadadadadadadadadadafafafagadadadadab abadafafafafafafafafafafafafafafafafafadadadadadaiahahajahahahahahaiadadadadadafafafafafafafafafadab -akadafafafafafafafafafafafafafafafafafafafafafahahalahahahahahajalahahafafafafafafafafafafafafafadab -abadafafamamamamamamamamamamamamamamamamamamamamamamamanaoaoanamamamamamamamamamamamamamafafafafadab -abadafamamapaqaramasatauavawawataxayaxatazamamaAaBaCaDamaEaEamaFaGaHaIaJaKamaEaLamaMaNamamafafafadab -abafafamamaOaqaPamawawawawawawawawawawawawamamaQaEaEaRamaSaEamaTaUaEaEaEaVamaEaWamaEaXamamafafafadab -abafafamamaOaqaYamawaZawawbaawatbbataxataxamambcaEbdbeamaEaEambfbgaEaEaEaEbhbibjamaEbkamamafafafadab -abafafamamaqaqaqamamamblamamamamamamamamamamamamblamamamaoaoamamamamamblamamamamambmbnamamafafafadab -abafafamamamblamamboaEaEaEaEaJaEaEaEaEbpaEaJaEaEaEaEaEaEaEaEaEaEaJaEaEaEaEbqbqbramaEbkamamafafafadab -abafafamamaSaEaEaEaEaEaEbsbqbqaEbtbuaEaEaEaEaEaEaEaEaEaEbqaEaEaEaEaEaEaEaEbsbqbqblaEbkamamafafafadab -abadafamamambvamambwaEaEbqbqbqaEaEaEbxaEahbubiaEbtaEbqbqbqaEaEaEaEaEbiaEaEaEaEbyamaEbnamamafafafadab -abadafamambzaqaqamamamamamamamamamamamahahamamamambAamamamamaEamamamamamamamamamamaEbkamamafafafadab -abadafamambBbBaqambCbDbEbFbGbHbIbJbKbpahbLbMambNbOaEbPbQambRaEaEbSbTbUbqaEaEaEbVamaEbkamamafafafadab -abadafamambWbvbXamaEaEaEaEaEaEaEaEaEaEaEahbYamaEaEbZcacbambpaEbqbqcccdcecfcgaEchamaEbnamamafafafaeab -abadafamambBbBciamaEcjaEaEcjaEaEckaEclaEahcmamcnbqcocpcqamcraEbqcsctcucvctcwahaEamaEbkamamafafadadab -abadafamambWbvaqamcnaEaEcxaEcyaEbqbqaEaEaEczamcAcBcCcBcDamaEaEbqcEcvcvctcfahbLaEamaEcFamamafafadadab -abadafamambBbBcGamaEcjaEaEahahbqbqbqbqaEaEcHamaEaEcIcpcJamcKaEaEcLctcecececeahbqamaEcMamamafagadadab -abadafamambWbvaqamaEaEaEaEaEaEbicNaEcNaEaEbOamcOcPcQaEcRamcSaEcTaEaEcUcgcUcVbqcWamcXcYamamafafadadab -abadafafamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamafafadadadab +akadafafafafafafafafafafafafafafafafafafafafafalalamalalalalalanamalalafafafafafafafafafafafafafadab +abadafafaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapaqaqapaoaoaoaoaoaoaoaoaoaoaoaoaoafafafafadab +abadafaoaoarasataoauavawaxayayavazaAazavaBaoaoaCaDaEaFaoaGaGaoaHaIaJaKaLaMaoaGaNaoaOaPaoaoafafafadab +abafafaoaoaQasaRaoayayayayayayayayayayayayaoaoaSaGaGaTaoaUaGaoaVaWaGaGaGaXaoaGaYaoaGaZaoaoafafafadab +abafafaoaoaQasbaaoaybbayaybcayavbdavazavazaoaobeaGbfbgaoaGaGaobhbiaGaGaGaGbjbkblaoaGbmaoaoafafafadab +abafafaoaoasasasaoaoaobnaoaoaoaoaoaoaoaoaoaoaoaobnaoaoaoaqaqaoaoaoaoaobnaoaoaoaoaobobpaoaoafafafadab +abafafaoaoaobnaoaobqbrbrbrbrbsbrbrbrbrbtbrbsbrbrbrbrbrbrbrbrbrbrbsbrbrbrbrbububvaoaGbmaoaoafafafadab +abafafaoaoaUaGaGaGaGaGaGbwbxbxaGbybzaGaGaGaGaGaGaGaGaGaGbxaGaGaGaGaGaGaGaGbwbxbxbnaGbmaoaoafafafadab +abadafaoaoaobAaoaobBbCbCbDbDbDbCbCbCbEaGahbFbGbCbHbCbDbDbDbCbCbCbCbCbGbCbCbCbCbIaoaGbpaoaoafafafadab +abadafaoaobJasasaoaoaoaoaoaoaoaoaoaoaoahahaoaoaoaobKaoaoaoaobLaoaoaoaoaoaoaoaoaoaoaGbmaoaoafafafadab +abadafaoaobMbMasaobNbObPbQbRbSbTbUbVbWahbXbYaobZcaaGcbccaocdbLaGcecfcgbxaGaGaGchaoaGbmaoaoafafafadab +abadafaoaocibAcjaoaGaGaGaGaGaGaGaGaGbLbLahckaoaGaGclcmcnaocoaGbxbxcpcqcrcsctaGcuaoaGbpaoaoafafafaeab +abadafaoaobMbMcvaoaGcwaGaGcwaGaGcxaGcybLahczaocAbxcBcCcDaocEaGbxcFcGcHcIcGcJahaGaoaGbmaoaoafafadadab +abadafaoaocibAasaocAaGaGcKaGcLaGcMbxcMbLbLcNaocOcPcQcPcRaoaGaGbxcScIcIcGcsahbXaGaoaGcTaoaoafafadadab +abadafaoaobMbMcUaoaGcwaGaGahahbxbxbxbxaGaGcVaoaGaGcWcCcXaocYaGaGcZcGcrcrcrcrahbxaoaGdaaoaoafagadadab +abadafaoaocibAasaoaGaGaGaGaGaGbkdbaGdbaGaGcaaodcdddeaGdfaodgaGdhaGaGdictdidjbxdkaodldmaoaoafafadadab +abadafafaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoafafadadadab abadafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafadadadab abadafafafafafafafafafafafafafafafafafafafafafafafafafafafafafadafafafadadadafafafafafafafadadadadab abadadafafafafafafafafafafafafagadadadafafafafafafadadadadadadadadadadadadadadadadadadadadadadadadab abadaeadadadadadadafafafafafadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadab -aaabcZababababababababababababababababababaaababababababababababababababababakababababababcZabakabab +aaabdnababababababababababababababababababaaababababababababababababababababakababababababdnabakabab "} diff --git a/maps/submaps/surface_submaps/wilderness/wilderness.dm b/maps/submaps/surface_submaps/wilderness/wilderness.dm index 1a18123b05..dc62645edb 100644 --- a/maps/submaps/surface_submaps/wilderness/wilderness.dm +++ b/maps/submaps/surface_submaps/wilderness/wilderness.dm @@ -23,6 +23,7 @@ #include "DecoupledEngine.dmm" #include "DoomP.dmm" #include "CaveS.dmm" +#include "Drugden.dmm" #endif @@ -178,4 +179,10 @@ name = "CaveS" desc = "Chitter chitter!" mappath = 'maps/submaps/surface_submaps/wilderness/CaveS.dmm' + cost = 20 + +/datum/map_template/surface/wilderness/normal/Drugden + name = "Drugden" + desc = "The remains of ill thought out whims." + mappath = 'maps/submaps/surface_submaps/wilderness/Drugden.dmm' cost = 20 \ No newline at end of file diff --git a/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm b/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm index 0c52e7c840..3751fa3be6 100644 --- a/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm +++ b/maps/submaps/surface_submaps/wilderness/wilderness_areas.dm @@ -71,3 +71,7 @@ /area/submap/CaveS name = "CaveS" + +/area/submap/Drugd + name = "DrugDen" + From d64bf6fd7e6fee0e4e4e133bc50b5dd6f1ba3c10 Mon Sep 17 00:00:00 2001 From: Cyantime Date: Fri, 16 Feb 2018 02:23:58 -0500 Subject: [PATCH 11/12] Shrinks pocket newscaster --- code/modules/lore_codex/codex.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/lore_codex/codex.dm b/code/modules/lore_codex/codex.dm index b440189021..67027beb74 100644 --- a/code/modules/lore_codex/codex.dm +++ b/code/modules/lore_codex/codex.dm @@ -28,6 +28,7 @@ name = "Daedalus Pocket Newscaster" desc = "A regularly-updating compendium of articles on current events. Essential for new arrivals in the Vir system and anyone interested in politics." icon_state = "newscodex" + w_class = ITEMSIZE_SMALL root_type = /datum/lore/codex/category/main_news // Combines SOP/Regs/Law @@ -37,4 +38,4 @@ Internal Affairs." icon_state = "corp_regs" root_type = /datum/lore/codex/category/main_corp_regs - throwforce = 5 // Throw the book at 'em. \ No newline at end of file + throwforce = 5 // Throw the book at 'em. From b0b821cb714715f9e5a6a81d74b79429e9f5a6f0 Mon Sep 17 00:00:00 2001 From: Cyantime Date: Fri, 16 Feb 2018 13:50:06 -0500 Subject: [PATCH 12/12] Adds hidden alarms, for air alarms, fire alarms, and APCs (#4816) * Adds hidden alarms * TRUE/FALSE defines * Renames var to alarms_hidden --- code/game/area/areas.dm | 6 +++++- code/game/machinery/alarm.dm | 11 ++++++++++- code/modules/alarm/alarm.dm | 9 ++++++--- code/modules/alarm/alarm_handler.dm | 19 +++++++++++++------ code/modules/alarm/atmosphere_alarm.dm | 7 ++----- code/modules/mob/living/silicon/silicon.dm | 2 ++ code/modules/nano/modules/alarm_monitor.dm | 2 +- code/modules/nano/modules/atmos_control.dm | 2 ++ code/modules/power/apc.dm | 19 +++++++++---------- 9 files changed, 50 insertions(+), 27 deletions(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 734b09ae4f..e9d93b48a3 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -52,7 +52,11 @@ if (danger_level == 0) atmosphere_alarm.clearAlarm(src, alarm_source) else - atmosphere_alarm.triggerAlarm(src, alarm_source, severity = danger_level) + var/obj/machinery/alarm/atmosalarm = alarm_source //maybe other things can trigger these, who knows + if(istype(atmosalarm)) + atmosphere_alarm.triggerAlarm(src, alarm_source, severity = danger_level, hidden = atmosalarm.alarms_hidden) + else + atmosphere_alarm.triggerAlarm(src, alarm_source, severity = danger_level) //Check all the alarms before lowering atmosalm. Raising is perfectly fine. for (var/obj/machinery/alarm/AA in src) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 28557928be..775ef6a7cd 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -81,6 +81,8 @@ var/report_danger_level = 1 + var/alarms_hidden = FALSE //If the alarms from this machine are visible on consoles + /obj/machinery/alarm/nobreach breach_detection = 0 @@ -88,6 +90,9 @@ report_danger_level = 0 breach_detection = 0 +/obj/machinery/alarm/alarms_hidden + alarms_hidden = TRUE + /obj/machinery/alarm/server/New() ..() req_access = list(access_rd, access_atmospherics, access_engine_equip) @@ -812,6 +817,10 @@ FIRE ALARM panel_open = 0 var/seclevel circuit = /obj/item/weapon/circuitboard/firealarm + var/alarms_hidden = FALSE //If the alarms from this machine are visible on consoles + +/obj/machinery/firealarm/alarms_hidden + alarms_hidden = TRUE /obj/machinery/firealarm/update_icon() overlays.Cut() @@ -980,7 +989,7 @@ FIRE ALARM return var/area/area = get_area(src) for(var/obj/machinery/firealarm/FA in area) - fire_alarm.triggerAlarm(loc, FA, duration) + fire_alarm.triggerAlarm(loc, FA, duration, hidden = alarms_hidden) update_icon() //playsound(src.loc, 'sound/ambience/signal.ogg', 75, 0) return diff --git a/code/modules/alarm/alarm.dm b/code/modules/alarm/alarm.dm index d0a6a8be4c..26ffdade04 100644 --- a/code/modules/alarm/alarm.dm +++ b/code/modules/alarm/alarm.dm @@ -23,12 +23,13 @@ var/area/last_name //The last acquired name, used should origin be lost var/area/last_camera_area //The last area in which cameras where fetched, used to see if the camera list should be updated. var/end_time //Used to set when this alarm should clear, in case the origin is lost. + var/hidden = FALSE //If this alarm can be seen from consoles or other things. -/datum/alarm/New(var/atom/origin, var/atom/source, var/duration, var/severity) +/datum/alarm/New(var/atom/origin, var/atom/source, var/duration, var/severity, var/hidden) src.origin = origin cameras() // Sets up both cameras and last alarm area. - set_source_data(source, duration, severity) + set_source_data(source, duration, severity, hidden) /datum/alarm/proc/process() // Has origin gone missing? @@ -43,17 +44,19 @@ AS.duration = 0 AS.end_time = world.time + ALARM_RESET_DELAY -/datum/alarm/proc/set_source_data(var/atom/source, var/duration, var/severity) +/datum/alarm/proc/set_source_data(var/atom/source, var/duration, var/severity, var/hidden) var/datum/alarm_source/AS = sources_assoc[source] if(!AS) AS = new/datum/alarm_source(source) sources += AS sources_assoc[source] = AS + src.hidden = hidden // Currently only non-0 durations can be altered (normal alarms VS EMP blasts) if(AS.duration) duration = SecondsToTicks(duration) AS.duration = duration AS.severity = severity + src.hidden = min(src.hidden, hidden) /datum/alarm/proc/clear(var/source) var/datum/alarm_source/AS = sources_assoc[source] diff --git a/code/modules/alarm/alarm_handler.dm b/code/modules/alarm/alarm_handler.dm index afa45d7649..a07ca8bd3b 100644 --- a/code/modules/alarm/alarm_handler.dm +++ b/code/modules/alarm/alarm_handler.dm @@ -12,7 +12,7 @@ A.process() check_alarm_cleared(A) -/datum/alarm_handler/proc/triggerAlarm(var/atom/origin, var/atom/source, var/duration = 0, var/severity = 1) +/datum/alarm_handler/proc/triggerAlarm(var/atom/origin, var/atom/source, var/duration = 0, var/severity = 1, var/hidden = 0) var/new_alarm //Proper origin and source mandatory if(!(origin && source)) @@ -23,9 +23,9 @@ //see if there is already an alarm of this origin var/datum/alarm/existing = alarms_assoc[origin] if(existing) - existing.set_source_data(source, duration, severity) + existing.set_source_data(source, duration, severity, hidden) else - existing = new/datum/alarm(origin, source, duration, severity) + existing = new/datum/alarm(origin, source, duration, severity, hidden) new_alarm = 1 alarms |= existing @@ -48,10 +48,10 @@ return check_alarm_cleared(existing) /datum/alarm_handler/proc/major_alarms() - return alarms + return visible_alarms() /datum/alarm_handler/proc/minor_alarms() - return alarms + return visible_alarms() /datum/alarm_handler/proc/check_alarm_cleared(var/datum/alarm/alarm) if ((alarm.end_time && world.time > alarm.end_time) || !alarm.sources.len) @@ -63,7 +63,7 @@ /datum/alarm_handler/proc/on_alarm_change(var/datum/alarm/alarm, var/was_raised) for(var/obj/machinery/camera/C in alarm.cameras()) - if(was_raised) + if(was_raised && !alarm.hidden) C.add_network(category) else C.remove_network(category) @@ -95,3 +95,10 @@ /datum/alarm_handler/proc/notify_listeners(var/alarm, var/was_raised) for(var/listener in listeners) call(listener, listeners[listener])(src, alarm, was_raised) + +/datum/alarm_handler/proc/visible_alarms() + var/list/visible_alarms = new() + for(var/datum/alarm/A in alarms) + if(!A.hidden) + visible_alarms.Add(A) + return visible_alarms \ No newline at end of file diff --git a/code/modules/alarm/atmosphere_alarm.dm b/code/modules/alarm/atmosphere_alarm.dm index 9751319111..94f2e91e05 100644 --- a/code/modules/alarm/atmosphere_alarm.dm +++ b/code/modules/alarm/atmosphere_alarm.dm @@ -1,19 +1,16 @@ /datum/alarm_handler/atmosphere category = "Atmosphere Alarms" -/datum/alarm_handler/atmosphere/triggerAlarm(var/atom/origin, var/atom/source, var/duration = 0, var/severity = 1) - ..() - /datum/alarm_handler/atmosphere/major_alarms() var/list/major_alarms = new() - for(var/datum/alarm/A in alarms) + for(var/datum/alarm/A in visible_alarms()) if(A.max_severity() > 1) major_alarms.Add(A) return major_alarms /datum/alarm_handler/atmosphere/minor_alarms() var/list/minor_alarms = new() - for(var/datum/alarm/A in alarms) + for(var/datum/alarm/A in visible_alarms()) if(A.max_severity() == 1) minor_alarms.Add(A) return minor_alarms diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 689d27dce8..09321af981 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -322,6 +322,8 @@ /mob/living/silicon/proc/receive_alarm(var/datum/alarm_handler/alarm_handler, var/datum/alarm/alarm, was_raised) if(!next_alarm_notice) next_alarm_notice = world.time + SecondsToTicks(10) + if(alarm.hidden) + return var/list/alarms = queued_alarms[alarm_handler] if(was_raised) diff --git a/code/modules/nano/modules/alarm_monitor.dm b/code/modules/nano/modules/alarm_monitor.dm index f3fca46d43..264fdee9cc 100644 --- a/code/modules/nano/modules/alarm_monitor.dm +++ b/code/modules/nano/modules/alarm_monitor.dm @@ -26,7 +26,7 @@ /datum/nano_module/alarm_monitor/proc/all_alarms() var/list/all_alarms = new() for(var/datum/alarm_handler/AH in alarm_handlers) - all_alarms += AH.alarms + all_alarms += AH.visible_alarms() return all_alarms diff --git a/code/modules/nano/modules/atmos_control.dm b/code/modules/nano/modules/atmos_control.dm index 742696396b..b1dd3ab759 100644 --- a/code/modules/nano/modules/atmos_control.dm +++ b/code/modules/nano/modules/atmos_control.dm @@ -36,6 +36,8 @@ // TODO: Move these to a cache, similar to cameras for(var/obj/machinery/alarm/alarm in (monitored_alarms.len ? monitored_alarms : machines)) + if(!monitored_alarms.len && alarm.alarms_hidden) + continue alarms[++alarms.len] = list( "name" = sanitize(alarm.name), "ref"= "\ref[alarm]", diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 91114105bd..725e31c1ba 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -56,6 +56,9 @@ /obj/machinery/power/apc/hyper cell_type = /obj/item/weapon/cell/hyper +/obj/machinery/power/apc/alarms_hidden + alarms_hidden = TRUE + /obj/machinery/power/apc name = "area power controller" desc = "A control terminal for the area electrical systems." @@ -107,12 +110,12 @@ var/failure_timer = 0 var/force_update = 0 var/updating_icon = 0 - var/secret = FALSE // If true, it won't show up on the alert computer. var/global/list/status_overlays_lock var/global/list/status_overlays_charging var/global/list/status_overlays_equipment var/global/list/status_overlays_lighting var/global/list/status_overlays_environ + var/alarms_hidden = FALSE //If power alarms from this APC are visible on consoles /obj/machinery/power/apc/updateDialog() if (stat & (BROKEN|MAINT)) @@ -226,7 +229,7 @@ area.apc = src if(istype(area, /area/submap)) - secret = TRUE + alarms_hidden = TRUE update_icon() @@ -1113,8 +1116,7 @@ equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - if(!secret) - power_alarm.triggerAlarm(loc, src) + power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden) autoflag = 0 // update icon & area power if anything changed @@ -1144,24 +1146,21 @@ equipment = autoset(equipment, 2) lighting = autoset(lighting, 1) environ = autoset(environ, 1) - if(!secret) - power_alarm.triggerAlarm(loc, src) + power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden) autoflag = 2 else if(cell.percent() <= 15) // <15%, turn off lighting & equipment if((autoflag > 1 && longtermpower < 0) || (autoflag > 1 && longtermpower >= 0)) equipment = autoset(equipment, 2) lighting = autoset(lighting, 2) environ = autoset(environ, 1) - if(!secret) - power_alarm.triggerAlarm(loc, src) + power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden) autoflag = 1 else // zero charge, turn all off if(autoflag != 0) equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - if(!secret) - power_alarm.triggerAlarm(loc, src) + power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden) autoflag = 0 // val 0=off, 1=off(auto) 2=on 3=on(auto)