Files
Bubberstation/code/game/objects/items/grenades/spawnergrenade.dm
Watermelon914 69827604c4 Improves the RPG loot wizard event. (#77218)
## About The Pull Request
As the title says. Adds a bunch more stat changes to various different
items and a somewhat simple way of modifying them whilst minimizing
side-effects as much as possible.
Added a new negative curse of polymorph suffix that can randomly
polymorph you once you pick up the item.
Curse of hunger items won't start on items that are not on a turf.
Curse of polymorph will only activate when equipped.

Bodyparts, two-handed melees, bags, guns and grenades, to name a few,
have a bunch of type-specific stat changes depending on their quality.

Some items won't gain fantasy suffixes during the RPG loot event, like
stacks, chairs and paper, to make gamifying the stats a bit harder.
I'm sure there'll still be other ways to game the event, but it's not
that big of a deal since these are the easiest ways to game it.
High level items also have a cool unusual effect aura

## Why It's Good For The Game
Makes the RPG item event cooler. Right now, it's a bit lame since
everything only gains force value and wound bonus on attack. This makes
the statistic increases more type-based and make it interesting to use

It's okay for some items to be powerful since this is a wizard event and
a very impactful one too. By making the curse of hunger items not spawn
on people, it'll also make it a less painful event too.

## Changelog
🆑
add: Expanded the RPG loot wizard event by giving various different
items their own statistic boost.
/🆑

---------

Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
2023-07-31 17:09:53 +00:00

74 lines
3.4 KiB
Plaintext

/obj/item/grenade/spawnergrenade
desc = "It will unleash an unspecified anomaly in the surrounding vicinity."
name = "delivery grenade"
icon = 'icons/obj/weapons/grenade.dmi'
icon_state = "delivery"
inhand_icon_state = "flashbang"
var/spawner_type = null // must be an object path
var/deliveryamt = 1 // amount of type to deliver
/obj/item/grenade/spawnergrenade/apply_grenade_fantasy_bonuses(quality)
deliveryamt = modify_fantasy_variable("deliveryamt", deliveryamt, quality)
/obj/item/grenade/spawnergrenade/remove_grenade_fantasy_bonuses(quality)
deliveryamt = reset_fantasy_variable("deliveryamt", deliveryamt)
/obj/item/grenade/spawnergrenade/detonate(mob/living/lanced_by) // Prime now just handles the two loops that query for people in lockers and people who can see it.
. = ..()
if(!.)
return
update_mob()
if(spawner_type && deliveryamt)
// Make a quick flash
var/turf/target_turf = get_turf(src)
playsound(target_turf, 'sound/effects/phasein.ogg', 100, TRUE)
for(var/mob/living/carbon/target_carbon in viewers(target_turf, null))
target_carbon.flash_act()
// Spawn some hostile syndicate critters and spread them out
var/list/spawned = spawn_and_random_walk(spawner_type, target_turf, deliveryamt, walk_chance = 50, admin_spawn = ((flags_1 & ADMIN_SPAWNED_1) ? TRUE : FALSE))
afterspawn(spawned)
qdel(src)
/obj/item/grenade/spawnergrenade/proc/afterspawn(list/mob/spawned)
return
/obj/item/grenade/spawnergrenade/manhacks
name = "viscerator delivery grenade"
spawner_type = /mob/living/basic/viscerator
deliveryamt = 10
/obj/item/grenade/spawnergrenade/spesscarp
name = "carp delivery grenade"
spawner_type = /mob/living/basic/carp
deliveryamt = 5
/obj/item/grenade/spawnergrenade/syndiesoap
name = "Mister Scrubby"
spawner_type = /obj/item/soap/syndie
/obj/item/grenade/spawnergrenade/buzzkill
name = "Buzzkill grenade"
desc = "The label reads: \"WARNING: DEVICE WILL RELEASE LIVE SPECIMENS UPON ACTIVATION. SEAL SUIT BEFORE USE.\" It is warm to the touch and vibrates faintly."
icon_state = "holy_grenade"
spawner_type = /mob/living/basic/bee/toxin
deliveryamt = 10
/obj/item/grenade/spawnergrenade/clown
name = "C.L.U.W.N.E."
desc = "A sleek device often given to clowns on their 10th birthdays for protection. You can hear faint scratching coming from within."
icon_state = "clown_ball"
inhand_icon_state = null
spawner_type = list(/mob/living/simple_animal/hostile/retaliate/clown/fleshclown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk, /mob/living/simple_animal/hostile/retaliate/clown/longface, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/chlown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/honcmunculus, /mob/living/simple_animal/hostile/retaliate/clown/mutant/glutton, /mob/living/simple_animal/hostile/retaliate/clown/banana, /mob/living/simple_animal/hostile/retaliate/clown/honkling, /mob/living/simple_animal/hostile/retaliate/clown/lube)
deliveryamt = 1
/obj/item/grenade/spawnergrenade/clown_broken
name = "stuffed C.L.U.W.N.E."
desc = "A sleek device often given to clowns on their 10th birthdays for protection. While a typical C.L.U.W.N.E only holds one creature, sometimes foolish young clowns try to cram more in, often to disasterous effect."
icon_state = "clown_broken"
inhand_icon_state = null
spawner_type = /mob/living/simple_animal/hostile/retaliate/clown/mutant
deliveryamt = 5