From ce7f61a89286122726ff9f259871e63c44293c65 Mon Sep 17 00:00:00 2001 From: Jazz23 Date: Thu, 14 Feb 2019 12:35:57 -0800 Subject: [PATCH] Changed it to match TG (Fox's Request) --- .../objects/items/weapons/storage/bags.dm | 2 +- .../research/xenobiology/xenobio_camera.dm | 71 ++++++++---------- icons/mob/actions/actions.dmi | Bin 91134 -> 91133 bytes 3 files changed, 33 insertions(+), 40 deletions(-) diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index d2cd53c5960..26309f885fa 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -486,5 +486,5 @@ storage_slots = 25 max_combined_w_class = 200 w_class = WEIGHT_CLASS_TINY - can_hold = list(/obj/item/slime_extract,/obj/item/reagent_containers/food/snacks/monkeycube,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/blood,/obj/item/reagent_containers/hypospray/autoinjector,/obj/item/slimepotion/mutator) + can_hold = list(/obj/item/slime_extract,/obj/item/reagent_containers/food/snacks/monkeycube,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/blood,/obj/item/reagent_containers/hypospray/autoinjector) burn_state = FLAMMABLE diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 1ebd7f14c61..d9fd5265e3e 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -26,12 +26,12 @@ var/datum/action/innate/slime_pick_up/slime_up_action = new var/datum/action/innate/feed_slime/feed_slime_action = new var/datum/action/innate/monkey_recycle/monkey_recycle_action = new - var/datum/action/innate/mutate_slime/mutate_slime_action = new + var/datum/action/innate/transfer_potion/transfer_potion_action = new var/list/stored_slimes = list() var/max_slimes = 5 var/monkeys = 0 - var/mutators = 0 + var/obj/item/slimepotion/current_potion icon_screen = "slime_comp" icon_keyboard = "rd_key" @@ -65,10 +65,10 @@ monkey_recycle_action.Grant(user) actions += monkey_recycle_action - if(mutate_slime_action) - mutate_slime_action.target = src - mutate_slime_action.Grant(user) - actions += mutate_slime_action + if(transfer_potion_action) + transfer_potion_action.target = src + transfer_potion_action.Grant(user) + actions += transfer_potion_action /obj/machinery/computer/camera_advanced/xenobio/attack_hand(mob/user) @@ -78,17 +78,20 @@ /obj/machinery/computer/camera_advanced/xenobio/attackby(obj/item/O, mob/user, params) if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube)) - monkeys++ - to_chat(user, "You feed [O] to [src]. It now has [monkeys] monkey cubes stored.") - user.drop_item() - qdel(O) - return - else if (istype(O, /obj/item/slimepotion/mutator)) - mutators++ - to_chat(user, "You feed [O] to [src]. It now has [mutators] slime mutation potions stored.") - user.drop_item() - qdel(O) - return + if(user.drop_item()) + monkeys++ + to_chat(user, "You feed [O] to [src]. It now has [monkeys] monkey cubes stored.") + qdel(O) + return + else if (istype(O, /obj/item/slimepotion)) + var/replaced = FALSE + if(user.drop_item()) + if(!QDELETED(current_potion)) + current_potion.forceMove(drop_location()) + replaced = TRUE + current_potion = O + to_chat(user, "You load [O] in the console's potion slot[replaced ? ", replacing the one that was there before" : ""].") + return else if(istype(O, /obj/item/storage/bag)) var/obj/item/storage/P = O var/loaded = 0 @@ -99,15 +102,6 @@ qdel(MC) if(loaded) to_chat(user, "You fill [src] with the monkey cubes stored in [O]. [src] now has [monkeys] monkey cubes stored.") - loaded = 0 - - for(var/obj/item/slimepotion/mutator/M in P.contents) - loaded = 1 - mutators++ - P.remove_from_storage(M) - qdel(M) - if(loaded) - to_chat(user, "You fill [src] with the slime mutation potions stored in [O]. [src] now has [mutators] slime mutation potions stored.") return ..() @@ -195,27 +189,26 @@ else to_chat(owner, "Target is not near a camera. Cannot proceed.") -/datum/action/innate/mutate_slime - name = "Mutate Slimes" - button_icon_state = "mutate_slimes" +/datum/action/innate/transfer_potion + name = "Transfer Potion" + button_icon_state = "transfer_potion" -/datum/action/innate/mutate_slime/Activate() +/datum/action/innate/transfer_potion/Activate() if(!target || !ishuman(owner)) return + var/mob/living/carbon/human/C = owner var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control var/obj/machinery/computer/camera_advanced/xenobio/X = target + if(QDELETED(X.current_potion)) + to_chat(owner, "No potion loaded.") + return + if(cameranet.checkTurfVis(remote_eye.loc)) for(var/mob/living/carbon/slime/S in remote_eye.loc) - if(X.mutators) - var/obj/item/slimepotion/mutator/M = new /obj/item/slimepotion/mutator - if(!M.attack(S, owner)) - X.mutators-- - to_chat(owner, "[X] now has [X.mutators] slime mutation potions left.") - else - qdel(M) - else - //to_chat(ownder, "The console contains 0 slime mutators!") Leaving this out because the monkey feeder thing doesn't have one of these if you don't have any monkeys left. + if(!QDELETED(X.current_potion)) + X.current_potion.attack(S, C) + break else to_chat(owner, "Target is not near a camera. Cannot proceed.") \ No newline at end of file diff --git a/icons/mob/actions/actions.dmi b/icons/mob/actions/actions.dmi index 999e80761e50f624cfaf20f8af5f8743e4c4f919..fdc89eb09a6579ebcf8649fcd551691ad41cb247 100644 GIT binary patch delta 1187 zcmV;U1YG<6#|8bz1&|~G!I33Ke@K1v+ugrkzJB|$`~3aec4e)S)9!xv>7V!8%|TrA zyZhb858I7rS$sSFQyVqj-S6JeBthEI%w*a3<;`~EMC3vkF2x#qC4ahem~CJCe~ff6qcwVt?Ze{T6v5-2Ev zQUh7#3fpZ;sm`n*e(+KYLZ>8N0yV%P)p8o&j)`=9rfD%0gdx!JOg)T!`U^D~G8`q2 zPdzQB77k$y2C{ooW8MQsgCL#^lJ-N&<`CF6S=mIys?9NW;B}#HcS@2>ka=v9W4Xp` zLeAw6IyJ8Zczzb;2?7IEe;;J=<5Ml1xQR7Zj~RxUaKju6wQ(RnJ4@kdL&8y^3v=50cy;5+ndeNvsx%5yGo2#sBz<5=yLPcElo+H0jT!EIur2er^T!kivYp*KvUtF`k;2>)_Dme$5=0BlO5gBvZ^U-vebonqoQwF4esD z+E{OJ+;0+a5v&T1Y`yuJbHulDqQPAhPgT-_TYnaypN(QW7B-W1pdPxA%t+C7p=kLL z6FjFs_}sq~K(c5`z_==MMU0VEc5@)0tX;D6(}OJOk~6lWIxF z^C0DzS2hsqm;y*Dji*e{=1lCN$@uw5T3DA3L}W=Vcc3DTIq`9#@ho)7!ErLH$rcOJMaU~`IkRa@@wtg+ufHRpLd_X41e4H4-cz(ZIVE`5-9QFQ0s}if994SC4qtx zC^e8(uCU#vlA;VGP z_|(&4YT*#ZU?96UHRe5FGzj9!AZb6OYz~2Kla)6g3M!+9LqIk z6LKzp(5ZPP!1J>xPY@WWfBGPcAD?RB#7(TRddx7)gd65qsErf(8TUPmufiFYWH~t@ zJ;IWQe*N401;?xf-+IXb-$&8>z!rDoDts8jGOmA1ARXUePYtNPP<;`5G%HK0L-K(- zP*V0O+wm0%viO!HjSKQKX==+FhkT?(>{V=|e30b+kRS;-N^j*j#001Lmu06>8$DCzlWAKtSkMFC50nzxq557p#WW!Xd!L`9v?u$A$#Q z32z*@WCg4@Y8|lJW6VInHKkOejMrUR#-IBj<sY*mz3PDleQ z;wtv5e&j`&tiG`Nf6sY+UK>(2u8vr%lv!e-JA^g|bt8ELvM6fHku zg6HxFpZk{rC>Bi#7*|EEh%vItZVm*rwQJVKk4D+Pf6|M+FbaFp&GRd#dtG+jjW6iV z1GT%CH6JcsAb-o=1I?H;Q*y0bq5f)Gj746Vwud%nwS2hEzr|DK>SeyV#0#RpwX)ir zYSRwn{5j-&15Vmx77NVqpPse32ke1aND0eswufeHj&WT4s;Bb03x7?%(##cj*=1!l zUYw-Ge>4T&_ZNzpkjc$SGARK+#GKf`w4!#Ei)Pm?Fb#}R^KbK;PuINM=NWiDIH{I& zJP%Tid1V8!jwyho(s;`BY|g|UnvBCo(!#oQAR|j^xdR<(%!!W^jc1`t4vv#qB?sW1 z6lvDaS;z0^xdT7&oaUOQ28nz%4&Uy+{P?{44gCGv_J71FAO