mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-31 00:58:26 +01:00
[MIRROR] Improves the RPG loot wizard event. [MDB IGNORE] (#22800)
* 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> * Improves the RPG loot wizard event. --------- Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com> Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
This commit is contained in:
co-authored by
Watermelon914
Watermelon914
parent
62ab5e77f4
commit
72b1a979ff
@@ -10,6 +10,28 @@
|
||||
/// What storage type to use for this item
|
||||
var/datum/storage/storage_type = /datum/storage
|
||||
|
||||
/obj/item/storage/apply_fantasy_bonuses(bonus)
|
||||
. = ..()
|
||||
atom_storage.max_slots = modify_fantasy_variable("max_slots", atom_storage.max_slots, round(bonus/2))
|
||||
atom_storage.max_total_storage = modify_fantasy_variable("max_total_storage", atom_storage.max_total_storage, round(bonus/2))
|
||||
LAZYSET(fantasy_modifications, "max_specific_storage", atom_storage.max_specific_storage)
|
||||
if(bonus >= 15)
|
||||
atom_storage.max_specific_storage = max(WEIGHT_CLASS_HUGE, atom_storage.max_specific_storage)
|
||||
else if(bonus >= 10)
|
||||
atom_storage.max_specific_storage = max(WEIGHT_CLASS_BULKY, atom_storage.max_specific_storage)
|
||||
else if(bonus <= -10)
|
||||
atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL
|
||||
else if(bonus <= -15)
|
||||
atom_storage.max_specific_storage = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/storage/remove_fantasy_bonuses(bonus)
|
||||
atom_storage.max_slots = reset_fantasy_variable("max_slots", atom_storage.max_slots)
|
||||
atom_storage.max_total_storage = reset_fantasy_variable("max_total_storage", atom_storage.max_total_storage)
|
||||
var/previous_max_storage = LAZYACCESS(fantasy_modifications, "max_specific_storage")
|
||||
if(previous_max_storage)
|
||||
atom_storage.max_specific_storage = previous_max_storage
|
||||
return ..()
|
||||
|
||||
/obj/item/storage/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user