Merge branch 'master' of https://github.com/PolarisSS13/Polaris into steals_more_armor
@@ -201,6 +201,7 @@
|
|||||||
L.resist()
|
L.resist()
|
||||||
|
|
||||||
if("mov_intent")
|
if("mov_intent")
|
||||||
|
if(isliving(usr))
|
||||||
if(iscarbon(usr))
|
if(iscarbon(usr))
|
||||||
var/mob/living/carbon/C = usr
|
var/mob/living/carbon/C = usr
|
||||||
if(C.legcuffed)
|
if(C.legcuffed)
|
||||||
@@ -208,13 +209,14 @@
|
|||||||
C.m_intent = "walk" //Just incase
|
C.m_intent = "walk" //Just incase
|
||||||
C.hud_used.move_intent.icon_state = "walking"
|
C.hud_used.move_intent.icon_state = "walking"
|
||||||
return 1
|
return 1
|
||||||
switch(usr.m_intent)
|
var/mob/living/L = usr
|
||||||
|
switch(L.m_intent)
|
||||||
if("run")
|
if("run")
|
||||||
usr.m_intent = "walk"
|
L.m_intent = "walk"
|
||||||
usr.hud_used.move_intent.icon_state = "walking"
|
L.hud_used.move_intent.icon_state = "walking"
|
||||||
if("walk")
|
if("walk")
|
||||||
usr.m_intent = "run"
|
L.m_intent = "run"
|
||||||
usr.hud_used.move_intent.icon_state = "running"
|
L.hud_used.move_intent.icon_state = "running"
|
||||||
if("m_intent")
|
if("m_intent")
|
||||||
if(!usr.m_int)
|
if(!usr.m_int)
|
||||||
switch(usr.m_intent)
|
switch(usr.m_intent)
|
||||||
@@ -485,8 +487,6 @@
|
|||||||
if(isAI(usr))
|
if(isAI(usr))
|
||||||
var/mob/living/silicon/ai/AI = usr
|
var/mob/living/silicon/ai/AI = usr
|
||||||
AI.view_images()
|
AI.view_images()
|
||||||
else
|
|
||||||
return 0
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
/obj/screen/inventory/Click()
|
/obj/screen/inventory/Click()
|
||||||
|
|||||||
@@ -73,27 +73,38 @@
|
|||||||
Animals
|
Animals
|
||||||
*/
|
*/
|
||||||
/mob/living/simple_animal/UnarmedAttack(var/atom/A, var/proximity)
|
/mob/living/simple_animal/UnarmedAttack(var/atom/A, var/proximity)
|
||||||
if(!..())
|
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]!")
|
|
||||||
return
|
return
|
||||||
|
|
||||||
setClickCooldown(get_attack_speed())
|
setClickCooldown(get_attack_speed())
|
||||||
|
|
||||||
|
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))
|
if(isliving(A))
|
||||||
target_mob = A
|
custom_emote(1,"[pick(friendly)] [A]!")
|
||||||
PunchTarget()
|
|
||||||
target_mob = null
|
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
|
else
|
||||||
A.attack_generic(src, rand(melee_damage_lower, melee_damage_upper), attacktext)
|
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)
|
/mob/living/simple_animal/RangedAttack(var/atom/A)
|
||||||
setClickCooldown(get_attack_speed())
|
setClickCooldown(get_attack_speed())
|
||||||
|
|||||||
@@ -61,3 +61,17 @@
|
|||||||
cost = 15
|
cost = 15
|
||||||
containertype = /obj/structure/closet/crate/freezer
|
containertype = /obj/structure/closet/crate/freezer
|
||||||
containername = "Pizza crate"
|
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"
|
||||||
@@ -51,6 +51,10 @@
|
|||||||
/area/proc/atmosalert(danger_level, var/alarm_source)
|
/area/proc/atmosalert(danger_level, var/alarm_source)
|
||||||
if (danger_level == 0)
|
if (danger_level == 0)
|
||||||
atmosphere_alarm.clearAlarm(src, alarm_source)
|
atmosphere_alarm.clearAlarm(src, alarm_source)
|
||||||
|
else
|
||||||
|
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
|
else
|
||||||
atmosphere_alarm.triggerAlarm(src, alarm_source, severity = danger_level)
|
atmosphere_alarm.triggerAlarm(src, alarm_source, severity = danger_level)
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,8 @@
|
|||||||
|
|
||||||
var/report_danger_level = 1
|
var/report_danger_level = 1
|
||||||
|
|
||||||
|
var/alarms_hidden = FALSE //If the alarms from this machine are visible on consoles
|
||||||
|
|
||||||
/obj/machinery/alarm/nobreach
|
/obj/machinery/alarm/nobreach
|
||||||
breach_detection = 0
|
breach_detection = 0
|
||||||
|
|
||||||
@@ -88,6 +90,9 @@
|
|||||||
report_danger_level = 0
|
report_danger_level = 0
|
||||||
breach_detection = 0
|
breach_detection = 0
|
||||||
|
|
||||||
|
/obj/machinery/alarm/alarms_hidden
|
||||||
|
alarms_hidden = TRUE
|
||||||
|
|
||||||
/obj/machinery/alarm/server/New()
|
/obj/machinery/alarm/server/New()
|
||||||
..()
|
..()
|
||||||
req_access = list(access_rd, access_atmospherics, access_engine_equip)
|
req_access = list(access_rd, access_atmospherics, access_engine_equip)
|
||||||
@@ -812,6 +817,10 @@ FIRE ALARM
|
|||||||
panel_open = 0
|
panel_open = 0
|
||||||
var/seclevel
|
var/seclevel
|
||||||
circuit = /obj/item/weapon/circuitboard/firealarm
|
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()
|
/obj/machinery/firealarm/update_icon()
|
||||||
overlays.Cut()
|
overlays.Cut()
|
||||||
@@ -980,7 +989,7 @@ FIRE ALARM
|
|||||||
return
|
return
|
||||||
var/area/area = get_area(src)
|
var/area/area = get_area(src)
|
||||||
for(var/obj/machinery/firealarm/FA in area)
|
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()
|
update_icon()
|
||||||
//playsound(src.loc, 'sound/ambience/signal.ogg', 75, 0)
|
//playsound(src.loc, 'sound/ambience/signal.ogg', 75, 0)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -27,7 +27,8 @@
|
|||||||
/obj/item/toy/waterflower = 1,
|
/obj/item/toy/waterflower = 1,
|
||||||
/obj/random/action_figure = 1,
|
/obj/random/action_figure = 1,
|
||||||
/obj/random/plushie = 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()
|
/obj/machinery/computer/arcade/New()
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
icon_state = "rods"
|
icon_state = "rods"
|
||||||
|
|
||||||
var/global/list/datum/stack_recipe/rods_recipes = list( \
|
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))
|
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)
|
/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
|
var/obj/item/weapon/weldingtool/WT = W
|
||||||
|
|
||||||
if(get_amount() < 2)
|
if(get_amount() < 2)
|
||||||
user << "<span class='warning'>You need at least two rods to do this.</span>"
|
to_chat(user, "<span class='warning'>You need at least two rods to do this.</span>")
|
||||||
return
|
return
|
||||||
|
|
||||||
if(WT.remove_fuel(0,user))
|
if(WT.remove_fuel(0,user))
|
||||||
@@ -91,15 +91,15 @@ var/global/list/datum/stack_recipe/rods_recipes = list( \
|
|||||||
|
|
||||||
else if(!in_use)
|
else if(!in_use)
|
||||||
if(get_amount() < 2)
|
if(get_amount() < 2)
|
||||||
user << "<span class='warning'>You need at least two rods to do this.</span>"
|
to_chat(user, "<span class='warning'>You need at least two rods to do this.</span>")
|
||||||
return
|
return
|
||||||
usr << "<span class='notice'>Assembling grille...</span>"
|
to_chat(usr, "<span class='notice'>Assembling grille...</span>")
|
||||||
in_use = 1
|
in_use = 1
|
||||||
if (!do_after(usr, 10))
|
if (!do_after(usr, 10))
|
||||||
in_use = 0
|
in_use = 0
|
||||||
return
|
return
|
||||||
var/obj/structure/grille/F = new /obj/structure/grille/ ( usr.loc )
|
var/obj/structure/grille/F = new /obj/structure/grille/ ( usr.loc )
|
||||||
usr << "<span class='notice'>You assemble a grille</span>"
|
to_chat(usr, "<span class='notice'>You assemble a grille</span>")
|
||||||
in_use = 0
|
in_use = 0
|
||||||
F.add_fingerprint(usr)
|
F.add_fingerprint(usr)
|
||||||
use(2)
|
use(2)
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* Action figures
|
* Action figures
|
||||||
* Plushies
|
* Plushies
|
||||||
* Toy cult sword
|
* Toy cult sword
|
||||||
|
* Bouquets
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -872,6 +873,19 @@
|
|||||||
w_class = ITEMSIZE_LARGE
|
w_class = ITEMSIZE_LARGE
|
||||||
attack_verb = list("attacked", "slashed", "stabbed", "poked")
|
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.
|
/* NYET.
|
||||||
/obj/item/weapon/toddler
|
/obj/item/weapon/toddler
|
||||||
icon_state = "toddler"
|
icon_state = "toddler"
|
||||||
|
|||||||
@@ -10,6 +10,8 @@
|
|||||||
* Candle Box
|
* Candle Box
|
||||||
* Crayon Box
|
* Crayon Box
|
||||||
* Cigarette Box
|
* Cigarette Box
|
||||||
|
* Vial Box
|
||||||
|
* Box of Chocolates
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/obj/item/weapon/storage/fancy/
|
/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)
|
/obj/item/weapon/storage/lockbox/vials/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
..()
|
..()
|
||||||
update_icon()
|
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
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
if(!canremove)
|
if(!canremove)
|
||||||
return
|
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?
|
if (istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech. why?
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -104,7 +104,7 @@
|
|||||||
playsound(src, W.usesound, 100, 1)
|
playsound(src, W.usesound, 100, 1)
|
||||||
anchored = !anchored
|
anchored = !anchored
|
||||||
user.visible_message("<span class='notice'>[user] [anchored ? "fastens" : "unfastens"] the grille.</span>", \
|
user.visible_message("<span class='notice'>[user] [anchored ? "fastens" : "unfastens"] the grille.</span>", \
|
||||||
"<span class='notice'>You have [anchored ? "fastened the grille to" : "unfastened the grill from"] the floor.</span>")
|
"<span class='notice'>You have [anchored ? "fastened the grille to" : "unfastened the grille from"] the floor.</span>")
|
||||||
return
|
return
|
||||||
|
|
||||||
//window placing begin //TODO CONVERT PROPERLY TO MATERIAL DATUM
|
//window placing begin //TODO CONVERT PROPERLY TO MATERIAL DATUM
|
||||||
|
|||||||
@@ -23,12 +23,13 @@
|
|||||||
var/area/last_name //The last acquired name, used should origin be lost
|
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/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/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
|
src.origin = origin
|
||||||
|
|
||||||
cameras() // Sets up both cameras and last alarm area.
|
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()
|
/datum/alarm/proc/process()
|
||||||
// Has origin gone missing?
|
// Has origin gone missing?
|
||||||
@@ -43,17 +44,19 @@
|
|||||||
AS.duration = 0
|
AS.duration = 0
|
||||||
AS.end_time = world.time + ALARM_RESET_DELAY
|
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]
|
var/datum/alarm_source/AS = sources_assoc[source]
|
||||||
if(!AS)
|
if(!AS)
|
||||||
AS = new/datum/alarm_source(source)
|
AS = new/datum/alarm_source(source)
|
||||||
sources += AS
|
sources += AS
|
||||||
sources_assoc[source] = AS
|
sources_assoc[source] = AS
|
||||||
|
src.hidden = hidden
|
||||||
// Currently only non-0 durations can be altered (normal alarms VS EMP blasts)
|
// Currently only non-0 durations can be altered (normal alarms VS EMP blasts)
|
||||||
if(AS.duration)
|
if(AS.duration)
|
||||||
duration = SecondsToTicks(duration)
|
duration = SecondsToTicks(duration)
|
||||||
AS.duration = duration
|
AS.duration = duration
|
||||||
AS.severity = severity
|
AS.severity = severity
|
||||||
|
src.hidden = min(src.hidden, hidden)
|
||||||
|
|
||||||
/datum/alarm/proc/clear(var/source)
|
/datum/alarm/proc/clear(var/source)
|
||||||
var/datum/alarm_source/AS = sources_assoc[source]
|
var/datum/alarm_source/AS = sources_assoc[source]
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
A.process()
|
A.process()
|
||||||
check_alarm_cleared(A)
|
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
|
var/new_alarm
|
||||||
//Proper origin and source mandatory
|
//Proper origin and source mandatory
|
||||||
if(!(origin && source))
|
if(!(origin && source))
|
||||||
@@ -23,9 +23,9 @@
|
|||||||
//see if there is already an alarm of this origin
|
//see if there is already an alarm of this origin
|
||||||
var/datum/alarm/existing = alarms_assoc[origin]
|
var/datum/alarm/existing = alarms_assoc[origin]
|
||||||
if(existing)
|
if(existing)
|
||||||
existing.set_source_data(source, duration, severity)
|
existing.set_source_data(source, duration, severity, hidden)
|
||||||
else
|
else
|
||||||
existing = new/datum/alarm(origin, source, duration, severity)
|
existing = new/datum/alarm(origin, source, duration, severity, hidden)
|
||||||
new_alarm = 1
|
new_alarm = 1
|
||||||
|
|
||||||
alarms |= existing
|
alarms |= existing
|
||||||
@@ -48,10 +48,10 @@
|
|||||||
return check_alarm_cleared(existing)
|
return check_alarm_cleared(existing)
|
||||||
|
|
||||||
/datum/alarm_handler/proc/major_alarms()
|
/datum/alarm_handler/proc/major_alarms()
|
||||||
return alarms
|
return visible_alarms()
|
||||||
|
|
||||||
/datum/alarm_handler/proc/minor_alarms()
|
/datum/alarm_handler/proc/minor_alarms()
|
||||||
return alarms
|
return visible_alarms()
|
||||||
|
|
||||||
/datum/alarm_handler/proc/check_alarm_cleared(var/datum/alarm/alarm)
|
/datum/alarm_handler/proc/check_alarm_cleared(var/datum/alarm/alarm)
|
||||||
if ((alarm.end_time && world.time > alarm.end_time) || !alarm.sources.len)
|
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)
|
/datum/alarm_handler/proc/on_alarm_change(var/datum/alarm/alarm, var/was_raised)
|
||||||
for(var/obj/machinery/camera/C in alarm.cameras())
|
for(var/obj/machinery/camera/C in alarm.cameras())
|
||||||
if(was_raised)
|
if(was_raised && !alarm.hidden)
|
||||||
C.add_network(category)
|
C.add_network(category)
|
||||||
else
|
else
|
||||||
C.remove_network(category)
|
C.remove_network(category)
|
||||||
@@ -95,3 +95,10 @@
|
|||||||
/datum/alarm_handler/proc/notify_listeners(var/alarm, var/was_raised)
|
/datum/alarm_handler/proc/notify_listeners(var/alarm, var/was_raised)
|
||||||
for(var/listener in listeners)
|
for(var/listener in listeners)
|
||||||
call(listener, listeners[listener])(src, alarm, was_raised)
|
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
|
||||||
@@ -1,19 +1,16 @@
|
|||||||
/datum/alarm_handler/atmosphere
|
/datum/alarm_handler/atmosphere
|
||||||
category = "Atmosphere Alarms"
|
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()
|
/datum/alarm_handler/atmosphere/major_alarms()
|
||||||
var/list/major_alarms = new()
|
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)
|
if(A.max_severity() > 1)
|
||||||
major_alarms.Add(A)
|
major_alarms.Add(A)
|
||||||
return major_alarms
|
return major_alarms
|
||||||
|
|
||||||
/datum/alarm_handler/atmosphere/minor_alarms()
|
/datum/alarm_handler/atmosphere/minor_alarms()
|
||||||
var/list/minor_alarms = new()
|
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)
|
if(A.max_severity() == 1)
|
||||||
minor_alarms.Add(A)
|
minor_alarms.Add(A)
|
||||||
return minor_alarms
|
return minor_alarms
|
||||||
|
|||||||
@@ -181,27 +181,22 @@
|
|||||||
/datum/gear/suit/roles/poncho/security
|
/datum/gear/suit/roles/poncho/security
|
||||||
display_name = "poncho, security"
|
display_name = "poncho, security"
|
||||||
path = /obj/item/clothing/accessory/poncho/roles/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
|
/datum/gear/suit/roles/poncho/medical
|
||||||
display_name = "poncho, medical"
|
display_name = "poncho, medical"
|
||||||
path = /obj/item/clothing/accessory/poncho/roles/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
|
/datum/gear/suit/roles/poncho/engineering
|
||||||
display_name = "poncho, engineering"
|
display_name = "poncho, engineering"
|
||||||
path = /obj/item/clothing/accessory/poncho/roles/engineering
|
path = /obj/item/clothing/accessory/poncho/roles/engineering
|
||||||
allowed_roles = list("Chief Engineer","Atmospheric Technician", "Station Engineer")
|
|
||||||
|
|
||||||
/datum/gear/suit/roles/poncho/science
|
/datum/gear/suit/roles/poncho/science
|
||||||
display_name = "poncho, science"
|
display_name = "poncho, science"
|
||||||
path = /obj/item/clothing/accessory/poncho/roles/science
|
path = /obj/item/clothing/accessory/poncho/roles/science
|
||||||
allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist")
|
|
||||||
|
|
||||||
/datum/gear/suit/roles/poncho/cargo
|
/datum/gear/suit/roles/poncho/cargo
|
||||||
display_name = "poncho, cargo"
|
display_name = "poncho, cargo"
|
||||||
path = /obj/item/clothing/accessory/poncho/roles/cargo
|
path = /obj/item/clothing/accessory/poncho/roles/cargo
|
||||||
allowed_roles = list("Quartermaster","Cargo Technician")
|
|
||||||
|
|
||||||
/datum/gear/suit/roles/poncho/cloak/hos
|
/datum/gear/suit/roles/poncho/cloak/hos
|
||||||
display_name = "cloak, head of security"
|
display_name = "cloak, head of security"
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
name = "Daedalus Pocket Newscaster"
|
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."
|
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"
|
icon_state = "newscodex"
|
||||||
|
w_class = ITEMSIZE_SMALL
|
||||||
root_type = /datum/lore/codex/category/main_news
|
root_type = /datum/lore/codex/category/main_news
|
||||||
|
|
||||||
// Combines SOP/Regs/Law
|
// Combines SOP/Regs/Law
|
||||||
|
|||||||
@@ -137,33 +137,6 @@
|
|||||||
|
|
||||||
return shock_damage
|
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)
|
/mob/living/carbon/proc/help_shake_act(mob/living/carbon/M)
|
||||||
if (src.health >= config.health_threshold_crit)
|
if (src.health >= config.health_threshold_crit)
|
||||||
if(src == M && istype(src, /mob/living/carbon/human))
|
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_layers(FALSE) //apply the now updated overlays to the mob
|
||||||
update_icons_body()
|
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 = "<font color='#6b5d00'>tile at [start_T.x], [start_T.y], [start_T.z] in area [get_area(start_T)]</font>"
|
|
||||||
var/end_T_descriptor = "<font color='#6b4400'>tile at [end_T.x], [end_T.y], [end_T.z] in area [get_area(end_T)]</font>"
|
|
||||||
|
|
||||||
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been thrown by [usr.name] ([usr.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]</font>")
|
|
||||||
usr.attack_log += text("\[[time_stamp()]\] <font color='red'>Has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]</font>")
|
|
||||||
msg_admin_attack("[usr.name] ([usr.ckey]) has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[usr.x];Y=[usr.y];Z=[usr.z]'>JMP</a>)")
|
|
||||||
|
|
||||||
src.drop_from_inventory(item)
|
|
||||||
if(!item || !isturf(item.loc))
|
|
||||||
return
|
|
||||||
|
|
||||||
//actually throw it!
|
|
||||||
src.visible_message("<span class='warning'>[src] has thrown [item].</span>")
|
|
||||||
|
|
||||||
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)
|
/mob/living/carbon/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
return u_attack
|
return u_attack
|
||||||
return null
|
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/datum/gender/TT = gender_datums[M.get_visible_gender()]
|
||||||
var/mob/living/carbon/human/H = M
|
var/mob/living/carbon/human/H = M
|
||||||
if(istype(H))
|
if(istype(H))
|
||||||
@@ -18,7 +18,8 @@
|
|||||||
if(!temp || !temp.is_usable())
|
if(!temp || !temp.is_usable())
|
||||||
H << "<font color='red'>You can't use your hand.</font>"
|
H << "<font color='red'>You can't use your hand.</font>"
|
||||||
return
|
return
|
||||||
H.break_cloak()
|
M.break_cloak()
|
||||||
|
|
||||||
..()
|
..()
|
||||||
|
|
||||||
// Should this all be in Touch()?
|
// Should this all be in Touch()?
|
||||||
@@ -64,7 +65,8 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
if(istype(M,/mob/living/carbon))
|
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)
|
switch(M.a_intent)
|
||||||
if(I_HELP)
|
if(I_HELP)
|
||||||
|
|||||||
@@ -189,7 +189,7 @@
|
|||||||
volume *= 0.5
|
volume *= 0.5
|
||||||
else if(shoes)
|
else if(shoes)
|
||||||
var/obj/item/clothing/shoes/feet = shoes
|
var/obj/item/clothing/shoes/feet = shoes
|
||||||
if(feet)
|
if(istype(feet))
|
||||||
volume *= feet.step_volume_mod
|
volume *= feet.step_volume_mod
|
||||||
|
|
||||||
if(!has_organ(BP_L_FOOT) && !has_organ(BP_R_FOOT))
|
if(!has_organ(BP_L_FOOT) && !has_organ(BP_R_FOOT))
|
||||||
|
|||||||
@@ -207,7 +207,7 @@
|
|||||||
return TRUE
|
return TRUE
|
||||||
|
|
||||||
else if(glow_toggle)
|
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
|
else
|
||||||
set_light(0)
|
set_light(0)
|
||||||
|
|||||||
@@ -1085,3 +1085,80 @@ default behaviour is:
|
|||||||
|
|
||||||
else // No colors, so remove the client's color.
|
else // No colors, so remove the client's color.
|
||||||
animate(client, color = null, time = 10)
|
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 = "<font color='#6b5d00'>tile at [start_T.x], [start_T.y], [start_T.z] in area [get_area(start_T)]</font>"
|
||||||
|
var/end_T_descriptor = "<font color='#6b4400'>tile at [end_T.x], [end_T.y], [end_T.z] in area [get_area(end_T)]</font>"
|
||||||
|
|
||||||
|
M.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been thrown by [usr.name] ([usr.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]</font>")
|
||||||
|
usr.attack_log += text("\[[time_stamp()]\] <font color='red'>Has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor]</font>")
|
||||||
|
msg_admin_attack("[usr.name] ([usr.ckey]) has thrown [M.name] ([M.ckey]) from [start_T_descriptor] with the target [end_T_descriptor] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[usr.x];Y=[usr.y];Z=[usr.z]'>JMP</a>)")
|
||||||
|
|
||||||
|
src.drop_from_inventory(item)
|
||||||
|
if(!item || !isturf(item.loc))
|
||||||
|
return
|
||||||
|
|
||||||
|
//actually throw it!
|
||||||
|
src.visible_message("<span class='warning'>[src] has thrown [item].</span>")
|
||||||
|
|
||||||
|
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)
|
||||||
|
|||||||
@@ -51,4 +51,6 @@
|
|||||||
var/image/dsoverlay = null //Overlay used for darksight eye adjustments
|
var/image/dsoverlay = null //Overlay used for darksight eye adjustments
|
||||||
|
|
||||||
var/glow_toggle = 0 // If they're glowing!
|
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!
|
var/glow_color = "#FFFFFF" // The color they're glowing!
|
||||||
|
|||||||
@@ -322,6 +322,8 @@
|
|||||||
/mob/living/silicon/proc/receive_alarm(var/datum/alarm_handler/alarm_handler, var/datum/alarm/alarm, was_raised)
|
/mob/living/silicon/proc/receive_alarm(var/datum/alarm_handler/alarm_handler, var/datum/alarm/alarm, was_raised)
|
||||||
if(!next_alarm_notice)
|
if(!next_alarm_notice)
|
||||||
next_alarm_notice = world.time + SecondsToTicks(10)
|
next_alarm_notice = world.time + SecondsToTicks(10)
|
||||||
|
if(alarm.hidden)
|
||||||
|
return
|
||||||
|
|
||||||
var/list/alarms = queued_alarms[alarm_handler]
|
var/list/alarms = queued_alarms[alarm_handler]
|
||||||
if(was_raised)
|
if(was_raised)
|
||||||
|
|||||||
@@ -16,6 +16,12 @@
|
|||||||
//Settings for played mobs
|
//Settings for played mobs
|
||||||
var/show_stat_health = 1 // Does the percentage health show in the stat panel for the mob
|
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/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
|
//Mob icon/appearance settings
|
||||||
var/icon_living = "" // The iconstate if we're alive, required
|
var/icon_living = "" // The iconstate if we're alive, required
|
||||||
@@ -71,7 +77,7 @@
|
|||||||
var/cold_damage_per_tick = 2 // Same as heat_damage_per_tick, only if the bodytemperature it's lower than minbodytemp
|
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/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/max_oxy = 0 // Oxygen in moles, maximum, 0 is 'no maximum'
|
||||||
var/min_tox = 0 // Phoron min
|
var/min_tox = 0 // Phoron min
|
||||||
var/max_tox = 1 // Phoron max
|
var/max_tox = 1 // Phoron max
|
||||||
@@ -170,6 +176,7 @@
|
|||||||
home_turf = get_turf(src)
|
home_turf = get_turf(src)
|
||||||
path_overlay = new(path_icon,path_icon_state)
|
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
|
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)
|
for(var/L in has_langs)
|
||||||
languages |= all_languages[L]
|
languages |= all_languages[L]
|
||||||
@@ -208,18 +215,14 @@
|
|||||||
|
|
||||||
//Client attached
|
//Client attached
|
||||||
/mob/living/simple_animal/Login()
|
/mob/living/simple_animal/Login()
|
||||||
if(src && src.client)
|
. = ..()
|
||||||
src.client.screen = list()
|
|
||||||
src.client.screen += src.client.void
|
|
||||||
ai_inactive = 1
|
ai_inactive = 1
|
||||||
handle_stance(STANCE_IDLE)
|
handle_stance(STANCE_IDLE)
|
||||||
LoseTarget()
|
LoseTarget()
|
||||||
src.client << "<span class='notice'>Mob AI disabled while you are controlling the mob.</span>"
|
to_chat(src,"<span class='notice'>Mob AI disabled while you are controlling the mob.</span><br><b>You are \the [src]. [player_msg]</b>")
|
||||||
..()
|
|
||||||
|
|
||||||
//Client detatched
|
//Client detatched
|
||||||
/mob/living/simple_animal/Logout()
|
/mob/living/simple_animal/Logout()
|
||||||
if(src && !src.client)
|
|
||||||
spawn(15 SECONDS) //15 seconds to get back into the mob before it goes wild
|
spawn(15 SECONDS) //15 seconds to get back into the mob before it goes wild
|
||||||
if(src && !src.client)
|
if(src && !src.client)
|
||||||
ai_inactive = initial(ai_inactive) //So if they never have an AI, they stay that way.
|
ai_inactive = initial(ai_inactive) //So if they never have an AI, they stay that way.
|
||||||
@@ -242,23 +245,74 @@
|
|||||||
if(health > getMaxHealth())
|
if(health > getMaxHealth())
|
||||||
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()
|
/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
|
//Awake and normal
|
||||||
if((stat == CONSCIOUS) && (!icon_rest || !resting || !incapacitated(INCAPACITATION_DISABLED) ))
|
if((stat == CONSCIOUS) && (!icon_rest || !resting || !incapacitated(INCAPACITATION_DISABLED) ))
|
||||||
icon_state = icon_living
|
ma.icon_state = icon_living
|
||||||
|
|
||||||
//Dead
|
//Dead
|
||||||
else if(stat >= DEAD)
|
else if(stat >= DEAD)
|
||||||
icon_state = icon_dead
|
ma.icon_state = icon_dead
|
||||||
|
|
||||||
//Resting or KO'd
|
//Resting or KO'd
|
||||||
else if(((stat == UNCONSCIOUS) || resting || incapacitated(INCAPACITATION_DISABLED) ) && icon_rest)
|
else if(((stat == UNCONSCIOUS) || resting || incapacitated(INCAPACITATION_DISABLED) ) && icon_rest)
|
||||||
icon_state = icon_rest
|
ma.icon_state = icon_rest
|
||||||
|
|
||||||
//Backup
|
//Backup
|
||||||
else
|
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.
|
// 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()
|
/mob/living/simple_animal/update_modifier_visuals()
|
||||||
@@ -293,7 +347,6 @@
|
|||||||
handle_paralysed()
|
handle_paralysed()
|
||||||
handle_supernatural()
|
handle_supernatural()
|
||||||
handle_atmos() //Atmos
|
handle_atmos() //Atmos
|
||||||
update_icon()
|
|
||||||
|
|
||||||
ai_log("Life() - stance=[stance] ai_inactive=[ai_inactive]", 4)
|
ai_log("Life() - stance=[stance] ai_inactive=[ai_inactive]", 4)
|
||||||
|
|
||||||
@@ -318,7 +371,7 @@
|
|||||||
if(istype(loc,/obj/structure/closet))
|
if(istype(loc,/obj/structure/closet))
|
||||||
var/obj/structure/closet/C = loc
|
var/obj/structure/closet/C = loc
|
||||||
if(C.welded)
|
if(C.welded)
|
||||||
resist()
|
handle_resist()
|
||||||
else
|
else
|
||||||
C.open()
|
C.open()
|
||||||
|
|
||||||
@@ -378,7 +431,7 @@
|
|||||||
// Handle interacting with and taking damage from atmos
|
// Handle interacting with and taking damage from atmos
|
||||||
// TODO - Refactor this to use handle_environment() like a good /mob/living
|
// TODO - Refactor this to use handle_environment() like a good /mob/living
|
||||||
/mob/living/simple_animal/proc/handle_atmos()
|
/mob/living/simple_animal/proc/handle_atmos()
|
||||||
var/atmos_suitable = 1
|
var/atmos_unsuitable = 0
|
||||||
|
|
||||||
var/atom/A = src.loc
|
var/atom/A = src.loc
|
||||||
|
|
||||||
@@ -394,41 +447,52 @@
|
|||||||
|
|
||||||
if(min_oxy)
|
if(min_oxy)
|
||||||
if(Environment.gas["oxygen"] < min_oxy)
|
if(Environment.gas["oxygen"] < min_oxy)
|
||||||
atmos_suitable = 0
|
atmos_unsuitable = 1
|
||||||
if(max_oxy)
|
if(max_oxy)
|
||||||
if(Environment.gas["oxygen"] > max_oxy)
|
if(Environment.gas["oxygen"] > max_oxy)
|
||||||
atmos_suitable = 0
|
atmos_unsuitable = 1
|
||||||
if(min_tox)
|
if(min_tox)
|
||||||
if(Environment.gas["phoron"] < min_tox)
|
if(Environment.gas["phoron"] < min_tox)
|
||||||
atmos_suitable = 0
|
atmos_unsuitable = 2
|
||||||
if(max_tox)
|
if(max_tox)
|
||||||
if(Environment.gas["phoron"] > max_tox)
|
if(Environment.gas["phoron"] > max_tox)
|
||||||
atmos_suitable = 0
|
atmos_unsuitable = 2
|
||||||
if(min_n2)
|
if(min_n2)
|
||||||
if(Environment.gas["nitrogen"] < min_n2)
|
if(Environment.gas["nitrogen"] < min_n2)
|
||||||
atmos_suitable = 0
|
atmos_unsuitable = 1
|
||||||
if(max_n2)
|
if(max_n2)
|
||||||
if(Environment.gas["nitrogen"] > max_n2)
|
if(Environment.gas["nitrogen"] > max_n2)
|
||||||
atmos_suitable = 0
|
atmos_unsuitable = 1
|
||||||
if(min_co2)
|
if(min_co2)
|
||||||
if(Environment.gas["carbon_dioxide"] < min_co2)
|
if(Environment.gas["carbon_dioxide"] < min_co2)
|
||||||
atmos_suitable = 0
|
atmos_unsuitable = 1
|
||||||
if(max_co2)
|
if(max_co2)
|
||||||
if(Environment.gas["carbon_dioxide"] > max_co2)
|
if(Environment.gas["carbon_dioxide"] > max_co2)
|
||||||
atmos_suitable = 0
|
atmos_unsuitable = 1
|
||||||
|
|
||||||
//Atmos effect
|
//Atmos effect
|
||||||
if(bodytemperature < minbodytemp)
|
if(bodytemperature < minbodytemp)
|
||||||
fire_alert = 2
|
fire_alert = 2
|
||||||
adjustBruteLoss(cold_damage_per_tick)
|
adjustBruteLoss(cold_damage_per_tick)
|
||||||
|
if(fire)
|
||||||
|
fire.icon_state = "fire1"
|
||||||
else if(bodytemperature > maxbodytemp)
|
else if(bodytemperature > maxbodytemp)
|
||||||
fire_alert = 1
|
fire_alert = 1
|
||||||
adjustBruteLoss(heat_damage_per_tick)
|
adjustBruteLoss(heat_damage_per_tick)
|
||||||
|
if(fire)
|
||||||
|
fire.icon_state = "fire2"
|
||||||
else
|
else
|
||||||
fire_alert = 0
|
fire_alert = 0
|
||||||
|
if(fire)
|
||||||
|
fire.icon_state = "fire0"
|
||||||
|
|
||||||
if(!atmos_suitable)
|
if(atmos_unsuitable)
|
||||||
adjustBruteLoss(unsuitable_atoms_damage)
|
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
|
// For setting the stance WITHOUT processing it
|
||||||
/mob/living/simple_animal/proc/set_stance(var/new_stance)
|
/mob/living/simple_animal/proc/set_stance(var/new_stance)
|
||||||
@@ -498,26 +562,19 @@
|
|||||||
custom_emote(2, act_desc)
|
custom_emote(2, act_desc)
|
||||||
|
|
||||||
/mob/living/simple_animal/bullet_act(var/obj/item/projectile/Proj)
|
/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)
|
ai_log("bullet_act() I was shot by: [Proj.firer]",2)
|
||||||
|
|
||||||
if(Proj.taser_effect)
|
//Projectiles with bonus SA damage
|
||||||
stun_effect_act(0, Proj.agony)
|
|
||||||
|
|
||||||
if(!Proj.nodamage)
|
if(!Proj.nodamage)
|
||||||
var/true_damage = Proj.damage
|
var/true_damage = Proj.damage
|
||||||
if(!Proj.SA_vulnerability || Proj.SA_vulnerability == intelligence_level)
|
if(!Proj.SA_vulnerability || Proj.SA_vulnerability == intelligence_level)
|
||||||
true_damage += Proj.SA_bonus_damage
|
Proj.damage += Proj.SA_bonus_damage
|
||||||
adjustBruteLoss(true_damage)
|
|
||||||
|
. = ..()
|
||||||
|
|
||||||
if(Proj.firer)
|
if(Proj.firer)
|
||||||
react_to_attack(Proj.firer)
|
react_to_attack(Proj.firer)
|
||||||
|
|
||||||
Proj.on_hit(src)
|
|
||||||
|
|
||||||
return 0
|
|
||||||
|
|
||||||
// When someone clicks us with an empty hand
|
// When someone clicks us with an empty hand
|
||||||
/mob/living/simple_animal/attack_hand(mob/living/carbon/human/M as mob)
|
/mob/living/simple_animal/attack_hand(mob/living/carbon/human/M as mob)
|
||||||
..()
|
..()
|
||||||
@@ -591,24 +648,25 @@
|
|||||||
if(O.force)
|
if(O.force)
|
||||||
react_to_attack(user)
|
react_to_attack(user)
|
||||||
|
|
||||||
/mob/living/simple_animal/hit_with_weapon(obj/item/O, mob/living/user, var/effective_force, var/hit_zone)
|
return ..()
|
||||||
visible_message("<span class='danger'>\The [src] has been attacked with \the [O] by [user].</span>")
|
|
||||||
|
|
||||||
|
/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)
|
if(O.force <= resistance)
|
||||||
user << "<span class='danger'>This weapon is ineffective, it does no damage.</span>"
|
to_chat(user,"<span class='danger'>This weapon is ineffective, it does no damage.</span>")
|
||||||
return 2
|
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)
|
ai_log("hit_with_weapon() I was h_w_weapon'd by: [user]",2)
|
||||||
react_to_attack(user)
|
react_to_attack(user)
|
||||||
|
|
||||||
return 0
|
. = ..()
|
||||||
|
|
||||||
// When someone throws something at us
|
// When someone throws something at us
|
||||||
/mob/living/simple_animal/hitby(atom/movable/AM)
|
/mob/living/simple_animal/hitby(atom/movable/AM)
|
||||||
@@ -641,6 +699,9 @@
|
|||||||
tally = 1
|
tally = 1
|
||||||
tally *= purge
|
tally *= purge
|
||||||
|
|
||||||
|
if(m_intent == "walk")
|
||||||
|
tally *= 1.5
|
||||||
|
|
||||||
return tally+config.animal_delay
|
return tally+config.animal_delay
|
||||||
|
|
||||||
/mob/living/simple_animal/Stat()
|
/mob/living/simple_animal/Stat()
|
||||||
@@ -655,6 +716,7 @@
|
|||||||
icon_state = icon_rest
|
icon_state = icon_rest
|
||||||
else
|
else
|
||||||
icon_state = icon_living
|
icon_state = icon_living
|
||||||
|
update_icon()
|
||||||
|
|
||||||
/mob/living/simple_animal/death(gibbed, deathmessage = "dies!")
|
/mob/living/simple_animal/death(gibbed, deathmessage = "dies!")
|
||||||
density = 0 //We don't block even if we did before
|
density = 0 //We don't block even if we did before
|
||||||
@@ -738,7 +800,6 @@
|
|||||||
|
|
||||||
/mob/living/simple_animal/handle_fire()
|
/mob/living/simple_animal/handle_fire()
|
||||||
return
|
return
|
||||||
|
|
||||||
/mob/living/simple_animal/update_fire()
|
/mob/living/simple_animal/update_fire()
|
||||||
return
|
return
|
||||||
/mob/living/simple_animal/IgniteMob()
|
/mob/living/simple_animal/IgniteMob()
|
||||||
@@ -748,7 +809,7 @@
|
|||||||
|
|
||||||
//We got hit! Consider hitting them back!
|
//We got hit! Consider hitting them back!
|
||||||
/mob/living/simple_animal/proc/react_to_attack(var/mob/living/M)
|
/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...
|
if(M in friends || M.faction == faction) return //I'll overlook it THIS time...
|
||||||
ai_log("react_to_attack([M])",1)
|
ai_log("react_to_attack([M])",1)
|
||||||
if(retaliate && set_target(M, 1))
|
if(retaliate && set_target(M, 1))
|
||||||
@@ -1187,8 +1248,8 @@
|
|||||||
if(prob(melee_miss_chance))
|
if(prob(melee_miss_chance))
|
||||||
src.attack_log += text("\[[time_stamp()]\] <font color='red'>attacked [L.name] ([L.ckey])</font>")
|
src.attack_log += text("\[[time_stamp()]\] <font color='red'>attacked [L.name] ([L.ckey])</font>")
|
||||||
L.attack_log += text("\[[time_stamp()]\] <font color='orange'>was attacked by [src.name] ([src.ckey])</font>")
|
L.attack_log += text("\[[time_stamp()]\] <font color='orange'>was attacked by [src.name] ([src.ckey])</font>")
|
||||||
src.visible_message("<span class='danger'>[src] misses [L]!</span>")
|
visible_message("<span class='danger'>[src] misses [L]!</span>")
|
||||||
src.do_attack_animation(src)
|
do_attack_animation(src)
|
||||||
return L
|
return L
|
||||||
else
|
else
|
||||||
DoPunch(L)
|
DoPunch(L)
|
||||||
@@ -1200,7 +1261,7 @@
|
|||||||
|
|
||||||
// This is the actual act of 'punching'. Override for special behaviour.
|
// This is the actual act of 'punching'. Override for special behaviour.
|
||||||
/mob/living/simple_animal/proc/DoPunch(var/atom/A)
|
/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
|
return FALSE
|
||||||
|
|
||||||
var/damage_to_do = rand(melee_damage_lower, melee_damage_upper)
|
var/damage_to_do = rand(melee_damage_lower, melee_damage_upper)
|
||||||
@@ -1209,16 +1270,15 @@
|
|||||||
if(!isnull(M.outgoing_melee_damage_percent))
|
if(!isnull(M.outgoing_melee_damage_percent))
|
||||||
damage_to_do *= 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.
|
// SA attacks can be blocked with shields.
|
||||||
if(ishuman(A))
|
if(ishuman(A))
|
||||||
var/mob/living/carbon/human/H = 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"))
|
if(H.check_shields(damage = damage_to_do, damage_source = src, attacker = src, def_zone = null, attack_text = "the attack"))
|
||||||
return FALSE
|
return FALSE
|
||||||
|
|
||||||
A.attack_generic(src, damage_to_do, pick(attacktext))
|
if(A.attack_generic(src, damage_to_do, pick(attacktext)) && attack_sound)
|
||||||
|
playsound(src, attack_sound, 75, 1)
|
||||||
|
|
||||||
return TRUE
|
return TRUE
|
||||||
|
|
||||||
//The actual top-level ranged attack proc
|
//The actual top-level ranged attack proc
|
||||||
@@ -1491,10 +1551,134 @@
|
|||||||
/mob/living/simple_animal/is_sentient()
|
/mob/living/simple_animal/is_sentient()
|
||||||
return intelligence_level != SA_PLANT && intelligence_level != SA_ROBOTIC
|
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
|
//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)
|
/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
|
var/mob/living/L = speaker
|
||||||
if(L.faction == faction)
|
if(L.faction == faction)
|
||||||
spawn(10)
|
spawn(10)
|
||||||
|
|||||||
308
code/modules/mob/living/simple_animal/simple_hud.dm
Normal file
@@ -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
|
||||||
@@ -1130,3 +1130,10 @@ mob/proc/yank_out_object()
|
|||||||
if(client && client.color)
|
if(client && client.color)
|
||||||
animate(client, color = null, time = 10)
|
animate(client, color = null, time = 10)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
/mob/proc/swap_hand()
|
||||||
|
return
|
||||||
|
|
||||||
|
//Throwing stuff
|
||||||
|
/mob/proc/throw_item(atom/target)
|
||||||
|
return
|
||||||
|
|||||||
@@ -181,6 +181,9 @@
|
|||||||
//Updating pixelshift, position and direction
|
//Updating pixelshift, position and direction
|
||||||
//Gets called on process, when the grab gets upgraded or the assailant moves
|
//Gets called on process, when the grab gets upgraded or the assailant moves
|
||||||
/obj/item/weapon/grab/proc/adjust_position()
|
/obj/item/weapon/grab/proc/adjust_position()
|
||||||
|
if(!affecting)
|
||||||
|
qdel(src)
|
||||||
|
return
|
||||||
if(affecting.buckled)
|
if(affecting.buckled)
|
||||||
animate(affecting, pixel_x = 0, pixel_y = 0, 4, 1, LINEAR_EASING)
|
animate(affecting, pixel_x = 0, pixel_y = 0, 4, 1, LINEAR_EASING)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -328,7 +328,7 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT)
|
|||||||
set name = "a-intent"
|
set name = "a-intent"
|
||||||
set hidden = 1
|
set hidden = 1
|
||||||
|
|
||||||
if(ishuman(src) || isbrain(src) || isslime(src))
|
if(isliving(src))
|
||||||
switch(input)
|
switch(input)
|
||||||
if(I_HELP,I_DISARM,I_GRAB,I_HURT)
|
if(I_HELP,I_DISARM,I_GRAB,I_HURT)
|
||||||
a_intent = input
|
a_intent = input
|
||||||
|
|||||||
@@ -51,14 +51,14 @@
|
|||||||
attack_self()
|
attack_self()
|
||||||
return
|
return
|
||||||
if(SOUTHWEST)
|
if(SOUTHWEST)
|
||||||
if(iscarbon(usr))
|
if(isliving(usr))
|
||||||
var/mob/living/carbon/C = usr
|
var/mob/living/carbon/C = usr
|
||||||
C.toggle_throw_mode()
|
C.toggle_throw_mode()
|
||||||
else
|
else
|
||||||
usr << "<font color='red'>This mob type cannot throw items.</font>"
|
usr << "<font color='red'>This mob type cannot throw items.</font>"
|
||||||
return
|
return
|
||||||
if(NORTHWEST)
|
if(NORTHWEST)
|
||||||
if(iscarbon(usr))
|
if(isliving(usr))
|
||||||
var/mob/living/carbon/C = usr
|
var/mob/living/carbon/C = usr
|
||||||
if(!C.get_active_hand())
|
if(!C.get_active_hand())
|
||||||
usr << "<font color='red'>You have nothing to drop in your hand.</font>"
|
usr << "<font color='red'>You have nothing to drop in your hand.</font>"
|
||||||
@@ -79,8 +79,9 @@
|
|||||||
|
|
||||||
/client/verb/swap_hand()
|
/client/verb/swap_hand()
|
||||||
set hidden = 1
|
set hidden = 1
|
||||||
if(istype(mob, /mob/living/carbon))
|
if(istype(mob, /mob/living))
|
||||||
mob:swap_hand()
|
var/mob/living/L = mob
|
||||||
|
L.swap_hand()
|
||||||
if(istype(mob,/mob/living/silicon/robot))
|
if(istype(mob,/mob/living/silicon/robot))
|
||||||
var/mob/living/silicon/robot/R = mob
|
var/mob/living/silicon/robot/R = mob
|
||||||
R.cycle_modules()
|
R.cycle_modules()
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
/mob/proc/update_icons()
|
/mob/proc/update_icons()
|
||||||
|
update_icon() //Ugh.
|
||||||
return
|
return
|
||||||
|
|
||||||
/mob/proc/update_icons_layers(var/update_icons = TRUE)
|
/mob/proc/update_icons_layers(var/update_icons = TRUE)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
/datum/nano_module/alarm_monitor/proc/all_alarms()
|
/datum/nano_module/alarm_monitor/proc/all_alarms()
|
||||||
var/list/all_alarms = new()
|
var/list/all_alarms = new()
|
||||||
for(var/datum/alarm_handler/AH in alarm_handlers)
|
for(var/datum/alarm_handler/AH in alarm_handlers)
|
||||||
all_alarms += AH.alarms
|
all_alarms += AH.visible_alarms()
|
||||||
|
|
||||||
return all_alarms
|
return all_alarms
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,8 @@
|
|||||||
|
|
||||||
// TODO: Move these to a cache, similar to cameras
|
// TODO: Move these to a cache, similar to cameras
|
||||||
for(var/obj/machinery/alarm/alarm in (monitored_alarms.len ? monitored_alarms : machines))
|
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(
|
alarms[++alarms.len] = list(
|
||||||
"name" = sanitize(alarm.name),
|
"name" = sanitize(alarm.name),
|
||||||
"ref"= "\ref[alarm]",
|
"ref"= "\ref[alarm]",
|
||||||
|
|||||||
@@ -35,6 +35,50 @@
|
|||||||
var/const/signfont = "Times New Roman"
|
var/const/signfont = "Times New Roman"
|
||||||
var/const/crayonfont = "Comic Sans MS"
|
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", "<BR>")
|
||||||
|
info = parsepencode(info)
|
||||||
|
return
|
||||||
|
|
||||||
/obj/item/weapon/paper/alien
|
/obj/item/weapon/paper/alien
|
||||||
name = "alien tablet"
|
name = "alien tablet"
|
||||||
desc = "It looks highly advanced"
|
desc = "It looks highly advanced"
|
||||||
|
|||||||
@@ -56,6 +56,9 @@
|
|||||||
/obj/machinery/power/apc/hyper
|
/obj/machinery/power/apc/hyper
|
||||||
cell_type = /obj/item/weapon/cell/hyper
|
cell_type = /obj/item/weapon/cell/hyper
|
||||||
|
|
||||||
|
/obj/machinery/power/apc/alarms_hidden
|
||||||
|
alarms_hidden = TRUE
|
||||||
|
|
||||||
/obj/machinery/power/apc
|
/obj/machinery/power/apc
|
||||||
name = "area power controller"
|
name = "area power controller"
|
||||||
desc = "A control terminal for the area electrical systems."
|
desc = "A control terminal for the area electrical systems."
|
||||||
@@ -107,12 +110,12 @@
|
|||||||
var/failure_timer = 0
|
var/failure_timer = 0
|
||||||
var/force_update = 0
|
var/force_update = 0
|
||||||
var/updating_icon = 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_lock
|
||||||
var/global/list/status_overlays_charging
|
var/global/list/status_overlays_charging
|
||||||
var/global/list/status_overlays_equipment
|
var/global/list/status_overlays_equipment
|
||||||
var/global/list/status_overlays_lighting
|
var/global/list/status_overlays_lighting
|
||||||
var/global/list/status_overlays_environ
|
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()
|
/obj/machinery/power/apc/updateDialog()
|
||||||
if (stat & (BROKEN|MAINT))
|
if (stat & (BROKEN|MAINT))
|
||||||
@@ -226,7 +229,7 @@
|
|||||||
area.apc = src
|
area.apc = src
|
||||||
|
|
||||||
if(istype(area, /area/submap))
|
if(istype(area, /area/submap))
|
||||||
secret = TRUE
|
alarms_hidden = TRUE
|
||||||
|
|
||||||
update_icon()
|
update_icon()
|
||||||
|
|
||||||
@@ -1113,8 +1116,7 @@
|
|||||||
equipment = autoset(equipment, 0)
|
equipment = autoset(equipment, 0)
|
||||||
lighting = autoset(lighting, 0)
|
lighting = autoset(lighting, 0)
|
||||||
environ = autoset(environ, 0)
|
environ = autoset(environ, 0)
|
||||||
if(!secret)
|
power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden)
|
||||||
power_alarm.triggerAlarm(loc, src)
|
|
||||||
autoflag = 0
|
autoflag = 0
|
||||||
|
|
||||||
// update icon & area power if anything changed
|
// update icon & area power if anything changed
|
||||||
@@ -1144,24 +1146,21 @@
|
|||||||
equipment = autoset(equipment, 2)
|
equipment = autoset(equipment, 2)
|
||||||
lighting = autoset(lighting, 1)
|
lighting = autoset(lighting, 1)
|
||||||
environ = autoset(environ, 1)
|
environ = autoset(environ, 1)
|
||||||
if(!secret)
|
power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden)
|
||||||
power_alarm.triggerAlarm(loc, src)
|
|
||||||
autoflag = 2
|
autoflag = 2
|
||||||
else if(cell.percent() <= 15) // <15%, turn off lighting & equipment
|
else if(cell.percent() <= 15) // <15%, turn off lighting & equipment
|
||||||
if((autoflag > 1 && longtermpower < 0) || (autoflag > 1 && longtermpower >= 0))
|
if((autoflag > 1 && longtermpower < 0) || (autoflag > 1 && longtermpower >= 0))
|
||||||
equipment = autoset(equipment, 2)
|
equipment = autoset(equipment, 2)
|
||||||
lighting = autoset(lighting, 2)
|
lighting = autoset(lighting, 2)
|
||||||
environ = autoset(environ, 1)
|
environ = autoset(environ, 1)
|
||||||
if(!secret)
|
power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden)
|
||||||
power_alarm.triggerAlarm(loc, src)
|
|
||||||
autoflag = 1
|
autoflag = 1
|
||||||
else // zero charge, turn all off
|
else // zero charge, turn all off
|
||||||
if(autoflag != 0)
|
if(autoflag != 0)
|
||||||
equipment = autoset(equipment, 0)
|
equipment = autoset(equipment, 0)
|
||||||
lighting = autoset(lighting, 0)
|
lighting = autoset(lighting, 0)
|
||||||
environ = autoset(environ, 0)
|
environ = autoset(environ, 0)
|
||||||
if(!secret)
|
power_alarm.triggerAlarm(loc, src, hidden=alarms_hidden)
|
||||||
power_alarm.triggerAlarm(loc, src)
|
|
||||||
autoflag = 0
|
autoflag = 0
|
||||||
|
|
||||||
// val 0=off, 1=off(auto) 2=on 3=on(auto)
|
// val 0=off, 1=off(auto) 2=on 3=on(auto)
|
||||||
|
|||||||
@@ -376,6 +376,29 @@
|
|||||||
reagents.add_reagent("coco", 2)
|
reagents.add_reagent("coco", 2)
|
||||||
bitesize = 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
|
/obj/item/weapon/reagent_containers/food/snacks/chocolateegg
|
||||||
name = "Chocolate Egg"
|
name = "Chocolate Egg"
|
||||||
desc = "Such sweet, fattening food."
|
desc = "Such sweet, fattening food."
|
||||||
|
|||||||
4
html/changelogs/PrismaticGynoid-universalponchos.yml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
author: PrismaticGynoid
|
||||||
|
delete-after: True
|
||||||
|
changes:
|
||||||
|
- tweak: "Changed department ponchos to be open to any job, just like department jackets."
|
||||||
9
html/changelogs/schnayy-giftcrates.yml
Normal file
@@ -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."
|
||||||
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 70 KiB |
BIN
icons/mob/screen1_animal.dmi
Normal file
|
After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
117
maps/submaps/surface_submaps/plains/Boathouse.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
110
maps/submaps/surface_submaps/plains/Diner.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
45
maps/submaps/surface_submaps/plains/Mechpt.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
55
maps/submaps/surface_submaps/plains/PooledR.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
40
maps/submaps/surface_submaps/plains/Rocky2.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
@@ -1,13 +1,14 @@
|
|||||||
"a" = (/turf/template_noop,/area/template_noop)
|
"a" = (/turf/template_noop,/area/template_noop)
|
||||||
"b" = (/turf/template_noop,/area/submap/Shakden)
|
"b" = (/turf/template_noop,/area/submap/Shakden)
|
||||||
"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Shakden)
|
"c" = (/turf/simulated/mineral/ignore_mapgen,/area/submap/Shakden)
|
||||||
"d" = (/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,/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,/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,/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,/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" = (/obj/item/weapon/reagent_containers/food/snacks/meat,/turf/simulated/floor/outdoors/dirt,/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,/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)
|
"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) = {"
|
(1,1,1) = {"
|
||||||
aaaaaaaaaaaaaaaaaaaa
|
aaaaaaaaaaaaaaaaaaaa
|
||||||
@@ -25,7 +26,7 @@ abcedddddddddccdddba
|
|||||||
accddgddgdddcccdddba
|
accddgddgdddcccdddba
|
||||||
acccdddddddcccdddbba
|
acccdddddddcccdddbba
|
||||||
acccddgdddfcccdddbba
|
acccddgdddfcccdddbba
|
||||||
accccdddgijcccddcbba
|
accccdddijkcccddcbba
|
||||||
abccccddddecccddccba
|
abccccddddecccddccba
|
||||||
abccccccccccccccccba
|
abccccccccccccccccba
|
||||||
abbccccccbbbbccccbba
|
abbccccccbbbbccccbba
|
||||||
|
|||||||
23
maps/submaps/surface_submaps/plains/Smol3.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
39
maps/submaps/surface_submaps/plains/Theifc.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
@@ -12,8 +12,22 @@
|
|||||||
#include "bonfire.dmm"
|
#include "bonfire.dmm"
|
||||||
#include "Rocky5.dmm"
|
#include "Rocky5.dmm"
|
||||||
#include "Field1.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
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// The 'plains' is the area outside the immediate perimeter of the big outpost.
|
// 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.
|
// 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.
|
||||||
|
|
||||||
@@ -95,3 +109,75 @@
|
|||||||
desc = "A regular field with a tug on it"
|
desc = "A regular field with a tug on it"
|
||||||
mappath = 'maps/submaps/surface_submaps/plains/Field1.dmm'
|
mappath = 'maps/submaps/surface_submaps/plains/Field1.dmm'
|
||||||
cost = 20
|
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
|
||||||
|
|||||||
@@ -36,3 +36,40 @@
|
|||||||
|
|
||||||
/area/submap/Field1
|
/area/submap/Field1
|
||||||
name = "Field 1"
|
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"
|
||||||
|
|
||||||
|
|||||||
21
maps/submaps/surface_submaps/plains/smol2.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
16
maps/submaps/surface_submaps/plains/snow1.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
26
maps/submaps/surface_submaps/plains/snow2.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
16
maps/submaps/surface_submaps/plains/snow3.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
16
maps/submaps/surface_submaps/plains/snow4.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
22
maps/submaps/surface_submaps/plains/snow5.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
74
maps/submaps/surface_submaps/wilderness/Drugden.dmm
Normal file
@@ -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
|
||||||
|
"}
|
||||||
@@ -9,151 +9,165 @@
|
|||||||
"ai" = (/obj/machinery/porta_turret/stationary,/turf/simulated/floor,/area/submap/Rockybase)
|
"ai" = (/obj/machinery/porta_turret/stationary,/turf/simulated/floor,/area/submap/Rockybase)
|
||||||
"aj" = (/obj/effect/decal/cleanable/blood,/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)
|
"ak" = (/obj/structure/flora/tree/sif,/turf/template_noop,/area/template_noop)
|
||||||
"al" = (/obj/machinery/light,/turf/simulated/floor,/area/submap/Rockybase)
|
"al" = (/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase)
|
||||||
"am" = (/turf/simulated/wall/r_wall,/area/submap/Rockybase)
|
"am" = (/obj/machinery/light,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase)
|
||||||
"an" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/submap/Rockybase)
|
"an" = (/obj/effect/decal/cleanable/blood,/obj/effect/floor_decal/industrial/danger,/turf/simulated/floor,/area/submap/Rockybase)
|
||||||
"ao" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"ao" = (/turf/simulated/wall/r_wall,/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)
|
"ap" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/submap/Rockybase)
|
||||||
"aq" = (/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase)
|
"aq" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/tiled,/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)
|
"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" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase)
|
"as" = (/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase)
|
||||||
"at" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/lino,/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/item/device/flashlight/lamp,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase)
|
"au" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/cobweb,/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)
|
"av" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase)
|
||||||
"aw" = (/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/bed,/obj/item/weapon/bedsheet,/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" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/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,/obj/item/toy/plushie/spider,/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/closet/l3closet/janitor,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"aA" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase)
|
||||||
"aB" = (/mob/living/bot/cleanbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/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/item/weapon/stool,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"aC" = (/obj/structure/closet/l3closet/janitor,/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)
|
"aD" = (/mob/living/bot/cleanbot{faction = "malf_drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"aE" = (/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"aE" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"aF" = (/obj/structure/table/standard,/obj/item/device/laptop,/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" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"aG" = (/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)
|
"aH" = (/obj/structure/table/standard,/obj/item/device/laptop,/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)
|
"aI" = (/obj/structure/table/standard,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"aJ" = (/obj/machinery/light{dir = 1},/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/machinery/vending/coffee,/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/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)
|
"aL" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"aM" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"aM" = (/obj/machinery/vending/coffee,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"aN" = (/obj/structure/closet/crate/hydroponics,/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/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)
|
"aO" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/tiled,/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)
|
"aP" = (/obj/structure/closet/crate/hydroponics,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"aQ" = (/obj/structure/janitorialcart,/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/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)
|
"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/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"aS" = (/obj/structure/janitorialcart,/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)
|
"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/structure/bed/chair{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"aU" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"aV" = (/obj/machinery/vending/security,/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/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)
|
"aW" = (/obj/structure/bed/chair{dir = 8},/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)
|
"aX" = (/obj/machinery/vending/security,/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)
|
"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/item/mecha_parts/part/gygax_left_leg,/turf/simulated/floor/holofloor/lino,/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/light,/turf/simulated/floor/holofloor/lino,/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/structure/bed,/obj/item/weapon/bedsheet,/obj/item/weapon/gun/projectile/pistol,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase)
|
"bb" = (/obj/item/mecha_parts/part/gygax_left_leg,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase)
|
||||||
"bc" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"bc" = (/obj/machinery/light,/turf/simulated/floor/holofloor/lino,/area/submap/Rockybase)
|
||||||
"bd" = (/obj/structure/loot_pile/maint/trash,/turf/simulated/floor/tiled,/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/table/standard,/obj/item/weapon/storage/bag/trash,/obj/item/weapon/storage/bag/trash,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"be" = (/obj/structure/closet/crate/trashcart,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bf" = (/obj/structure/table/standard,/obj/item/weapon/paper_bin,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"bf" = (/obj/structure/loot_pile/maint/trash,/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)
|
"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/machinery/door/airlock/security{icon_state = "door_locked"; locked = 1},/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,/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/structure/table/rack,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/weapon/gun/projectile/automatic/c20r,/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/portable_atmospherics/hydroponics,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"bk" = (/obj/machinery/light,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bl" = (/obj/machinery/door/airlock,/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" = (/mob/living/bot/farmbot{faction = "malf_drone"; name = "Mr. Weddleton"},/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"bm" = (/obj/machinery/portable_atmospherics/hydroponics,/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)
|
"bn" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bo" = (/obj/machinery/vending/cola,/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/structure/door_assembly,/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/effect/decal/cleanable/dirt,/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/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"br" = (/obj/effect/floor_decal/borderfloor{dir = 1},/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bs" = (/mob/living/simple_animal/hostile/malf_drone/lesser,/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/effect/decal/cleanable/blood,/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/remains,/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/machinery/door/airlock,/turf/simulated/floor/tiled/hydro,/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" = (/obj/machinery/vending/snack,/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/item/stack/rods,/obj/structure/girder,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"bx" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"by" = (/obj/item/mecha_parts/part/gygax_right_arm,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"by" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bz" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase)
|
"bz" = (/obj/effect/decal/remains,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bA" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"bA" = (/obj/machinery/door/airlock,/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase)
|
||||||
"bB" = (/turf/simulated/wall,/area/submap/Rockybase)
|
"bB" = (/obj/machinery/vending/snack,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bC" = (/obj/structure/table/standard,/obj/item/device/kit/paint/gygax/darkgygax,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"bC" = (/obj/effect/floor_decal/borderfloor,/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)
|
"bD" = (/obj/effect/decal/cleanable/dirt,/obj/effect/floor_decal/borderfloor,/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)
|
"bE" = (/obj/item/stack/rods,/obj/structure/girder,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bF" = (/obj/structure/table/standard,/obj/random/toolbox,/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/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)
|
"bG" = (/obj/machinery/light,/obj/effect/floor_decal/borderfloor,/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)
|
"bH" = (/obj/effect/decal/cleanable/blood,/obj/effect/floor_decal/borderfloor,/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)
|
"bI" = (/obj/item/mecha_parts/part/gygax_right_arm,/obj/effect/floor_decal/borderfloor,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bJ" = (/obj/structure/table/standard,/obj/item/stack/material/steel,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"bJ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/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)
|
"bK" = (/obj/machinery/door/airlock/engineering,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bL" = (/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase)
|
"bL" = (/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bM" = (/obj/structure/table/standard,/obj/fiftyspawner/rods,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"bM" = (/turf/simulated/wall,/area/submap/Rockybase)
|
||||||
"bN" = (/obj/machinery/vending/engivend,/turf/simulated/floor/tiled,/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/machinery/vending/tool,/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/item/weapon/storage/toolbox,/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/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"bQ" = (/obj/structure/table/standard,/obj/random/toolbox,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"bR" = (/obj/item/mecha_parts/part/gygax_torso,/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/machinery/light{dir = 1},/obj/structure/closet/crate/medical,/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/structure/table/standard,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/burn,/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/clothing/mask/breath/medical,/obj/effect/decal/cleanable/dirt,/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/closet/secure_closet/medical2,/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/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase)
|
"bW" = (/obj/structure/door_assembly,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled,/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)
|
"bX" = (/obj/item/weapon/material/shard,/turf/simulated/floor,/area/submap/Rockybase)
|
||||||
"bY" = (/obj/structure/table/standard,/obj/item/device/mmi/digital/robot,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"bY" = (/obj/structure/table/standard,/obj/fiftyspawner/rods,/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)
|
"bZ" = (/obj/machinery/vending/engivend,/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)
|
"ca" = (/obj/machinery/vending/tool,/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)
|
"cb" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox,/turf/simulated/floor/tiled,/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)
|
"cc" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"cd" = (/obj/effect/decal/cleanable/dirt,/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase)
|
"cd" = (/obj/item/mecha_parts/part/gygax_torso,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"ce" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase)
|
"ce" = (/obj/machinery/light{dir = 1},/obj/structure/closet/crate/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"cf" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table,/turf/simulated/floor,/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/girder,/turf/simulated/floor,/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/medical1,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"ch" = (/obj/structure/closet/secure_closet/medical2,/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)
|
"ci" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase)
|
||||||
"cj" = (/obj/machinery/drone_fabricator,/turf/simulated/floor/tiled,/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/machinery/mecha_part_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"ck" = (/obj/structure/table/standard,/obj/item/device/mmi/digital/robot,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"cl" = (/obj/machinery/pros_fabricator,/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/table/standard,/obj/item/mecha_parts/mecha_equipment/repair_droid,/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/machinery/light{dir = 8},/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/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)
|
"co" = (/obj/structure/door_assembly,/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)
|
"cp" = (/obj/item/stack/rods,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/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)
|
"cq" = (/obj/effect/decal/cleanable/dirt,/obj/structure/girder,/turf/simulated/floor,/area/submap/Rockybase)
|
||||||
"cr" = (/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"cr" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase)
|
||||||
"cs" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"cs" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table,/turf/simulated/floor,/area/submap/Rockybase)
|
||||||
"ct" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase)
|
"ct" = (/obj/structure/girder,/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)
|
"cu" = (/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor/tiled,/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)
|
"cv" = (/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor/tiled/hydro,/area/submap/Rockybase)
|
||||||
"cw" = (/obj/item/mecha_parts/part/gygax_armour,/turf/simulated/floor,/area/submap/Rockybase)
|
"cw" = (/obj/machinery/drone_fabricator,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"cx" = (/obj/item/mecha_parts/chassis/gygax,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"cx" = (/obj/machinery/mecha_part_fabricator,/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)
|
"cy" = (/obj/machinery/pros_fabricator,/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)
|
"cz" = (/obj/structure/table/standard,/obj/item/mecha_parts/mecha_equipment/repair_droid,/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)
|
"cA" = (/obj/machinery/light{dir = 8},/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)
|
"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/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)
|
"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/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)
|
"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/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)
|
"cE" = (/obj/machinery/vending/medical,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"cF" = (/obj/item/mecha_parts/part/gygax_right_leg,/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/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)
|
"cG" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor,/area/submap/Rockybase)
|
||||||
"cH" = (/obj/machinery/vending,/turf/simulated/floor/tiled,/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/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/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/machinery/power/smes/buildable/point_of_interest,/obj/structure/cable/green,/turf/simulated/floor,/area/submap/Rockybase)
|
"cJ" = (/obj/item/mecha_parts/part/gygax_armour,/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)
|
"cK" = (/obj/item/mecha_parts/chassis/gygax,/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)
|
"cL" = (/mob/living/simple_animal/hostile/mecha/malf_drone{name = "Autonomous Mechanized Drone"},/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"cM" = (/obj/structure/closet/secure_closet/hydroponics,/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/mech_recharger,/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/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)
|
"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/table/standard,/obj/item/stack/material/glass,/obj/item/stack/material/steel,/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/structure/table/standard,/obj/item/mecha_parts/part/gygax_head,/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/structure/closet/toolcloset,/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/structure/closet/secure_closet/medical3,/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/weapon/surgical/surgicaldrill,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"cT" = (/obj/item/mecha_parts/part/gygax_right_leg,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"cU" = (/obj/structure/loot_pile/maint/technical,/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/item/clothing/suit/space/void/medical,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
"cV" = (/obj/machinery/vending,/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)
|
"cW" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/submap/Rockybase)
|
||||||
"cX" = (/obj/machinery/vending/hydroseeds,/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/structure/closet/crate/secure/hydrosec,/turf/simulated/floor/tiled,/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/remains,/turf/template_noop,/area/template_noop)
|
"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) = {"
|
(1,1,1) = {"
|
||||||
aaabababababababababababababababababababaaababababababababababababababababababababababababababababaa
|
aaabababababababababababababababababababaaababababababababababababababababababababababababababababaa
|
||||||
@@ -164,26 +178,26 @@ abadadadadadadadadadadadadadadadaeadadadadadadadadadadadadadadadadadadadadadadad
|
|||||||
abadadafafafafafadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaeadadadadadadadadadadab
|
abadadafafafafafadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadaeadadadadadadadadadadab
|
||||||
abadadafafafafafafagadadadafafafafafadadadadadadadadahahahahahahadadadadadadadadadafafafagadadadadab
|
abadadafafafafafafagadadadafafafafafadadadadadadadadahahahahahahadadadadadadadadadafafafagadadadadab
|
||||||
abadafafafafafafafafafafafafafafafafafadadadadadaiahahajahahahahahaiadadadadadafafafafafafafafafadab
|
abadafafafafafafafafafafafafafafafafafadadadadadaiahahajahahahahahaiadadadadadafafafafafafafafafadab
|
||||||
akadafafafafafafafafafafafafafafafafafafafafafahahalahahahahahajalahahafafafafafafafafafafafafafadab
|
akadafafafafafafafafafafafafafafafafafafafafafalalamalalalalalanamalalafafafafafafafafafafafafafadab
|
||||||
abadafafamamamamamamamamamamamamamamamamamamamamamamamanaoaoanamamamamamamamamamamamamamafafafafadab
|
abadafafaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoapaqaqapaoaoaoaoaoaoaoaoaoaoaoaoaoafafafafadab
|
||||||
abadafamamapaqaramasatauavawawataxayaxatazamamaAaBaCaDamaEaEamaFaGaHaIaJaKamaEaLamaMaNamamafafafadab
|
abadafaoaoarasataoauavawaxayayavazaAazavaBaoaoaCaDaEaFaoaGaGaoaHaIaJaKaLaMaoaGaNaoaOaPaoaoafafafadab
|
||||||
abafafamamaOaqaPamawawawawawawawawawawawawamamaQaEaEaRamaSaEamaTaUaEaEaEaVamaEaWamaEaXamamafafafadab
|
abafafaoaoaQasaRaoayayayayayayayayayayayayaoaoaSaGaGaTaoaUaGaoaVaWaGaGaGaXaoaGaYaoaGaZaoaoafafafadab
|
||||||
abafafamamaOaqaYamawaZawawbaawatbbataxataxamambcaEbdbeamaEaEambfbgaEaEaEaEbhbibjamaEbkamamafafafadab
|
abafafaoaoaQasbaaoaybbayaybcayavbdavazavazaoaobeaGbfbgaoaGaGaobhbiaGaGaGaGbjbkblaoaGbmaoaoafafafadab
|
||||||
abafafamamaqaqaqamamamblamamamamamamamamamamamamblamamamaoaoamamamamamblamamamamambmbnamamafafafadab
|
abafafaoaoasasasaoaoaobnaoaoaoaoaoaoaoaoaoaoaoaobnaoaoaoaqaqaoaoaoaoaobnaoaoaoaoaobobpaoaoafafafadab
|
||||||
abafafamamamblamamboaEaEaEaEaJaEaEaEaEbpaEaJaEaEaEaEaEaEaEaEaEaEaJaEaEaEaEbqbqbramaEbkamamafafafadab
|
abafafaoaoaobnaoaobqbrbrbrbrbsbrbrbrbrbtbrbsbrbrbrbrbrbrbrbrbrbrbsbrbrbrbrbububvaoaGbmaoaoafafafadab
|
||||||
abafafamamaSaEaEaEaEaEaEbsbqbqaEbtbuaEaEaEaEaEaEaEaEaEaEbqaEaEaEaEaEaEaEaEbsbqbqblaEbkamamafafafadab
|
abafafaoaoaUaGaGaGaGaGaGbwbxbxaGbybzaGaGaGaGaGaGaGaGaGaGbxaGaGaGaGaGaGaGaGbwbxbxbnaGbmaoaoafafafadab
|
||||||
abadafamamambvamambwaEaEbqbqbqaEaEaEbxaEahbubiaEbtaEbqbqbqaEaEaEaEaEbiaEaEaEaEbyamaEbnamamafafafadab
|
abadafaoaoaobAaoaobBbCbCbDbDbDbCbCbCbEaGahbFbGbCbHbCbDbDbDbCbCbCbCbCbGbCbCbCbCbIaoaGbpaoaoafafafadab
|
||||||
abadafamambzaqaqamamamamamamamamamamamahahamamamambAamamamamaEamamamamamamamamamamaEbkamamafafafadab
|
abadafaoaobJasasaoaoaoaoaoaoaoaoaoaoaoahahaoaoaoaobKaoaoaoaobLaoaoaoaoaoaoaoaoaoaoaGbmaoaoafafafadab
|
||||||
abadafamambBbBaqambCbDbEbFbGbHbIbJbKbpahbLbMambNbOaEbPbQambRaEaEbSbTbUbqaEaEaEbVamaEbkamamafafafadab
|
abadafaoaobMbMasaobNbObPbQbRbSbTbUbVbWahbXbYaobZcaaGcbccaocdbLaGcecfcgbxaGaGaGchaoaGbmaoaoafafafadab
|
||||||
abadafamambWbvbXamaEaEaEaEaEaEaEaEaEaEaEahbYamaEaEbZcacbambpaEbqbqcccdcecfcgaEchamaEbnamamafafafaeab
|
abadafaoaocibAcjaoaGaGaGaGaGaGaGaGaGbLbLahckaoaGaGclcmcnaocoaGbxbxcpcqcrcsctaGcuaoaGbpaoaoafafafaeab
|
||||||
abadafamambBbBciamaEcjaEaEcjaEaEckaEclaEahcmamcnbqcocpcqamcraEbqcsctcucvctcwahaEamaEbkamamafafadadab
|
abadafaoaobMbMcvaoaGcwaGaGcwaGaGcxaGcybLahczaocAbxcBcCcDaocEaGbxcFcGcHcIcGcJahaGaoaGbmaoaoafafadadab
|
||||||
abadafamambWbvaqamcnaEaEcxaEcyaEbqbqaEaEaEczamcAcBcCcBcDamaEaEbqcEcvcvctcfahbLaEamaEcFamamafafadadab
|
abadafaoaocibAasaocAaGaGcKaGcLaGcMbxcMbLbLcNaocOcPcQcPcRaoaGaGbxcScIcIcGcsahbXaGaoaGcTaoaoafafadadab
|
||||||
abadafamambBbBcGamaEcjaEaEahahbqbqbqbqaEaEcHamaEaEcIcpcJamcKaEaEcLctcecececeahbqamaEcMamamafagadadab
|
abadafaoaobMbMcUaoaGcwaGaGahahbxbxbxbxaGaGcVaoaGaGcWcCcXaocYaGaGcZcGcrcrcrcrahbxaoaGdaaoaoafagadadab
|
||||||
abadafamambWbvaqamaEaEaEaEaEaEbicNaEcNaEaEbOamcOcPcQaEcRamcSaEcTaEaEcUcgcUcVbqcWamcXcYamamafafadadab
|
abadafaoaocibAasaoaGaGaGaGaGaGbkdbaGdbaGaGcaaodcdddeaGdfaodgaGdhaGaGdictdidjbxdkaodldmaoaoafafadadab
|
||||||
abadafafamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamamafafadadadab
|
abadafafaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoaoafafadadadab
|
||||||
abadafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafadadadab
|
abadafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafadadadab
|
||||||
abadafafafafafafafafafafafafafafafafafafafafafafafafafafafafafadafafafadadadafafafafafafafadadadadab
|
abadafafafafafafafafafafafafafafafafafafafafafafafafafafafafafadafafafadadadafafafafafafafadadadadab
|
||||||
abadadafafafafafafafafafafafafagadadadafafafafafafadadadadadadadadadadadadadadadadadadadadadadadadab
|
abadadafafafafafafafafafafafafagadadadafafafafafafadadadadadadadadadadadadadadadadadadadadadadadadab
|
||||||
abadaeadadadadadadafafafafafadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadab
|
abadaeadadadadadadafafafafafadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadab
|
||||||
aaabcZababababababababababababababababababaaababababababababababababababababakababababababcZabakabab
|
aaabdnababababababababababababababababababaaababababababababababababababababakababababababdnabakabab
|
||||||
"}
|
"}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
#include "DecoupledEngine.dmm"
|
#include "DecoupledEngine.dmm"
|
||||||
#include "DoomP.dmm"
|
#include "DoomP.dmm"
|
||||||
#include "CaveS.dmm"
|
#include "CaveS.dmm"
|
||||||
|
#include "Drugden.dmm"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -179,3 +180,9 @@
|
|||||||
desc = "Chitter chitter!"
|
desc = "Chitter chitter!"
|
||||||
mappath = 'maps/submaps/surface_submaps/wilderness/CaveS.dmm'
|
mappath = 'maps/submaps/surface_submaps/wilderness/CaveS.dmm'
|
||||||
cost = 20
|
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
|
||||||
@@ -71,3 +71,7 @@
|
|||||||
|
|
||||||
/area/submap/CaveS
|
/area/submap/CaveS
|
||||||
name = "CaveS"
|
name = "CaveS"
|
||||||
|
|
||||||
|
/area/submap/Drugd
|
||||||
|
name = "DrugDen"
|
||||||
|
|
||||||
|
|||||||
@@ -1849,6 +1849,7 @@
|
|||||||
#include "code\modules\mob\living\silicon\robot\subtypes\syndicate.dm"
|
#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\corpse.dm"
|
||||||
#include "code\modules\mob\living\simple_animal\simple_animal.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\alien.dm"
|
||||||
#include "code\modules\mob\living\simple_animal\aliens\creature.dm"
|
#include "code\modules\mob\living\simple_animal\aliens\creature.dm"
|
||||||
#include "code\modules\mob\living\simple_animal\aliens\drone.dm"
|
#include "code\modules\mob\living\simple_animal\aliens\drone.dm"
|
||||||
|
|||||||