Merge pull request #5600 from Citadel-Station-13/upstream-merge-35780
[MIRROR] Fixed instant summon behavior with simple animals
This commit is contained in:
@@ -14,15 +14,16 @@
|
||||
ventcrawler = VENTCRAWLER_NONE
|
||||
density = TRUE
|
||||
pass_flags = 0
|
||||
var/ascended = FALSE
|
||||
sight = (SEE_TURFS | SEE_OBJS)
|
||||
status_flags = CANPUSH
|
||||
spacewalk = TRUE
|
||||
mob_size = MOB_SIZE_LARGE
|
||||
var/mob/living/oldform
|
||||
var/list/devil_overlays[DEVIL_TOTAL_LAYERS]
|
||||
held_items = list(null, null)
|
||||
bodyparts = list(/obj/item/bodypart/chest/devil, /obj/item/bodypart/head/devil, /obj/item/bodypart/l_arm/devil,
|
||||
/obj/item/bodypart/r_arm/devil, /obj/item/bodypart/r_leg/devil, /obj/item/bodypart/l_leg/devil)
|
||||
var/ascended = FALSE
|
||||
var/mob/living/oldform
|
||||
var/list/devil_overlays[DEVIL_TOTAL_LAYERS]
|
||||
|
||||
/mob/living/carbon/true_devil/Initialize()
|
||||
create_bodyparts() //initialize bodyparts
|
||||
|
||||
@@ -162,6 +162,8 @@
|
||||
return FALSE
|
||||
|
||||
/mob/proc/can_put_in_hand(I, hand_index)
|
||||
if(hand_index > held_items.len)
|
||||
return FALSE
|
||||
if(!put_in_hand_check(I))
|
||||
return FALSE
|
||||
if(!has_hand_for_held_index(hand_index))
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
possible_a_intents = list(INTENT_HELP, INTENT_HARM)
|
||||
hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,GLAND_HUD)
|
||||
has_limbs = 1
|
||||
held_items = list(null, null)
|
||||
var/list/stomach_contents = list()
|
||||
var/list/internal_organs = list() //List of /obj/item/organ in the mob. They don't go in the contents for some reason I don't want to know.
|
||||
var/list/internal_organs_slot= list() //Same as above, but stores "slot ID" - "organ" pairs for easy access.
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
dextrous_hud_type = /datum/hud/dextrous/drone
|
||||
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
|
||||
can_be_held = TRUE
|
||||
held_items = list(null, null)
|
||||
var/staticChoice = "static"
|
||||
var/list/staticChoices = list("static", "blank", "letter", "animal")
|
||||
var/picked = FALSE //Have we picked our visual appearence (+ colour if applicable)
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
tech_fluff_string = "<span class='holoparasite'>Boot sequence complete. Dextrous combat modules loaded. Holoparasite swarm online.</span>"
|
||||
carp_fluff_string = "<span class='holoparasite'>CARP CARP CARP! You caught one! It can hold stuff in its fins, sort of.</span>"
|
||||
dextrous = 1
|
||||
held_items = list(null, null)
|
||||
environment_target_typecache = list(
|
||||
/obj/machinery/door/window,
|
||||
/obj/structure/window,
|
||||
|
||||
@@ -508,7 +508,7 @@
|
||||
H.update_icon()
|
||||
|
||||
/mob/living/simple_animal/put_in_hands(obj/item/I, del_on_fail = FALSE, merge_stacks = TRUE)
|
||||
..(I, del_on_fail, merge_stacks)
|
||||
. = ..(I, del_on_fail, merge_stacks)
|
||||
update_inv_hands()
|
||||
|
||||
/mob/living/simple_animal/update_inv_hands()
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
//Hands
|
||||
var/active_hand_index = 1
|
||||
var/list/held_items = list(null, null) //len = number of hands, eg: 2 nulls is 2 empty hands, 1 item and 1 null is 1 full hand and 1 empty hand.
|
||||
var/list/held_items = list() //len = number of hands, eg: 2 nulls is 2 empty hands, 1 item and 1 null is 1 full hand and 1 empty hand.
|
||||
//held_items[active_hand_index] is the actively held item, but please use get_active_held_item() instead, because OOP
|
||||
|
||||
var/obj/item/storage/s_active = null//Carbon
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
if(item_to_retrieve.loc)
|
||||
item_to_retrieve.loc.visible_message("<span class='warning'>The [item_to_retrieve.name] suddenly disappears!</span>")
|
||||
if(!L.put_in_hands(item_to_retrieve))
|
||||
item_to_retrieve.forceMove(L.loc)
|
||||
item_to_retrieve.forceMove(L.drop_location())
|
||||
item_to_retrieve.loc.visible_message("<span class='caution'>The [item_to_retrieve.name] suddenly appears!</span>")
|
||||
playsound(get_turf(L), 'sound/magic/summonitems_generic.ogg', 50, 1)
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user