diff --git a/code/game/gamemodes/blob/blobs/shield.dm b/code/game/gamemodes/blob/blobs/shield.dm index 4c77520846a..0e1b6c07eb4 100644 --- a/code/game/gamemodes/blob/blobs/shield.dm +++ b/code/game/gamemodes/blob/blobs/shield.dm @@ -6,7 +6,7 @@ density = 1 opacity = 0 anchored = 1 - health = 100 + health = 60 brute_resist = 1 fire_resist = 2 diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm index e04ab62671e..4e42765238d 100644 --- a/code/game/objects/items/devices/uplinks.dm +++ b/code/game/objects/items/devices/uplinks.dm @@ -7,8 +7,10 @@ A list of items and costs is stored under the datum of every game mode, alongsid */ /obj/item/device/uplink + var/welcome // Welcoming menu message var/items // List of items + var/valid_items = list() var/item_data // raw item text var/list/ItemList // Parsed list of items var/uses // Numbers of crystals @@ -58,6 +60,12 @@ A list of items and costs is stored under the datum of every game mode, alongsid + //Halfassed fix for href exploit ~Z + for(var/D in ItemList) + var/list/O = stringsplit(D, ":") + if(O.len>0) + valid_items += O[1] + //Let's build a menu! /obj/item/device/uplink/proc/generate_menu() @@ -87,7 +95,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid continue path_text = O[1] - cost = text2num(O[2]) + cost = Clamp(text2num(O[2]),1,20) //Another halfassed fix for href exploit ~Z if(cost>uses) continue @@ -378,7 +386,12 @@ A list of items and costs is stored under the datum of every game mode, alongsid return 1 if(..(href, href_list) == 1) + + if(!(href_list["buy_item"] in valid_items)) + return + var/path_obj = text2path(href_list["buy_item"]) + var/obj/I = new path_obj(get_turf(usr)) if(ishuman(usr)) var/mob/living/carbon/human/A = usr @@ -427,6 +440,3 @@ A list of items and costs is stored under the datum of every game mode, alongsid ..() hidden_uplink = new(src) hidden_uplink.uses = 10 - - - diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 96e037a23a6..17f8d1ce11e 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -12,7 +12,7 @@ var/filled = 0 afterattack(obj/target, mob/user , flag) - if(!target.reagents) return + if(!target.reagents || !flag) return if(filled) @@ -105,4 +105,4 @@ //////////////////////////////////////////////////////////////////////////////// /// Droppers. END -//////////////////////////////////////////////////////////////////////////////// \ No newline at end of file +////////////////////////////////////////////////////////////////////////////////