Fixed instant summon behavior with simple animals (#35780)

Removed hand slots from lots of things that should not have them
This commit is contained in:
Cruix
2018-02-19 13:04:26 -08:00
committed by CitadelStationBot
parent fef23bd7cc
commit 558b87ce65
8 changed files with 12 additions and 6 deletions
@@ -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
+2
View File
@@ -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()
+1 -1
View File
@@ -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