mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
more fixes
This commit is contained in:
11
_runtimestation.dm
Normal file
11
_runtimestation.dm
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
/*
|
||||||
|
Toggle this var to 1 to compile using runtime station instead.
|
||||||
|
Useful if you're constantly having to recompile to debug something.
|
||||||
|
*/
|
||||||
|
#define RUNTIME_STATION 0
|
||||||
|
|
||||||
|
#if RUNTIME_STATION
|
||||||
|
#include "modular_chomp/maps/runtime/runtime_station_defines.dm"
|
||||||
|
#include "modular_chomp/maps/runtime/runtime_station.dmm"
|
||||||
|
#define USING_MAP_DATUM /datum/map/runtime_station
|
||||||
|
#endif
|
||||||
@@ -3,3 +3,14 @@
|
|||||||
return FALSE
|
return FALSE
|
||||||
|
|
||||||
return ..()
|
return ..()
|
||||||
|
/*
|
||||||
|
/datum/ai_holder/can_see_target(atom/movable/the_target, view_range = vision_range)
|
||||||
|
log_world("TARGET: [the_target] and TARGET.LOC: [the_target.loc]")
|
||||||
|
if(the_target && !isturf(the_target.loc)) //CHOMPEdit, AI shouldn't be targetting people inside objects of any kind
|
||||||
|
if(ismecha(the_target.loc)) //Except mechs, of course
|
||||||
|
target = the_target.loc
|
||||||
|
else
|
||||||
|
return FALSE
|
||||||
|
|
||||||
|
return ..()
|
||||||
|
*/
|
||||||
@@ -316,12 +316,17 @@
|
|||||||
|
|
||||||
/mob/living/simple_mob/protean_blob/Life()
|
/mob/living/simple_mob/protean_blob/Life()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
if(!humanform.nano_dead_check(src))
|
||||||
if(. && istype(refactory) && humanform)
|
if(. && istype(refactory) && humanform)
|
||||||
if(!healing && (human_brute || human_burn) && refactory.get_stored_material(MAT_STEEL) >= 100)
|
if(!healing && (human_brute || human_burn) && refactory.get_stored_material(MAT_STEEL) >= 100)
|
||||||
healing = humanform.add_modifier(/datum/modifier/protean/steel, origin = refactory)
|
healing = humanform.add_modifier(/datum/modifier/protean/steel, origin = refactory)
|
||||||
else if(healing && !(human_brute || human_burn))
|
else if(healing && !(human_brute || human_burn))
|
||||||
healing.expire()
|
healing.expire()
|
||||||
healing = null
|
healing = null
|
||||||
|
else
|
||||||
|
if(healing)
|
||||||
|
healing.expire()
|
||||||
|
healing = null
|
||||||
|
|
||||||
/mob/living/simple_mob/protean_blob/lay_down()
|
/mob/living/simple_mob/protean_blob/lay_down()
|
||||||
var/obj/item/weapon/rig/rig = src.get_rig()
|
var/obj/item/weapon/rig/rig = src.get_rig()
|
||||||
@@ -438,7 +443,7 @@
|
|||||||
to_chat(src,"<span class='warning'>You can't change forms while inside something.</span>")
|
to_chat(src,"<span class='warning'>You can't change forms while inside something.</span>")
|
||||||
return
|
return
|
||||||
to_chat(src, "<span class='notice'>You rapidly disassociate your form</span>")
|
to_chat(src, "<span class='notice'>You rapidly disassociate your form</span>")
|
||||||
if(force || do_after(src,20))
|
if(force || do_after(src,20,exclusive = TASK_ALL_EXCLUSIVE))
|
||||||
handle_grasp() //It's possible to blob out before some key parts of the life loop. This results in things getting dropped at null. TODO: Fix the code so this can be done better.
|
handle_grasp() //It's possible to blob out before some key parts of the life loop. This results in things getting dropped at null. TODO: Fix the code so this can be done better.
|
||||||
remove_micros(src, src) //Living things don't fare well in roblobs.
|
remove_micros(src, src) //Living things don't fare well in roblobs.
|
||||||
if(buckled)
|
if(buckled)
|
||||||
@@ -545,7 +550,7 @@
|
|||||||
to_chat(blob,"<span class='warning'>You can't change forms while inside something.</span>")
|
to_chat(blob,"<span class='warning'>You can't change forms while inside something.</span>")
|
||||||
return
|
return
|
||||||
to_chat(src, "<span class='notice'>You rapidly reassemble your form</span>")
|
to_chat(src, "<span class='notice'>You rapidly reassemble your form</span>")
|
||||||
if(force || do_after(blob,20))
|
if(force || do_after(blob,20,exclusive = TASK_ALL_EXCLUSIVE))
|
||||||
if(buckled)
|
if(buckled)
|
||||||
buckled.unbuckle_mob()
|
buckled.unbuckle_mob()
|
||||||
if(LAZYLEN(buckled_mobs))
|
if(LAZYLEN(buckled_mobs))
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
else
|
else
|
||||||
blob = temporary_form
|
blob = temporary_form
|
||||||
active_regen = 1
|
active_regen = 1
|
||||||
if(do_after(blob,50))
|
if(do_after(blob,50,exclusive = TASK_ALL_EXCLUSIVE))
|
||||||
var/list/limblist = species.has_limbs[choice]
|
var/list/limblist = species.has_limbs[choice]
|
||||||
var/limbpath = limblist["path"]
|
var/limbpath = limblist["path"]
|
||||||
var/obj/item/organ/external/new_eo = new limbpath(src)
|
var/obj/item/organ/external/new_eo = new limbpath(src)
|
||||||
@@ -105,7 +105,7 @@
|
|||||||
var/obj/item/organ/internal/nano/refactory/refactory = nano_get_refactory()
|
var/obj/item/organ/internal/nano/refactory/refactory = nano_get_refactory()
|
||||||
if(refactory.get_stored_material(MAT_STEEL) >= 10000)
|
if(refactory.get_stored_material(MAT_STEEL) >= 10000)
|
||||||
to_chat(caller, "<span class='notify'>You begin to rebuild. You will need to remain still.</span>")
|
to_chat(caller, "<span class='notify'>You begin to rebuild. You will need to remain still.</span>")
|
||||||
if(do_after(caller, 400))
|
if(do_after(caller, 400,exclusive = TASK_ALL_EXCLUSIVE))
|
||||||
if(species?:OurRig) //Unsafe, but we should only ever be using this with a Protean
|
if(species?:OurRig) //Unsafe, but we should only ever be using this with a Protean
|
||||||
species?:OurRig?:make_alive(src,1) //Re-using this proc
|
species?:OurRig?:make_alive(src,1) //Re-using this proc
|
||||||
refactory.use_stored_material(MAT_STEEL,refactory.get_stored_material(MAT_STEEL)) //Use all of our steel
|
refactory.use_stored_material(MAT_STEEL,refactory.get_stored_material(MAT_STEEL)) //Use all of our steel
|
||||||
@@ -128,7 +128,7 @@
|
|||||||
oocnotes = 1
|
oocnotes = 1
|
||||||
to_chat(caller, "<span class='notify'>You begin to reassemble. You will need to remain still.</span>")
|
to_chat(caller, "<span class='notify'>You begin to reassemble. You will need to remain still.</span>")
|
||||||
caller.visible_message("<span class='notify'>[caller] rapidly contorts and shifts!</span>", "<span class='danger'>You begin to reassemble.</span>")
|
caller.visible_message("<span class='notify'>[caller] rapidly contorts and shifts!</span>", "<span class='danger'>You begin to reassemble.</span>")
|
||||||
if(do_after(caller, 40))
|
if(do_after(caller, 40,exclusive = TASK_ALL_EXCLUSIVE))
|
||||||
if(client.prefs) //Make sure we didn't d/c
|
if(client.prefs) //Make sure we didn't d/c
|
||||||
var/obj/item/weapon/rig/protean/Rig = species?:OurRig
|
var/obj/item/weapon/rig/protean/Rig = species?:OurRig
|
||||||
GetAppearanceFromPrefs(flavour, oocnotes)
|
GetAppearanceFromPrefs(flavour, oocnotes)
|
||||||
@@ -258,7 +258,7 @@
|
|||||||
to_chat(caller, "<span class='warning'>You need to be repaired first before you can act!</span>")
|
to_chat(caller, "<span class='warning'>You need to be repaired first before you can act!</span>")
|
||||||
return
|
return
|
||||||
to_chat(src, "<span class='notice'>You rapidly condense into your module.</span>")
|
to_chat(src, "<span class='notice'>You rapidly condense into your module.</span>")
|
||||||
if(forced || do_after(caller,20))
|
if(forced || do_after(caller,20,exclusive = TASK_ALL_EXCLUSIVE))
|
||||||
if(!temporary_form) //If you're human, force you into blob form before rig'ing
|
if(!temporary_form) //If you're human, force you into blob form before rig'ing
|
||||||
nano_blobform(forced)
|
nano_blobform(forced)
|
||||||
spawn(2)
|
spawn(2)
|
||||||
@@ -363,15 +363,15 @@
|
|||||||
return
|
return
|
||||||
if(G.loc == caller && G.state >= GRAB_AGGRESSIVE)
|
if(G.loc == caller && G.state >= GRAB_AGGRESSIVE)
|
||||||
caller.visible_message("<span class='warning'>[caller] is attempting to latch onto [target]!</span>", "<span class='danger'>You attempt to latch onto [target]!</span>")
|
caller.visible_message("<span class='warning'>[caller] is attempting to latch onto [target]!</span>", "<span class='danger'>You attempt to latch onto [target]!</span>")
|
||||||
if(do_after(caller, 50, target))
|
if(do_after(caller, 50, target,exclusive = TASK_ALL_EXCLUSIVE))
|
||||||
if(G.loc == caller && G.state >= GRAB_AGGRESSIVE)
|
if(G.loc == caller && G.state >= GRAB_AGGRESSIVE)
|
||||||
target.drop_from_inventory(target.back)
|
target.drop_from_inventory(target.back)
|
||||||
caller.visible_message("<span class='danger'>[caller] latched onto [target]!</span>", "<span class='danger'>You latch yourself onto [target]!</span>")
|
caller.visible_message("<span class='danger'>[caller] latched onto [target]!</span>", "<span class='danger'>You latch yourself onto [target]!</span>")
|
||||||
target.Weaken(3)
|
target.Weaken(3)
|
||||||
nano_rig_transform(1)
|
nano_rig_transform(1)
|
||||||
spawn(2) //Have to give time for the above proc to resolve
|
spawn(5) //Have to give time for the above proc to resolve
|
||||||
S.OurRig.forceMove(target)
|
//S.OurRig.forceMove(target)
|
||||||
target.equip_to_slot_if_possible(S.OurRig, slot_back)
|
target.equip_to_slot(S.OurRig, slot_back)
|
||||||
S.OurRig.Moved()
|
S.OurRig.Moved()
|
||||||
spawn(1) //Same here :(
|
spawn(1) //Same here :(
|
||||||
S.OurRig.wearer = target
|
S.OurRig.wearer = target
|
||||||
@@ -445,7 +445,7 @@
|
|||||||
/// The actual abilities
|
/// The actual abilities
|
||||||
/obj/effect/protean_ability/into_blob
|
/obj/effect/protean_ability/into_blob
|
||||||
ability_name = "Toggle Blobform"
|
ability_name = "Toggle Blobform"
|
||||||
desc = "Discard your shape entirely, changing to a low-energy blob that can fit into small spaces. You'll consume steel to repair yourself in this form."
|
desc = "Discard your shape entirely, changing to a low-energy blob. You'll consume steel to repair yourself in this form."
|
||||||
icon_state = "blob"
|
icon_state = "blob"
|
||||||
to_call = /mob/living/carbon/human/proc/nano_blobform
|
to_call = /mob/living/carbon/human/proc/nano_blobform
|
||||||
|
|
||||||
@@ -469,26 +469,26 @@
|
|||||||
|
|
||||||
/obj/effect/protean_ability/metal_nom
|
/obj/effect/protean_ability/metal_nom
|
||||||
ability_name = "Ref - Store Metals"
|
ability_name = "Ref - Store Metals"
|
||||||
desc = "Store the metal you're holding. Your refactory can only store steel, and all other metals will be converted into nanites ASAP for various effects."
|
desc = "Store the metal you're holding. Your refactory can only store steel."
|
||||||
icon_state = "metal"
|
icon_state = "metal"
|
||||||
to_call = /mob/living/carbon/human/proc/nano_metalnom
|
to_call = /mob/living/carbon/human/proc/nano_metalnom
|
||||||
|
|
||||||
/obj/effect/protean_ability/hardsuit
|
/obj/effect/protean_ability/hardsuit
|
||||||
ability_name = "Hardsuit Transform"
|
ability_name = "Hardsuit Transform"
|
||||||
desc = "Coalesce your naniteswarm into their control module, allowing others to wear you."
|
desc = "Coalesce your nanite swarm into their control module, allowing others to wear you."
|
||||||
icon_state = "rig"
|
icon_state = "rig"
|
||||||
to_call = /mob/living/carbon/human/proc/nano_rig_transform
|
to_call = /mob/living/carbon/human/proc/nano_rig_transform
|
||||||
|
|
||||||
/obj/effect/protean_ability/appearance_switch
|
/obj/effect/protean_ability/appearance_switch
|
||||||
ability_name = "Blob Appearance"
|
ability_name = "Blob Appearance"
|
||||||
desc = "Toggle your blob appearance. Also affects your worn appearance."
|
desc = "Toggle your blob appearance. Also affects your worn appearance."
|
||||||
icon_state = "rig"
|
icon_state = "switch"
|
||||||
to_call = /mob/living/carbon/human/proc/appearance_switch
|
to_call = /mob/living/carbon/human/proc/appearance_switch
|
||||||
|
|
||||||
/obj/effect/protean_ability/latch_host
|
/obj/effect/protean_ability/latch_host
|
||||||
ability_name = "Latch Host"
|
ability_name = "Latch Host"
|
||||||
desc = "Forcibly latch or unlatch your RIG from a host mob."
|
desc = "Forcibly latch or unlatch your RIG from a host mob."
|
||||||
icon_state = "rig"
|
icon_state = "latch"
|
||||||
to_call = /mob/living/carbon/human/proc/nano_latch
|
to_call = /mob/living/carbon/human/proc/nano_latch
|
||||||
|
|
||||||
#undef PER_LIMB_STEEL_COST
|
#undef PER_LIMB_STEEL_COST
|
||||||
|
|||||||
@@ -94,8 +94,9 @@
|
|||||||
name = "mass"
|
name = "mass"
|
||||||
desc = "A helmet-shaped clump of nanomachines."
|
desc = "A helmet-shaped clump of nanomachines."
|
||||||
light_overlay = "should not use a light overlay"
|
light_overlay = "should not use a light overlay"
|
||||||
species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN)
|
species_restricted = list(SPECIES_PROTEAN, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN)
|
||||||
sprite_sheets = list(
|
sprite_sheets = list(
|
||||||
|
SPECIES_PROTEAN = 'modular_chomp/icons/mob/head_ch.dmi',
|
||||||
SPECIES_HUMAN = 'modular_chomp/icons/mob/head_ch.dmi',
|
SPECIES_HUMAN = 'modular_chomp/icons/mob/head_ch.dmi',
|
||||||
SPECIES_TAJ = 'modular_chomp/icons/mob/species/tajaran/helmet_ch.dmi',
|
SPECIES_TAJ = 'modular_chomp/icons/mob/species/tajaran/helmet_ch.dmi',
|
||||||
SPECIES_SKRELL = 'modular_chomp/icons/mob/species/skrell/helmet_ch.dmi',
|
SPECIES_SKRELL = 'modular_chomp/icons/mob/species/skrell/helmet_ch.dmi',
|
||||||
@@ -114,6 +115,7 @@
|
|||||||
)
|
)
|
||||||
|
|
||||||
sprite_sheets_obj = list(
|
sprite_sheets_obj = list(
|
||||||
|
SPECIES_PROTEAN = 'modular_chomp/icons/mob/head_ch.dmi',
|
||||||
SPECIES_HUMAN = 'modular_chomp/icons/mob/head_ch.dmi',
|
SPECIES_HUMAN = 'modular_chomp/icons/mob/head_ch.dmi',
|
||||||
SPECIES_TAJ = 'modular_chomp/icons/mob/head_ch.dmi',
|
SPECIES_TAJ = 'modular_chomp/icons/mob/head_ch.dmi',
|
||||||
SPECIES_SKRELL = 'modular_chomp/icons/mob/head_ch.dmi',
|
SPECIES_SKRELL = 'modular_chomp/icons/mob/head_ch.dmi',
|
||||||
@@ -136,8 +138,9 @@
|
|||||||
name = "mass"
|
name = "mass"
|
||||||
desc = "Glove-shaped clusters of nanomachines."
|
desc = "Glove-shaped clusters of nanomachines."
|
||||||
siemens_coefficient= 0
|
siemens_coefficient= 0
|
||||||
species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN)
|
species_restricted = list(SPECIES_PROTEAN, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN)
|
||||||
sprite_sheets = list(
|
sprite_sheets = list(
|
||||||
|
SPECIES_PROTEAN = 'modular_chomp/icons/mob/hands_ch.dmi',
|
||||||
SPECIES_HUMAN = 'modular_chomp/icons/mob/hands_ch.dmi',
|
SPECIES_HUMAN = 'modular_chomp/icons/mob/hands_ch.dmi',
|
||||||
SPECIES_TAJ = 'modular_chomp/icons/mob/hands_ch.dmi',
|
SPECIES_TAJ = 'modular_chomp/icons/mob/hands_ch.dmi',
|
||||||
SPECIES_SKRELL = 'modular_chomp/icons/mob/hands_ch.dmi',
|
SPECIES_SKRELL = 'modular_chomp/icons/mob/hands_ch.dmi',
|
||||||
@@ -177,8 +180,9 @@
|
|||||||
/obj/item/clothing/shoes/magboots/rig/protean
|
/obj/item/clothing/shoes/magboots/rig/protean
|
||||||
name = "mass"
|
name = "mass"
|
||||||
desc = "Boot-shaped clusters of nanomachines."
|
desc = "Boot-shaped clusters of nanomachines."
|
||||||
species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN)
|
species_restricted = list(SPECIES_PROTEAN, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN)
|
||||||
sprite_sheets = list(
|
sprite_sheets = list(
|
||||||
|
SPECIES_PROTEAN = 'modular_chomp/icons/mob/feet_ch.dmi',
|
||||||
SPECIES_HUMAN = 'modular_chomp/icons/mob/feet_ch.dmi',
|
SPECIES_HUMAN = 'modular_chomp/icons/mob/feet_ch.dmi',
|
||||||
SPECIES_TAJ = 'modular_chomp/icons/mob/feet_ch.dmi',
|
SPECIES_TAJ = 'modular_chomp/icons/mob/feet_ch.dmi',
|
||||||
SPECIES_SKRELL = 'modular_chomp/icons/mob/feet_ch.dmi',
|
SPECIES_SKRELL = 'modular_chomp/icons/mob/feet_ch.dmi',
|
||||||
@@ -219,7 +223,7 @@
|
|||||||
name = "mass"
|
name = "mass"
|
||||||
desc = "A body-hugging mass of nanomachines."
|
desc = "A body-hugging mass of nanomachines."
|
||||||
can_breach = 0
|
can_breach = 0
|
||||||
species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN)
|
species_restricted = list(SPECIES_PROTEAN, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_TAJ, SPECIES_UNATHI, SPECIES_NEVREAN, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_ZORREN_HIGH, SPECIES_VULPKANIN, SPECIES_PROMETHEAN, SPECIES_XENOHYBRID, SPECIES_VOX, SPECIES_TESHARI, SPECIES_VASILISSAN)
|
||||||
allowed = list(
|
allowed = list(
|
||||||
/obj/item/weapon/gun,
|
/obj/item/weapon/gun,
|
||||||
/obj/item/device/flashlight,
|
/obj/item/device/flashlight,
|
||||||
@@ -229,6 +233,7 @@
|
|||||||
/obj/item/weapon/storage/backpack,
|
/obj/item/weapon/storage/backpack,
|
||||||
)
|
)
|
||||||
sprite_sheets = list(
|
sprite_sheets = list(
|
||||||
|
SPECIES_PROTEAN = 'modular_chomp/icons/mob/spacesuit_ch.dmi',
|
||||||
SPECIES_HUMAN = 'modular_chomp/icons/mob/spacesuit_ch.dmi',
|
SPECIES_HUMAN = 'modular_chomp/icons/mob/spacesuit_ch.dmi',
|
||||||
SPECIES_TAJ = 'modular_chomp/icons/mob/species/tajaran/suit_ch.dmi',
|
SPECIES_TAJ = 'modular_chomp/icons/mob/species/tajaran/suit_ch.dmi',
|
||||||
SPECIES_SKRELL = 'modular_chomp/icons/mob/species/skrell/suit_ch.dmi',
|
SPECIES_SKRELL = 'modular_chomp/icons/mob/species/skrell/suit_ch.dmi',
|
||||||
@@ -305,7 +310,6 @@
|
|||||||
playsound(src, 'sound/machines/defib_success.ogg', 50, 0)
|
playsound(src, 'sound/machines/defib_success.ogg', 50, 0)
|
||||||
new /obj/effect/gibspawner/robot(src.loc)
|
new /obj/effect/gibspawner/robot(src.loc)
|
||||||
src.atom_say("Contact received! Reassembly nanites calibrated. Estimated time to resucitation: 1 minute 30 seconds")
|
src.atom_say("Contact received! Reassembly nanites calibrated. Estimated time to resucitation: 1 minute 30 seconds")
|
||||||
dead = 0
|
|
||||||
addtimer(CALLBACK(src, .proc/make_alive, myprotean?:humanform), 900)
|
addtimer(CALLBACK(src, .proc/make_alive, myprotean?:humanform), 900)
|
||||||
return
|
return
|
||||||
if(istype(W,/obj/item/weapon/rig))
|
if(istype(W,/obj/item/weapon/rig))
|
||||||
@@ -431,7 +435,8 @@
|
|||||||
S = H.species
|
S = H.species
|
||||||
S.pseudodead = 0
|
S.pseudodead = 0
|
||||||
to_chat(myprotean, "<span class='notice'>You have finished reconstituting.</span>")
|
to_chat(myprotean, "<span class='notice'>You have finished reconstituting.</span>")
|
||||||
playsound(src, 'sound/machines/ping.ogg', 50, 0)
|
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
|
||||||
|
dead = 0
|
||||||
|
|
||||||
/obj/item/weapon/rig/protean/take_hit(damage, source, is_emp=0)
|
/obj/item/weapon/rig/protean/take_hit(damage, source, is_emp=0)
|
||||||
return //We don't do that here
|
return //We don't do that here
|
||||||
@@ -527,6 +532,7 @@
|
|||||||
return
|
return
|
||||||
if(istype(R, /obj/item/weapon/rig/protean))
|
if(istype(R, /obj/item/weapon/rig/protean))
|
||||||
to_chat(user, "<span class='warning'>The world is not ready for such a technological singularity.</span>")
|
to_chat(user, "<span class='warning'>The world is not ready for such a technological singularity.</span>")
|
||||||
|
return
|
||||||
to_chat(user, "<span class='notice'>You assimilate the [R] into the [src]. Mimicking its stats and appearance.</span>")
|
to_chat(user, "<span class='notice'>You assimilate the [R] into the [src]. Mimicking its stats and appearance.</span>")
|
||||||
for(var/obj/item/piece in list(gloves,helmet,boots,chest))
|
for(var/obj/item/piece in list(gloves,helmet,boots,chest))
|
||||||
piece.armor = R.armor.Copy()
|
piece.armor = R.armor.Copy()
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
flesh_color = "#505050"
|
flesh_color = "#505050"
|
||||||
base_color = "#FFFFFF" //Color mult, start out with this
|
base_color = "#FFFFFF" //Color mult, start out with this
|
||||||
|
|
||||||
flags = NO_SCAN | NO_SLIP | NO_MINOR_CUT | NO_HALLUCINATION | NO_INFECT
|
flags = NO_SCAN | NO_SLIP | NO_MINOR_CUT | NO_HALLUCINATION | NO_INFECT | NO_PAIN
|
||||||
appearance_flags = HAS_SKIN_COLOR | HAS_EYE_COLOR | HAS_HAIR_COLOR | HAS_UNDERWEAR | HAS_LIPS
|
appearance_flags = HAS_SKIN_COLOR | HAS_EYE_COLOR | HAS_HAIR_COLOR | HAS_UNDERWEAR | HAS_LIPS
|
||||||
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED | SPECIES_WHITELIST_SELECTABLE
|
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED | SPECIES_WHITELIST_SELECTABLE
|
||||||
health_hud_intensity = 2
|
health_hud_intensity = 2
|
||||||
@@ -43,7 +43,6 @@
|
|||||||
item_slowdown_mod = 1.5 //Gentle encouragement to let others wear you
|
item_slowdown_mod = 1.5 //Gentle encouragement to let others wear you
|
||||||
|
|
||||||
hazard_low_pressure = -1 //Space doesn't bother them
|
hazard_low_pressure = -1 //Space doesn't bother them
|
||||||
hazard_high_pressure = 10 * ONE_ATMOSPHERE //Same as their RIG
|
|
||||||
|
|
||||||
cold_level_1 = -INFINITY
|
cold_level_1 = -INFINITY
|
||||||
cold_level_2 = -INFINITY
|
cold_level_2 = -INFINITY
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
build_path = /obj/item/rig_module/mounted/phase
|
build_path = /obj/item/rig_module/mounted/phase
|
||||||
|
|
||||||
/datum/design/item/mechfab/rigsuit/defib
|
/datum/design/item/mechfab/rigsuit/defib
|
||||||
name = "mounted defib unit"
|
name = "hardsuit defib unit"
|
||||||
desc = "A rig mounted defib and jumper kit combo."
|
desc = "A rig mounted defib and jumper kit combo."
|
||||||
id = "rig_defib"
|
id = "rig_defib"
|
||||||
req_tech = list(TECH_BIO = 5, TECH_MAGNET = 2, TECH_POWER = 3)
|
req_tech = list(TECH_BIO = 5, TECH_MAGNET = 2, TECH_POWER = 3)
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 9.6 KiB |
2602
modular_chomp/maps/runtime/runtime_station.dmm
Normal file
2602
modular_chomp/maps/runtime/runtime_station.dmm
Normal file
File diff suppressed because it is too large
Load Diff
47
modular_chomp/maps/runtime/runtime_station_defines.dm
Normal file
47
modular_chomp/maps/runtime/runtime_station_defines.dm
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
#define Z_LEVEL_STATION_ONE 1
|
||||||
|
|
||||||
|
/datum/map/runtime_station
|
||||||
|
name = "Runtime Station"
|
||||||
|
full_name = "Southern Cross"
|
||||||
|
path = "modular_chomp/maps/runtime/runtime_station"
|
||||||
|
|
||||||
|
lobby_icon = 'icons/misc/CHOMPSTATION.gif' //CHOMPStation Edit
|
||||||
|
lobby_screens = list() //CHOMPStation Edit - CHOMPStation image
|
||||||
|
id_hud_icons = 'icons/mob/hud_jobs_vr.dmi' //CHOMPStation Edit - Job icons for off-duty/exploration
|
||||||
|
|
||||||
|
zlevel_datum_type = /datum/map_z_level/runtime_station
|
||||||
|
|
||||||
|
station_name = "NLS Southern Cross"
|
||||||
|
station_short = "Southern Cross"
|
||||||
|
dock_name = "NCS Northern Star" // Now we're the centcom!
|
||||||
|
boss_name = "Central Command"
|
||||||
|
boss_short = "Centcom"
|
||||||
|
company_name = "NanoTrasen"
|
||||||
|
company_short = "NT"
|
||||||
|
starsys_name = "Vir"
|
||||||
|
use_overmap = FALSE
|
||||||
|
|
||||||
|
shuttle_docked_message = "The scheduled shuttle to the %dock_name% has docked with the station at docks one and two. It will depart in approximately %ETD%."
|
||||||
|
shuttle_leaving_dock = "The Crew Transfer Shuttle has left the station. Estimate %ETA% until the shuttle docks at %dock_name%."
|
||||||
|
shuttle_called_message = "A crew transfer to %dock_name% has been scheduled. The shuttle has been called. Those leaving should proceed to docks one and two in approximately %ETA%."
|
||||||
|
shuttle_recall_message = "The scheduled crew transfer has been cancelled."
|
||||||
|
emergency_shuttle_docked_message = "The Emergency Shuttle has docked with the station at docks one and two. You have approximately %ETD% to board the Emergency Shuttle."
|
||||||
|
emergency_shuttle_leaving_dock = "The Emergency Shuttle has left the station. Estimate %ETA% until the shuttle docks at %dock_name%."
|
||||||
|
emergency_shuttle_called_message = "An emergency evacuation shuttle has been called. It will arrive at docks one and two in approximately %ETA%."
|
||||||
|
emergency_shuttle_recall_message = "The emergency shuttle has been recalled."
|
||||||
|
usable_email_tlds = list("freemail.nt")
|
||||||
|
allowed_spawns = list("Arrivals Shuttle","Gateway", "Cryogenic Storage", "Cyborg Storage", "Station gateway", "Sif plains")
|
||||||
|
default_skybox = /datum/skybox_settings/southern_cross
|
||||||
|
map_levels = list(
|
||||||
|
Z_LEVEL_STATION_ONE
|
||||||
|
)
|
||||||
|
lateload_gateway = null
|
||||||
|
|
||||||
|
/datum/skybox_settings/southern_cross
|
||||||
|
icon_state = "dyable"
|
||||||
|
random_color = TRUE
|
||||||
|
|
||||||
|
/datum/map_z_level/runtime_station
|
||||||
|
z = Z_LEVEL_STATION_ONE
|
||||||
|
name = "Deck 1"
|
||||||
|
base_turf = /turf/space
|
||||||
@@ -10,6 +10,7 @@
|
|||||||
#define DEBUG
|
#define DEBUG
|
||||||
// END_PREFERENCES
|
// END_PREFERENCES
|
||||||
// BEGIN_INCLUDE
|
// BEGIN_INCLUDE
|
||||||
|
#include "_runtimestation.dm"
|
||||||
#include "code\__spaceman_dmm.dm"
|
#include "code\__spaceman_dmm.dm"
|
||||||
#include "code\_away_mission_tests.dm"
|
#include "code\_away_mission_tests.dm"
|
||||||
#include "code\_macros.dm"
|
#include "code\_macros.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user