From 402d1ef1319dfdca768c136000f1c9e7f8991714 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Mon, 29 Jul 2019 00:03:18 +0200 Subject: [PATCH 1/8] No drop items now lose their nodrop if dropped --- code/datums/spells/horsemask.dm | 2 +- code/game/gamemodes/miniantags/abduction/abduction_gear.dm | 4 ++++ code/game/gamemodes/wizard/spellbook.dm | 2 +- code/game/objects/effects/mines.dm | 2 +- code/game/objects/items.dm | 2 ++ code/modules/admin/topic.dm | 4 ++-- code/modules/ninja/suit/gloves.dm | 6 +++++- code/modules/ninja/suit/head.dm | 6 +++++- code/modules/ninja/suit/mask.dm | 6 +++++- code/modules/ninja/suit/shoes.dm | 7 ++++++- code/modules/ninja/suit/suit.dm | 6 +++++- code/modules/surgery/organs/augments_arms.dm | 2 +- 12 files changed, 38 insertions(+), 11 deletions(-) diff --git a/code/datums/spells/horsemask.dm b/code/datums/spells/horsemask.dm index 7b880f00e42..f536041e807 100644 --- a/code/datums/spells/horsemask.dm +++ b/code/datums/spells/horsemask.dm @@ -36,7 +36,7 @@ return var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead - magichead.flags |= NODROP //curses! + magichead.flags |= NODROP | DROPDEL //curses! magichead.flags_inv = null //so you can still see their face magichead.voicechange = 1 //NEEEEIIGHH target.visible_message( "[target]'s face lights up in fire, and after the event a horse's head takes its place!", \ diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index f6bed7b539f..71190d676e7 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -48,6 +48,10 @@ var/datum/action/A = X A.UpdateButtonIcon() +/obj/item/clothing/suit/armor/abductor/vest/dropped() + . = ..() + flags &= ~NODROP + /obj/item/clothing/suit/armor/abductor/vest/item_action_slot_check(slot, mob/user) if(slot == slot_wear_suit) //we only give the mob the ability to activate the vest if he's actually wearing it. return 1 diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 7d941a41bde..aa0e7b15134 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -863,7 +863,7 @@ if(istype(user, /mob/living/carbon/human)) to_chat(user, "HOR-SIE HAS RISEN") var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead - magichead.flags |= NODROP //curses! + magichead.flags |= NODROP | DROPDEL //curses! magichead.flags_inv = null //so you can still see their face magichead.voicechange = 1 //NEEEEIIGHH if(!user.unEquip(user.wear_mask)) diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 547df1b96ef..400b9f0ca2e 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -141,7 +141,7 @@ new /obj/effect/hallucination/delusion(victim.loc, victim, force_kind = "demon", duration = duration, skip_nearby = 0) var/obj/item/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc) - chainsaw.flags |= NODROP + chainsaw.flags |= NODROP | DROPDEL victim.drop_l_hand() victim.drop_r_hand() victim.put_in_hands(chainsaw) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 073cd0df669..d6bd47f17ab 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -347,6 +347,8 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d A.Remove(user) if(flags & DROPDEL) qdel(src) + if((flags & NODROP) && !(initial(flags) & NODROP)) //Remove NODROP is dropped + flags &= ~NODROP in_inventory = FALSE SEND_SIGNAL(src, COMSIG_ITEM_DROPPED,user) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 85d835651e3..249faf0aba7 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1930,7 +1930,7 @@ evilcookie.reagents.add_reagent("mutagen", 10) evilcookie.desc = "It has a faint green glow." evilcookie.bitesize = 100 - evilcookie.flags = NODROP + evilcookie.flags = NODROP | DROPDEL H.drop_l_hand() H.equip_to_slot_or_del(evilcookie, slot_l_hand) logmsg = "a mutagen cookie." @@ -1939,7 +1939,7 @@ evilcookie.reagents.add_reagent("hell_water", 25) evilcookie.desc = "Sulphur-flavored." evilcookie.bitesize = 100 - evilcookie.flags = NODROP + evilcookie.flags = NODROP | DROPDEL H.drop_l_hand() H.equip_to_slot_or_del(evilcookie, slot_l_hand) logmsg = "a hellwater cookie." diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm index b4c0a5305b7..3bd4b767d15 100644 --- a/code/modules/ninja/suit/gloves.dm +++ b/code/modules/ninja/suit/gloves.dm @@ -11,4 +11,8 @@ min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT - transfer_prints = FALSE \ No newline at end of file + transfer_prints = FALSE + +/obj/item/clothing/gloves/space_ninja/dropped() + . = ..() + flags &= ~NODROP diff --git a/code/modules/ninja/suit/head.dm b/code/modules/ninja/suit/head.dm index 6ed302feaad..bd8e6137a13 100644 --- a/code/modules/ninja/suit/head.dm +++ b/code/modules/ninja/suit/head.dm @@ -7,4 +7,8 @@ item_state = "s-ninja_hood" armor = list(melee = 60, bullet = 60, laser = 45, energy = 15, bomb = 30, bio = 30, rad = 25) unacidable = 1 - blockTracking = 1 \ No newline at end of file + blockTracking = 1 + +/obj/item/clothing/head/helmet/space/space_ninja/dropped() + . = ..() + flags &= ~NODROP diff --git a/code/modules/ninja/suit/mask.dm b/code/modules/ninja/suit/mask.dm index 0ebec2e724f..f9f06fb8468 100644 --- a/code/modules/ninja/suit/mask.dm +++ b/code/modules/ninja/suit/mask.dm @@ -28,4 +28,8 @@ Contents: /obj/item/clothing/mask/gas/space_ninja/Destroy() QDEL_NULL(voice_changer) - return ..() \ No newline at end of file + return ..() + +/obj/item/clothing/mask/gas/voice/space_ninja/dropped() + . = ..() + flags &= ~NODROP \ No newline at end of file diff --git a/code/modules/ninja/suit/shoes.dm b/code/modules/ninja/suit/shoes.dm index 5cb67e73db6..a1f37d6f76e 100644 --- a/code/modules/ninja/suit/shoes.dm +++ b/code/modules/ninja/suit/shoes.dm @@ -9,4 +9,9 @@ cold_protection = FEET min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT heat_protection = FEET - max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT \ No newline at end of file + max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT + +/obj/item/clothing/shoes/space_ninja/dropped() + . = ..() + flags &= ~NODROP + \ No newline at end of file diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 6e550e64893..fbb953c7f5a 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -86,4 +86,8 @@ Contents: suitShoes = null suitOccupant = null - return 1 \ No newline at end of file + return 1 + +/obj/item/clothing/suit/space/space_ninja/dropped() + . = ..() + flags &= ~NODROP \ No newline at end of file diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 9342b3afd29..bab7dc94e0d 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -85,7 +85,7 @@ holder = item - holder.flags |= NODROP + holder.flags |= NODROP | DROPDEL holder.unacidable = 1 holder.slot_flags = null holder.w_class = WEIGHT_CLASS_HUGE From e82fc2d420cf248b9e880400f42e88b31683f8f4 Mon Sep 17 00:00:00 2001 From: farie82 Date: Wed, 7 Aug 2019 08:53:03 +0200 Subject: [PATCH 2/8] not required --- code/modules/ninja/suit/gloves.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm index 3bd4b767d15..7f1059f062e 100644 --- a/code/modules/ninja/suit/gloves.dm +++ b/code/modules/ninja/suit/gloves.dm @@ -12,7 +12,3 @@ heat_protection = HANDS max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT transfer_prints = FALSE - -/obj/item/clothing/gloves/space_ninja/dropped() - . = ..() - flags &= ~NODROP From 5dcb64a013334af60aeeaa9da94526ffdf9a2ba8 Mon Sep 17 00:00:00 2001 From: farie82 Date: Wed, 7 Aug 2019 08:53:48 +0200 Subject: [PATCH 4/8] Update head.dm --- code/modules/ninja/suit/head.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/ninja/suit/head.dm b/code/modules/ninja/suit/head.dm index bd8e6137a13..a7a21f072f3 100644 --- a/code/modules/ninja/suit/head.dm +++ b/code/modules/ninja/suit/head.dm @@ -8,7 +8,3 @@ armor = list(melee = 60, bullet = 60, laser = 45, energy = 15, bomb = 30, bio = 30, rad = 25) unacidable = 1 blockTracking = 1 - -/obj/item/clothing/head/helmet/space/space_ninja/dropped() - . = ..() - flags &= ~NODROP From c40e4dc826130fb5a5417ea6ba37c45809b3924c Mon Sep 17 00:00:00 2001 From: farie82 Date: Wed, 7 Aug 2019 08:54:06 +0200 Subject: [PATCH 5/8] Update mask.dm --- code/modules/ninja/suit/mask.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/ninja/suit/mask.dm b/code/modules/ninja/suit/mask.dm index f9f06fb8468..2f76673ab13 100644 --- a/code/modules/ninja/suit/mask.dm +++ b/code/modules/ninja/suit/mask.dm @@ -29,7 +29,3 @@ Contents: /obj/item/clothing/mask/gas/space_ninja/Destroy() QDEL_NULL(voice_changer) return ..() - -/obj/item/clothing/mask/gas/voice/space_ninja/dropped() - . = ..() - flags &= ~NODROP \ No newline at end of file From 77b849f87f6abb49fbc7ff124e999d7894b2d160 Mon Sep 17 00:00:00 2001 From: farie82 Date: Wed, 7 Aug 2019 08:54:30 +0200 Subject: [PATCH 6/8] Update shoes.dm --- code/modules/ninja/suit/shoes.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/modules/ninja/suit/shoes.dm b/code/modules/ninja/suit/shoes.dm index a1f37d6f76e..af5f4d3ecc1 100644 --- a/code/modules/ninja/suit/shoes.dm +++ b/code/modules/ninja/suit/shoes.dm @@ -10,8 +10,3 @@ min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT heat_protection = FEET max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT - -/obj/item/clothing/shoes/space_ninja/dropped() - . = ..() - flags &= ~NODROP - \ No newline at end of file From 896856bf07f37fe9ff71f1d351a1f36e2851635d Mon Sep 17 00:00:00 2001 From: farie82 Date: Wed, 7 Aug 2019 08:54:45 +0200 Subject: [PATCH 7/8] Update suit.dm --- code/modules/ninja/suit/suit.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index fbb953c7f5a..365cc35cfc6 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -87,7 +87,3 @@ Contents: suitOccupant = null return 1 - -/obj/item/clothing/suit/space/space_ninja/dropped() - . = ..() - flags &= ~NODROP \ No newline at end of file From d0c1535263864a6838823864f6b22053ca60dc90 Mon Sep 17 00:00:00 2001 From: farie82 Date: Wed, 7 Aug 2019 08:57:25 +0200 Subject: [PATCH 8/8] Update abduction_gear.dm --- code/game/gamemodes/miniantags/abduction/abduction_gear.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index 71190d676e7..f6bed7b539f 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -48,10 +48,6 @@ var/datum/action/A = X A.UpdateButtonIcon() -/obj/item/clothing/suit/armor/abductor/vest/dropped() - . = ..() - flags &= ~NODROP - /obj/item/clothing/suit/armor/abductor/vest/item_action_slot_check(slot, mob/user) if(slot == slot_wear_suit) //we only give the mob the ability to activate the vest if he's actually wearing it. return 1