From b1164f044c78eb4badc6a0aef0f972e2a1af21b5 Mon Sep 17 00:00:00 2001 From: Daeberdir <115735095+Daeberdir@users.noreply.github.com> Date: Sun, 3 Dec 2023 12:56:07 +0200 Subject: [PATCH 1/5] Done. --- .../mining/lavaland/loot/colossus_loot.dm | 2 +- .../simple_animal/hostile/mining/basilisk.dm | 44 ++++++++++--------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/code/modules/mining/lavaland/loot/colossus_loot.dm b/code/modules/mining/lavaland/loot/colossus_loot.dm index 14a1e5626f4..83d92437c44 100644 --- a/code/modules/mining/lavaland/loot/colossus_loot.dm +++ b/code/modules/mining/lavaland/loot/colossus_loot.dm @@ -308,7 +308,7 @@ activation_sound = 'sound/magic/timeparadox2.ogg' var/list/banned_items_typecache = list(/obj/item/storage, /obj/item/implant, /obj/item/implanter, /obj/item/disk/nuclear, /obj/item/projectile, /obj/item/spellbook, /obj/item/clothing/mask/facehugger, /obj/item/contractor_uplink, - /obj/item/dice/d20/fate) + /obj/item/dice/d20/fate, /obj/item/gem) //////suda ebat /obj/machinery/anomalous_crystal/refresher/New() ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm index ac8f636cee5..68edfcbcb3d 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm @@ -82,15 +82,20 @@ crusher_loot = /obj/item/crusher_trophy/watcher_wing loot = list() butcher_results = list(/obj/item/stack/ore/diamond = 2, /obj/item/stack/sheet/sinew = 2, /obj/item/stack/sheet/bone = 1) + var/jewelry_loot = null -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random/Initialize(mapload) +/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/Initialize(mapload) . = ..() - if(prob(40)) //60 for classic, 20/20 for magma and ice - if(prob(50)) - new /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/magmawing(loc) - else - new /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing(loc) - return INITIALIZE_HINT_QDEL + if(prob(70) && jewelry_loot) + jewelry_loot = null + +/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/death(gibbed) + if(!fromtendril && && jewelry_loot) + var/obj/gem = new jewelry_loot(loc) + deathmessage = "spits out a [gem.name] as it dies!" + jewelry_loot = null + . = ..() + deathmessage = initial(deathmessage) /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/magmawing name = "magmawing watcher" @@ -105,6 +110,7 @@ light_power = 2.5 light_color = LIGHT_COLOR_LAVA projectiletype = /obj/item/projectile/temp/basilisk/magmawing + jewelry_loot = /obj/item/gem/magma crusher_loot = /obj/item/crusher_trophy/blaster_tubes/magma_wing crusher_drop_mod = 60 @@ -119,9 +125,19 @@ health = 170 projectiletype = /obj/item/projectile/temp/basilisk/icewing butcher_results = list(/obj/item/stack/ore/diamond = 5, /obj/item/stack/sheet/bone = 1) //No sinew; the wings are too fragile to be usable + jewelry_loot = /obj/item/gem/fdiamond crusher_loot = /obj/item/crusher_trophy/watcher_wing/ice_wing crusher_drop_mod = 60 +/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random/Initialize(mapload) + . = ..() + if(prob(40)) //60 for classic, 20/20 for magma and ice + if(prob(50)) + new /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/magmawing(loc) + else + new /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing(loc) + return INITIALIZE_HINT_QDEL + /obj/item/projectile/watcher name = "stunning blast" icon_state = "temp_0" @@ -181,17 +197,3 @@ /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/magmawing/tendril fromtendril = TRUE - -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing/death(gibbed) - if(prob(30) && !fromtendril) - new /obj/item/gem/fdiamond(loc) - deathmessage = "spits out a diamond as it dies!" - . = ..() - deathmessage = initial(deathmessage) - -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/magmawing/death(gibbed) - if(prob(30) && !fromtendril) - new /obj/item/gem/magma(loc) - deathmessage = "spits out a golden gem as it dies!" - . = ..() - deathmessage = initial(deathmessage) From b36b354cb90e12cfef2d8fc6fc3007547dce2bab Mon Sep 17 00:00:00 2001 From: Daeberdir <115735095+Daeberdir@users.noreply.github.com> Date: Sun, 3 Dec 2023 13:11:13 +0200 Subject: [PATCH 2/5] ahem --- .../modules/mob/living/simple_animal/hostile/mining/basilisk.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm index 68edfcbcb3d..4ecb93161b0 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm @@ -90,7 +90,7 @@ jewelry_loot = null /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/death(gibbed) - if(!fromtendril && && jewelry_loot) + if(!fromtendril && jewelry_loot) var/obj/gem = new jewelry_loot(loc) deathmessage = "spits out a [gem.name] as it dies!" jewelry_loot = null From 95b7a38510ccec3fd3336a203206723f534a2633 Mon Sep 17 00:00:00 2001 From: Daeberdir <115735095+Daeberdir@users.noreply.github.com> Date: Sun, 3 Dec 2023 13:21:36 +0200 Subject: [PATCH 3/5] AHEM --- code/modules/mining/lavaland/loot/colossus_loot.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mining/lavaland/loot/colossus_loot.dm b/code/modules/mining/lavaland/loot/colossus_loot.dm index 83d92437c44..9840225bb54 100644 --- a/code/modules/mining/lavaland/loot/colossus_loot.dm +++ b/code/modules/mining/lavaland/loot/colossus_loot.dm @@ -308,7 +308,7 @@ activation_sound = 'sound/magic/timeparadox2.ogg' var/list/banned_items_typecache = list(/obj/item/storage, /obj/item/implant, /obj/item/implanter, /obj/item/disk/nuclear, /obj/item/projectile, /obj/item/spellbook, /obj/item/clothing/mask/facehugger, /obj/item/contractor_uplink, - /obj/item/dice/d20/fate, /obj/item/gem) //////suda ebat + /obj/item/dice/d20/fate, /obj/item/gem) /obj/machinery/anomalous_crystal/refresher/New() ..() From cb88dcbfc78d1d496be82bed77e877d3e5f5157f Mon Sep 17 00:00:00 2001 From: Daeberdir <115735095+Daeberdir@users.noreply.github.com> Date: Mon, 4 Dec 2023 06:55:42 +0200 Subject: [PATCH 4/5] peredumal --- .../simple_animal/hostile/mining/basilisk.dm | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm index 4ecb93161b0..0e18f776d47 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm @@ -84,15 +84,11 @@ butcher_results = list(/obj/item/stack/ore/diamond = 2, /obj/item/stack/sheet/sinew = 2, /obj/item/stack/sheet/bone = 1) var/jewelry_loot = null -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/Initialize(mapload) - . = ..() - if(prob(70) && jewelry_loot) - jewelry_loot = null - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/death(gibbed) if(!fromtendril && jewelry_loot) - var/obj/gem = new jewelry_loot(loc) - deathmessage = "spits out a [gem.name] as it dies!" + if(prob(30)) + var/obj/gem = new jewelry_loot(loc) + deathmessage = "spits out a [gem.name] as it dies!" jewelry_loot = null . = ..() deathmessage = initial(deathmessage) @@ -138,6 +134,15 @@ new /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing(loc) return INITIALIZE_HINT_QDEL +/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril + fromtendril = TRUE + +/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing/tendril + fromtendril = TRUE + +/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/magmawing/tendril + fromtendril = TRUE + /obj/item/projectile/watcher name = "stunning blast" icon_state = "temp_0" @@ -188,12 +193,3 @@ var/mob/living/L = target if(istype(L)) L.apply_status_effect(/datum/status_effect/freon/watcher) - -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril - fromtendril = TRUE - -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing/tendril - fromtendril = TRUE - -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/magmawing/tendril - fromtendril = TRUE From 264a9fa4c09cce2721fb2c7bf879bd87ce4a94d7 Mon Sep 17 00:00:00 2001 From: Daeberdir <115735095+Daeberdir@users.noreply.github.com> Date: Wed, 6 Dec 2023 15:20:24 +0200 Subject: [PATCH 5/5] Done. --- code/modules/clothing/clothing.dm | 2 ++ .../living/simple_animal/hostile/mining/basilisk.dm | 10 ---------- .../living/simple_animal/hostile/mining/goldgrub.dm | 7 +------ .../living/simple_animal/hostile/mining/mining.dm | 12 +++++++++++- 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 37455126894..7571168bdfc 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -587,9 +587,11 @@ BLIND // can't see anything if(user.dna.species.name in hide_tail_by_species) if(!(flags_inv & HIDETAIL)) //Hide the tail if the user's species is in the hide_tail_by_species list and the tail isn't already hidden. flags_inv |= HIDETAIL + user.update_tail_layer() else if(!(initial(flags_inv) & HIDETAIL) && (flags_inv & HIDETAIL)) //Otherwise, remove the HIDETAIL flag if it wasn't already in the flags_inv to start with. flags_inv &= ~HIDETAIL + user.update_tail_layer() /obj/item/clothing/suit/ui_action_click(mob/user) //This is what happens when you click the HUD action button to adjust your suit. if(!ignore_suitadjust) diff --git a/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm index a3e112d7774..fbaa26489b4 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/basilisk.dm @@ -83,16 +83,6 @@ crusher_loot = /obj/item/crusher_trophy/watcher_wing loot = list() butcher_results = list(/obj/item/stack/ore/diamond = 2, /obj/item/stack/sheet/sinew = 2, /obj/item/stack/sheet/bone = 1) - var/jewelry_loot = null - -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/death(gibbed) - if(!fromtendril && jewelry_loot) - if(prob(30)) - var/obj/gem = new jewelry_loot(loc) - deathmessage = "spits out a [gem.name] as it dies!" - jewelry_loot = null - . = ..() - deathmessage = initial(deathmessage) /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/magmawing name = "magmawing watcher" diff --git a/code/modules/mob/living/simple_animal/hostile/mining/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining/goldgrub.dm index ac1913733f0..8c9846e96c7 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/goldgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/goldgrub.dm @@ -28,7 +28,7 @@ search_objects = 1 wanted_objects = list(/obj/item/stack/ore/diamond, /obj/item/stack/ore/gold, /obj/item/stack/ore/silver, /obj/item/stack/ore/uranium, /obj/item/stack/ore/titanium) - + jewelry_loot = /obj/item/gem/rupee var/chase_time = 100 var/will_burrow = TRUE var/max_loot = 15 // The maximum amount of ore that can be stored in this thing's gut @@ -82,8 +82,3 @@ /mob/living/simple_animal/hostile/asteroid/goldgrub/adjustHealth(amount, updating_health = TRUE) vision_range = 9 . = ..() - -/mob/living/simple_animal/hostile/asteroid/goldgrub/death(gibbed) - if(prob(40)) - new /obj/item/gem/rupee(loc) - . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining/mining.dm b/code/modules/mob/living/simple_animal/hostile/mining/mining.dm index 80ba1b37885..ed9b7be27c0 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/mining.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/mining.dm @@ -14,6 +14,7 @@ response_harm = "strikes" status_flags = 0 a_intent = INTENT_HARM + var/jewelry_loot var/crusher_loot var/throw_message = "bounces off of" var/fromtendril = FALSE @@ -57,7 +58,16 @@ var/datum/status_effect/crusher_damage/C = has_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING) if(C && crusher_loot && prob((C.total_damage/maxHealth) * crusher_drop_mod)) //on average, you'll need to kill 4 creatures before getting the item spawn_crusher_loot() - ..(gibbed) + if(!fromtendril && jewelry_loot) + if(prob(melee_damage_lower | melee_damage_upper ? 30 : 40)) // Poaching logic - a better reward gained from hunting harmless animals. + var/obj/gem = new jewelry_loot(loc) + if(!deathmessage) + deathmessage = "spits out a [gem.name] as it dies!" + jewelry_loot = null + . = ..(gibbed) + deathmessage = initial(deathmessage) + else + ..(gibbed) /mob/living/simple_animal/hostile/asteroid/proc/spawn_crusher_loot() butcher_results[crusher_loot] = 1