mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-18 18:46:24 +01:00
Merge branch 'protRig' of github.com:Kashargul/VOREStation into protRig
This commit is contained in:
@@ -58,7 +58,7 @@
|
||||
|
||||
/mob/living/carbon/human/proc/shapeshifter_select_secondary_ears()
|
||||
set name = "Select Secondary Ears"
|
||||
set category = "Abilities"
|
||||
set category = "Abilities.Shapeshift"
|
||||
|
||||
if(stat || world.time < last_special)
|
||||
return
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
harm_intent_damage = 3
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 5
|
||||
see_in_dark = 10
|
||||
player_msg = "You're a little squisher! Your cuteness level has increased tenfold."
|
||||
heat_damage_per_tick = 20 // Hot and cold are bad, but cold is AS bad for prommies as it is for slimes.
|
||||
cold_damage_per_tick = 20
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 5
|
||||
attacktext = list("slashed")
|
||||
see_in_dark = 10
|
||||
|
||||
min_oxy = 0
|
||||
max_oxy = 0
|
||||
@@ -74,6 +73,7 @@
|
||||
humanform = H
|
||||
updatehealth()
|
||||
refactory = locate() in humanform.internal_organs
|
||||
add_verb(src,/mob/living/proc/ventcrawl)
|
||||
add_verb(src,/mob/living/proc/usehardsuit)
|
||||
add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_partswap)
|
||||
add_verb(src,/mob/living/simple_mob/protean_blob/proc/nano_regenerate)
|
||||
|
||||
@@ -385,7 +385,7 @@
|
||||
"Highlight" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "highlight"),
|
||||
"puddle1" = image(icon = 'icons/mob/species/protean/protean_powers.dmi', icon_state = "blob"),
|
||||
"puddle0" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "puddle"),
|
||||
"catslug" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "catslug"),
|
||||
/*"catslug" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "catslug"),
|
||||
"cat" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "cat"),
|
||||
"mouse" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "mouse"),
|
||||
"rabbit" = image(icon = 'icons/mob/species/protean/protean.dmi', icon_state = "rabbit"),
|
||||
@@ -400,7 +400,7 @@
|
||||
"teppi" = image(icon = 'icons/mob/species/protean/protean64x64.dmi', icon_state = "teppi", pixel_x = -16),
|
||||
"panther" = image(icon = 'icons/mob/species/protean/protean64x64.dmi', icon_state = "panther", pixel_x = -16),
|
||||
"robodrgn" = image(icon = 'icons/mob/species/protean/protean128x64.dmi', icon_state = "robodrgn", pixel_x = -48),
|
||||
"Dragon" = image(icon = 'icons/mob/bigdragon_small.dmi', icon_state = "dragon_small")
|
||||
"Dragon" = image(icon = 'icons/mob/bigdragon_small.dmi', icon_state = "dragon_small")*/
|
||||
)
|
||||
var/blobstyle = show_radial_menu(caller, caller, icon_choices, require_near = TRUE, tooltips = FALSE)
|
||||
if(!blobstyle || QDELETED(caller) || caller.incapacitated())
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
//ai_interface_path = "RIGSuit_protean"
|
||||
var/sealed = 0
|
||||
var/assimilated_rig
|
||||
var/can_assimilate_rig = FALSE
|
||||
|
||||
/obj/item/rig/protean/relaymove(mob/user, var/direction)
|
||||
if(user.stat || user.stunned)
|
||||
@@ -491,6 +492,9 @@
|
||||
|
||||
//Effectively a round about way of letting a Protean wear other rigs.
|
||||
/obj/item/rig/protean/proc/AssimilateRig(mob/user, var/obj/item/rig/R)
|
||||
if(!can_assimilate_rig)
|
||||
to_chat(user, span_warning("You can not place a rig into \the [src]"))
|
||||
return
|
||||
if(!R || assimilated_rig)
|
||||
return
|
||||
if(istype(R, /obj/item/rig/protean))
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
max_age = 200
|
||||
oxy_mod = 0
|
||||
//radiation_mod = 0 //Can't be assed with fandangling rad protections while blob formed/suited
|
||||
darksight = 10
|
||||
siemens_coefficient = 2
|
||||
brute_mod = 0.8
|
||||
burn_mod = 1.5
|
||||
|
||||
@@ -613,6 +613,11 @@
|
||||
L += D.wrapped
|
||||
if(istype(D.wrapped, /obj/item/storage)) //this should never happen
|
||||
L += get_contents(D.wrapped)
|
||||
|
||||
for(var/obj/item/rig/R in src.contents) //Check rigsuit storage for items
|
||||
if(R.rig_storage)
|
||||
L += get_contents(R.rig_storage)
|
||||
|
||||
return L
|
||||
|
||||
/mob/living/proc/check_contents_for(A)
|
||||
|
||||
@@ -12,7 +12,8 @@ var/list/ventcrawl_machinery = list(
|
||||
/obj/machinery/camera,
|
||||
/obj/belly,
|
||||
/obj/screen,
|
||||
/atom/movable/emissive_blocker
|
||||
/atom/movable/emissive_blocker,
|
||||
/obj/item/rig/protean
|
||||
)
|
||||
//VOREStation Edit : added /obj/belly, to this list, CI is complaining about this in his indentation check. Added mob_headset for those with radios so there's no weirdness.
|
||||
//mob/living/simple_mob/borer, //VORESTATION AI TEMPORARY REMOVAL REPLACE BACK IN LIST WHEN RESOLVED //VOREStation Edit
|
||||
@@ -106,6 +107,29 @@ var/list/ventcrawl_machinery = list(
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_mob/protean_blob/ventcrawl_carry()
|
||||
for(var/atom/A in contents)
|
||||
if(!is_allowed_vent_crawl_item(A))
|
||||
to_chat(src, span_warning("You can't carry \the [A] while ventcrawling!"))
|
||||
return FALSE
|
||||
if(humanform)
|
||||
for(var/atom/B in humanform.get_contents())
|
||||
if(!is_allowed_vent_crawl_item(B))
|
||||
to_chat(src, span_warning("You can't carry \the [B] while ventcrawling!"))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_mob/protean_blob/is_allowed_vent_crawl_item(var/obj/item/carried_item)
|
||||
if((carried_item in humanform.organs) || (carried_item in humanform.internal_organs))
|
||||
return TRUE
|
||||
if(istype(carried_item, /obj/item/clothing/under))
|
||||
return TRUE //Allow jumpsuits only
|
||||
if(istype(carried_item, /obj/item))
|
||||
var/obj/item/I = carried_item
|
||||
if(I.w_class <= ITEMSIZE_SMALL)
|
||||
return TRUE //Allow them to carry items that fit in pockets
|
||||
return ..()
|
||||
|
||||
/mob/living/AltClickOn(var/atom/A)
|
||||
if(is_type_in_list(A,ventcrawl_machinery))
|
||||
handle_ventcrawl(A)
|
||||
|
||||
Reference in New Issue
Block a user