Update to avoid future conflict

This commit is contained in:
Aurorablade
2015-07-02 09:01:27 -04:00
parent 89f09de363
commit 020ca9f99c
7 changed files with 58 additions and 121 deletions
+19 -3
View File
@@ -24,7 +24,7 @@
mob_container.forceMove(get_turf(src))
M.reset_view()
del(src)
qdel(src)
/obj/item/weapon/holder/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
for(var/mob/M in src.contents)
@@ -34,6 +34,23 @@
for(var/mob/living/M in contents)
M.show_message(message,m_type)
//Mob procs and vars for scooping up
/mob/living/var/holder_type
/mob/living/proc/get_scooped(var/mob/living/carbon/grabber)
if(!holder_type) return
var/obj/item/weapon/holder/H = new holder_type(loc)
src.forceMove(H)
H.name = name
if(desc) H.desc = desc
H.attack_hand(grabber)
grabber << "<span class='notice'>You scoop up \the [src]."
src << "<span class='notice'>\The [grabber] scoops you up.</span>"
grabber.status_flags |= PASSEMOTES
return
//Mob specific holders.
/obj/item/weapon/holder/diona
@@ -53,5 +70,4 @@
/obj/item/weapon/holder/pai
name = "pAI"
desc = "It's a little robot."
icon_state = "pai"
icon_override = 'icons/mob/in-hand/paiheld.dmi'
icon_state = "pai"
@@ -13,6 +13,7 @@
var/ready_evolve = 0
ventcrawler = 1
var/environment_smash = 0 // This is a sloppy way to solve attack_animal runtimes. Stupid nymphs...
holder_type = /obj/item/weapon/holder/diona
/mob/living/carbon/primitive/diona/New()
@@ -30,16 +31,9 @@
src << "You feel your being twine with that of [M] as you merge with its biomass."
src.verbs += /mob/living/carbon/primitive/diona/proc/split
src.verbs -= /mob/living/carbon/primitive/diona/proc/merge
src.loc = M
src.forceMove(M)
else
var/obj/item/weapon/holder/diona/D = new(loc)
src.loc = D
D.name = loc.name
D.attack_hand(M)
M << "You scoop up [src]."
src << "[M] scoops you up."
M.status_flags |= PASSEMOTES
return
get_scooped(M)
..()
+32 -22
View File
@@ -8,7 +8,7 @@
small = 1
pass_flags = 1
density = 0
//var/holder_type = /obj/item/weapon/holder/pai
holder_type = /obj/item/weapon/holder/pai
var/network = "SS13"
var/obj/machinery/camera/current = null
@@ -149,6 +149,17 @@
return 0
..()
/mob/living/silicon/pai/MouseDrop(atom/over_object)
return
//Below was the orignal mousedrop code from Bay, keeping incase.
// var/mob/living/carbon/H = over_object
// if(!istype(H) || !Adjacent(H)) return ..()
// if(H.a_intent == "help")
// get_scooped(H)
// return
// else
// return ..()
/mob/living/silicon/pai/emp_act(severity)
// Silence for 2 minutes
// 20% chance to kill
@@ -429,9 +440,13 @@
/mob/living/silicon/pai/attack_hand(mob/user as mob)
if(stat == 2) return
visible_message("<span class='danger'>[user.name] boops [src] on the head.</span>")
spawn(1)
close_up()
if(user.a_intent == "help" && src.loc != card)
get_scooped(user)
return
else
visible_message("<span class='danger'>[user.name] boops [src] on the head.</span>")
spawn(1)
close_up()
//I'm not sure how much of this is necessary, but I would rather avoid issues.
/mob/living/silicon/pai/proc/close_up()
@@ -520,22 +535,17 @@
// Handle being picked up.
/mob/living/silicon/pai/MouseDrop(atom/over_object)
var/mob/living/carbon/held = over_object
if(held.a_intent == "help")
var/obj/item/weapon/holder/pai/pie = new(loc)
src.loc = pie
pie.MouseDrop(held)
pie << "You scoop up [src]."
src << "[held] scoops you up."
//pie.status_flags |= PASSEMOTES
pie.icon_state = "pai-[icon_state]"
held.put_in_active_hand(pie)
held.update_icons()
src << "[held.get_active_hand()]"
//held.update_inv_r_hand()
pie.icon_override = 'icons/mob/paihat.dmi'
pie.item_state = "pai-[icon_state]"
return
/mob/living/silicon/pai/get_scooped(var/mob/living/carbon/grabber)
if(!holder_type) return
var/obj/item/weapon/holder/pai/H = new(loc)
..()
//H.attack_hand(grabber)
src.forceMove(H)
H.icon_override = 'icons/mob/in-hand/paiheld.dmi'
H.icon_state = "pai-[icon_state]"
grabber.put_in_active_hand(H)
grabber.update_icons()
H.icon_override = 'icons/mob/paihat.dmi'
H.item_state = "pai-[icon_state]"
return H
@@ -595,6 +595,7 @@
else
data["holder"] = 0
src << "You are not being carried by anyone!"
ui = nanomanager.try_update_ui(user, user, id, ui,data , force_open)
if(!ui)
@@ -25,6 +25,8 @@
//Used for self-mailing.
var/mail_destination = 0
holder_type = /obj/item/weapon/holder/drone
// var/sprite[0]
@@ -45,14 +45,7 @@
//Actual picking-up event.
/mob/living/silicon/robot/drone/attack_hand(mob/living/carbon/human/M as mob)
if(M.a_intent == "help")
var/obj/item/weapon/holder/drone/D = new(loc)
src.loc = D
D.attack_hand(M)
M << "You scoop up [src]."
src << "[M] scoops you up."
M.status_flags |= PASSEMOTES
return
get_scooped(M)
..()