mirror of
https://github.com/goonstation/goonstation-2016.git
synced 2026-07-19 21:12:41 +01:00
3192d1ee79
**Key Features:**
- /obj/adventurepuzzle/element_link
- allows you to set up trigger-triggerable relationships on .dmm files
- /obj/adventurepuzzle/triggerable/targetable
- groups together various targetable triggerables for use by target_link
- /obj/adventurepuzzle/invisible/target_link
- allows you to set a target for targetable triggerables on .dmm files
- adv_test.dmm
- map for showcasing the various adventure elements and some of their functionality
**Other Changes:**
I had to edit several of the existing elements to make their member variables editable on the .dmm editor
I also instantiated a bunch of variables that marquesas didn't instantiate, and fixed a bug with timed doors
73 lines
1.6 KiB
Plaintext
73 lines
1.6 KiB
Plaintext
/obj/adventurepuzzle/element_link
|
|
|
|
var/triggerer_id = null
|
|
var/triggerable_id = null
|
|
var/act_type = null
|
|
var/triggerer = null
|
|
var/triggerable = null
|
|
var/is_unpress = 0
|
|
|
|
New()
|
|
..()
|
|
spawn(1)
|
|
src.link_elements()
|
|
spawn(10)
|
|
qdel(src)
|
|
|
|
proc/link_elements()
|
|
|
|
for(var/obj/adventurepuzzle/A)
|
|
|
|
if(A.id == src.triggerer_id)
|
|
src.triggerer = A
|
|
|
|
if(A.id == src.triggerable_id)
|
|
src.triggerable = A
|
|
|
|
|
|
for(var/obj/item/adventurepuzzle/A)
|
|
|
|
if(A.id == src.triggerer_id)
|
|
src.triggerer = A
|
|
|
|
if(A.id == src.triggerable_id)
|
|
src.triggerable = A
|
|
|
|
if(src.triggerer && src.triggerable)
|
|
|
|
if(istype(src.triggerable,/obj/adventurepuzzle/triggerable))
|
|
|
|
var/obj/adventurepuzzle/triggerable/Y = src.triggerable
|
|
|
|
if(istype(src.triggerer,/obj/adventurepuzzle/triggerer/twostate))
|
|
|
|
var/obj/adventurepuzzle/triggerer/twostate/X = src.triggerer
|
|
|
|
if(is_unpress)
|
|
X.triggered_unpress += Y
|
|
X.triggered_unpress[Y] = act_type
|
|
|
|
else
|
|
X.triggered += Y
|
|
X.triggered[Y] = act_type
|
|
|
|
else if(istype(src.triggerer,/obj/adventurepuzzle/triggerer))
|
|
|
|
var/obj/adventurepuzzle/triggerer/X = src.triggerer
|
|
|
|
X.triggered += Y
|
|
X.triggered[Y] = act_type
|
|
|
|
else if(istype(src.triggerer,/obj/adventurepuzzle/triggerable/triggerer))
|
|
|
|
var/obj/adventurepuzzle/triggerable/triggerer/X = src.triggerer
|
|
|
|
X.triggered += Y
|
|
X.triggered[Y] = act_type
|
|
|
|
else if(istype(src.triggerer,/obj/item/adventurepuzzle/triggerer))
|
|
|
|
var/obj/item/adventurepuzzle/triggerer/X = src.triggerer
|
|
|
|
X.triggered += Y
|
|
X.triggered[Y] = act_type |