Skip to content
Open
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
070f7d7
adds the mercenary statue and rings
Monkeke2 Aug 6, 2026
e1b5364
Merge branch 'main' into MercStatue
Monkeke2 Aug 6, 2026
951b509
Adds statues to maps and changes statue description
Monkeke2 Aug 6, 2026
c96fa8c
accidental deletion
Monkeke2 Aug 6, 2026
8d07989
Empty commit to restart checks
Monkeke2 Aug 6, 2026
4019795
fixes href
Monkeke2 Aug 6, 2026
341c2cb
space indentations
Monkeke2 Aug 6, 2026
2b8f5d2
hopefully fixed item_detail_sanity
Monkeke2 Aug 6, 2026
e23f022
attempt number two
Monkeke2 Aug 6, 2026
7b85bf8
Empty commit because checks decided to cancel
Monkeke2 Aug 6, 2026
e046afc
Update servant_bell.dm
Monkeke2 Aug 8, 2026
2491c50
Update mercstatue.dm
Monkeke2 Aug 8, 2026
1544039
Changes statue description
Monkeke2 Aug 8, 2026
069aae3
Removes "sign up" pop-up on voyage
Monkeke2 Aug 8, 2026
ec093c4
Makes the ring a separate thing from the servant bell.
Monkeke2 Aug 11, 2026
1249403
Requested changes + proper status effect for the ring instead of the …
Monkeke2 Aug 17, 2026
a4067bc
Requested changes + proper status effect for the ring instead of the …
Monkeke2 Aug 17, 2026
e604de2
Merge branch 'MercStatue' of https://github.com/Monkeke2/monkelin int…
Monkeke2 Aug 17, 2026
617f539
Merge branch 'main' into MercStatue
Monkeke2 Aug 17, 2026
a98d98e
Merge conflicts
Monkeke2 Aug 20, 2026
572f153
placing the statues again because maps broke
Monkeke2 Aug 20, 2026
da8db1b
Merge branch 'main' into MercStatue
Monkeke2 Aug 21, 2026
8559125
Accidentally removed the campfire icon, somehow.
Monkeke2 Aug 21, 2026
59dc78d
Merge branch 'main' into MercStatue
Monkeke2 Aug 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions _maps/map_files/daftmarsh/daftmarsh.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -3235,6 +3235,11 @@
/obj/machinery/light/fueled/wallfire/candle/r,
/turf/open/floor/ruinedwood/darker,
/area/indoors/town/orphanage)
"cDR" = (
/obj/machinery/light/fueled/wallfire/candle/l,
/obj/structure/mercstatue,
/turf/open/floor/blocks/newstone/alt,
/area/indoors/town/merc_guild)
"cEd" = (
/obj/structure/table/wood{
icon_state = "longtable";
Expand Down Expand Up @@ -23478,6 +23483,10 @@
/obj/effect/decal/cleanable/dirt/dust,
/turf/open/floor/herringbone,
/area/indoors/town/garrison)
"uHB" = (
/obj/structure/mercstatue,
/turf/open/floor/grass,
/area/outdoors/town/keep)
"uHE" = (
/obj/structure/water_pipe,
/obj/machinery/light/fueled/wallfire/candle,
Expand Down Expand Up @@ -124714,7 +124723,7 @@ iyJ
oLO
tbk
bcf
tbk
cDR
aKh
iXR
iXR
Expand Down Expand Up @@ -127093,7 +127102,7 @@ iiV
iiV
iiV
hnl
tpI
uHB
tea
tea
tpI
Expand Down
38 changes: 33 additions & 5 deletions _maps/map_files/vanderlin/vanderlin.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -15382,6 +15382,13 @@
/obj/structure/carpet/blue,
/turf/open/floor/cobble,
/area/indoors/town/keep/magician)
"hqT" = (
/obj/machinery/light/fueled/torchholder{
dir = 4
},
/obj/structure/mercstatue,
/turf/open/floor/dirt/road,
/area/outdoors/town)
"hqX" = (
/obj/structure/fluff/railing/wood{
dir = 8;
Expand Down Expand Up @@ -31162,6 +31169,10 @@
/obj/item/dice,
/turf/open/floor/carpet/lord/center,
/area/indoors/town/tavern)
"osl" = (
/obj/structure/mercstatue,
/turf/open/floor/dirt/road,
/area/outdoors/beach)
"osm" = (
/turf/closed/wall/mineral/stone,
/area/indoors/town/clinic_large/apothecary)
Expand Down Expand Up @@ -31656,6 +31667,10 @@
/obj/item/candle/skull/lit,
/turf/open/floor/carpet/green,
/area/indoors/town/adv_guild)
"oCI" = (
/obj/structure/mercstatue,
/turf/open/floor/grass/red,
/area/outdoors/woods_safe)
"oDC" = (
/obj/effect/decal/cleanable/blood/tracks{
dir = 4
Expand Down Expand Up @@ -36037,6 +36052,10 @@
/obj/structure/fake_machine/hailerboard/l,
/turf/open/floor/cobble,
/area/outdoors/town)
"qBu" = (
/obj/structure/mercstatue,
/turf/open/floor/dirt/road,
/area/outdoors/town/keep)
"qBO" = (
/obj/structure/fluff/statue/knight/interior/r,
/turf/open/floor/blocks,
Expand Down Expand Up @@ -41054,6 +41073,7 @@
/obj/effect/decal/borderfall{
dir = 1
},
/obj/structure/mercstatue,
/turf/open/floor/blocks,
/area/outdoors/town)
"sKG" = (
Expand Down Expand Up @@ -45344,6 +45364,13 @@
},
/turf/open/openspace,
/area/indoors/town)
"uHe" = (
/obj/effect/decal/borderfall{
dir = 1
},
/obj/structure/mercstatue,
/turf/open/floor/wood,
/area/indoors/town/tavern)
"uHm" = (
/obj/effect/landmark/house_spot{
save_id = "mercapt_5";
Expand Down Expand Up @@ -46720,6 +46747,7 @@
/area/indoors/town/orphanage)
"vjZ" = (
/obj/structure/fake_machine/hailerboard/r,
/obj/structure/mercstatue,
/turf/open/floor/tile/brownbrick,
/area/indoors/town/merc_guild)
"vkc" = (
Expand Down Expand Up @@ -61713,7 +61741,7 @@ pao
uvp
mIW
nTH
qAA
osl
npN
npN
qAA
Expand Down Expand Up @@ -107815,7 +107843,7 @@ oWd
mFi
kwJ
mFi
cJK
hqT
kwJ
eYe
xRO
Expand Down Expand Up @@ -112824,7 +112852,7 @@ qFx
qVe
weQ
oho
xTl
qBu
xTl
vqf
viN
Expand Down Expand Up @@ -117319,7 +117347,7 @@ fUV
sAG
giE
kse
oqS
uHe
sAG
sAG
cUs
Expand Down Expand Up @@ -169063,7 +169091,7 @@ nzP
nzP
nzP
dCm
sMC
oCI
szR
szR
sMC
Expand Down
12 changes: 10 additions & 2 deletions _maps/map_files/whitepalacepass/WhitePalacePass.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -14482,6 +14482,10 @@
/obj/machinery/light/fueled/wallfire/candle/skull/l,
/turf/open/floor/dirt,
/area/under/cavewet)
"iNM" = (
/obj/structure/mercstatue,
/turf/open/floor/cobble,
/area/indoors/town/merc_guild)
"iNV" = (
/obj/structure/soil/mushmound,
/obj/machinery/light/fueled/wallfire/candle/lamp,
Expand Down Expand Up @@ -38245,6 +38249,10 @@
/obj/item/natural/melded/t5,
/turf/open/floor/tile/masonic/spiral,
/area/under/town/basement)
"ybs" = (
/obj/structure/mercstatue,
/turf/open/floor/grass/cold,
/area/outdoors/town/keep)
"ybJ" = (
/obj/structure/bars,
/turf/open/floor/cobblerock,
Expand Down Expand Up @@ -59804,7 +59812,7 @@ qPf
jxh
vhP
vhP
vhP
iNM
gBj
tnl
dIH
Expand Down Expand Up @@ -180335,7 +180343,7 @@ aYU
ewa
aYU
ewa
tck
ybs
tck
gLm
rZA
Expand Down
3 changes: 3 additions & 0 deletions code/_globalvars/lists/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ GLOBAL_LIST_EMPTY(spidermobs) //all sentient spider mobs
GLOBAL_LIST_EMPTY(bots_list)
GLOBAL_LIST_EMPTY(aiEyes)

GLOBAL_LIST_EMPTY(available_mercenaries)
GLOBAL_LIST_EMPTY(contracted_mercenaries)

GLOBAL_LIST_EMPTY(language_datum_instances)
GLOBAL_LIST_EMPTY(all_languages)

Expand Down
52 changes: 52 additions & 0 deletions code/game/objects/items/servant_bell.dm
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
return ITEM_INTERACT_BLOCKING

var/mob/living/carbon/human/H = interacting_with

if(!H.mind)
return ITEM_INTERACT_BLOCKING

Expand Down Expand Up @@ -243,3 +244,54 @@
name = "Servant Bell"
desc = "I've been summoned by the bell."
icon_state = "servant_bell"

/// Mercenary Ring
/obj/item/servant_bell/mercenary
Comment thread
Monkeke2 marked this conversation as resolved.
Outdated
job_targets = list(/datum/job/advclass/mercenary)
name = "mercenary ring"
desc = "A beautiful golden ring, which resonates in a mercenary's mind when twisted. Usually given to their employers as a way of communication. Only a mercenary may bind themselves to such ring."
icon = 'icons/roguetown/clothing/rings.dmi'
icon_state = "g_newring_topaz"
slot_flags = ITEM_SLOT_RING
sellprice = 1
max_servants = 1
hear_distance = 100
dyeable = FALSE
detail_tag = null
detail_color = null
var/datum/weakref/mob_ref

/obj/item/servant_bell/mercenary/examine(mob/user)
. = ..()
. -= span_notice("Use on a commoner to bind their mind to the bell.")
. -= span_notice("Right click with an open hand to relinquish servants.")

/obj/item/servant_bell/mercenary/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
if(!ishuman(interacting_with))
return
var/mob/living/carbon/human/H = interacting_with
if(!(user == H))
to_chat(user, span_warning("I can only bind myself to the ring"))
Comment thread
Monkeke2 marked this conversation as resolved.
Outdated
return
if(!is_mercenary_job(user.mind.assigned_role))
to_chat(user, span_warning("I am not a mercenary, the ring does not answer to me."))
return

add_servant(H)

/obj/item/servant_bell/mercenary/attack_hand_secondary(mob/user, list/modifiers)
. = SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
if(!user.client)
return
to_chat(user, span_warning("The bond is permanent, the ring can never be made to relinquish its mercenary."))

/obj/item/servant_bell/mercenary/Initialize(mapload)
. = ..()
bound_servants = list()

/obj/item/servant_bell/mercenary/on_new_jobber(source, datum/job/job, mob/living/spawned, client/player_client)
return

/obj/item/servant_bell/mercenary/proc/link_mob(mob/living/carbon/human/H)
mob_ref = WEAKREF(H)

Loading
Loading