mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 10:03:50 +01:00
Fixes runtime with ridable element and adds unit test for bespoke elements (#26111)
* fixes bespoke elements with default indexes, adds unit test for detecting this * lewc review
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
*/
|
||||
/datum/element/ridable
|
||||
element_flags = ELEMENT_BESPOKE
|
||||
|
||||
id_arg_index = 2
|
||||
/// The specific riding component subtype we're loading our instructions from, don't leave this as default please!
|
||||
var/riding_component_type = /datum/component/riding
|
||||
/// If we have a xenobio red potion applied to us, we get split off so we can pass our special status onto new riding components
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*/
|
||||
/datum/element/shatters_when_thrown
|
||||
element_flags = ELEMENT_BESPOKE
|
||||
|
||||
id_arg_index = 2
|
||||
/// What type of item is spawned as a 'shard' once the shattering happens
|
||||
var/obj/item/shard_type
|
||||
/// How many shards total are made when the thing we're attached to shatters
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "component_tests.dm"
|
||||
#include "config_sanity.dm"
|
||||
#include "crafting_lists.dm"
|
||||
#include "element_tests.dm"
|
||||
#include "emotes.dm"
|
||||
#include "init_sanity.dm"
|
||||
#include "log_format.dm"
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
/datum/unit_test/bespoke_element/Run()
|
||||
for(var/datum/element/element_type as anything in subtypesof(/datum/element))
|
||||
if(initial(element_type.element_flags) & ELEMENT_BESPOKE && initial(element_type.id_arg_index) == INFINITY)
|
||||
Fail("Element type [element_type] has ELEMENT_BESPOKE and a default id_arg_index.")
|
||||
Reference in New Issue
Block a user