Files
ReturnandGitHub 1277387c68 Reverts Ashtongue removal, Draconic understands it (#4726)
## About The Pull Request
This PR returns Ashtongue as it was before for ashwalkers, and gives
Draconic 30% mutual understanding with Ashtongue. The inverse is not
true.

## Why It's Good For The Game
Ashtongue adds a lot to Ashwalker RP by introducing a language barrier
that can be overcome in various ways.

## Proof Of Testing
Compiles

## Changelog

🆑 ReturnToZender
add: Ashtongue returns, with Draconic able to understand 30% of it. The
inverse is not true
add: Ashwalkers can now select Xenocommon, Sylvan, or Draconic as extra
languages
/🆑
2025-10-02 12:32:53 -07:00

45 lines
2.2 KiB
Plaintext

//DEFAULT NECK ITEMS OVERRIDE//
/obj/item/clothing/neck
w_class = WEIGHT_CLASS_SMALL
//ASHWALKER TRANSLATOR NECKLACE//
#define LANGUAGE_TRANSLATOR "translator"
/obj/item/clothing/neck/necklace/ashwalker
name = "ashen necklace"
desc = "A necklace crafted from ash, connected to the Necropolis through the core of a Legion. This imbues overdwellers with an unnatural understanding of Ashtongue, the native language of Lavaland, while worn."
icon = 'modular_skyrat/master_files/icons/obj/clothing/neck.dmi'
icon_state = "ashnecklace"
worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/neck.dmi'
icon_state = "ashnecklace"
w_class = WEIGHT_CLASS_SMALL //allows this to fit inside of pockets.
/obj/item/clothing/neck/necklace/ashwalker/cursed
name = "cursed ashen necklace"
desc = "A necklace crafted from ash, connected to the Necropolis through the core of a Legion. This imbues overdwellers with an unnatural understanding of Ashtongue, the native language of Lavaland, while worn. Cannot be removed!"
/obj/item/clothing/neck/necklace/ashwalker/cursed/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, ABSTRACT_ITEM_TRAIT)
//uses code from the pirate hat.
/obj/item/clothing/neck/necklace/ashwalker/equipped(mob/user, slot)
. = ..()
if(!ishuman(user))
return
if(slot & ITEM_SLOT_NECK)
user.grant_language(/datum/language/ashtongue/, source = LANGUAGE_TRANSLATOR)
to_chat(user, span_boldnotice("Slipping the necklace on, you feel the insidious creep of the Necropolis enter your bones, and your very shadow. You find yourself with an unnatural knowledge of Ashtongue; but the amulet's eye stares at you."))
/obj/item/clothing/neck/necklace/ashwalker/dropped(mob/user)
. = ..()
if(!ishuman(user))
return
var/mob/living/carbon/human/H = user
if(H.get_item_by_slot(ITEM_SLOT_NECK) == src && !QDELETED(src)) //This can be called as a part of destroy
user.remove_language(/datum/language/ashtongue/, source = LANGUAGE_TRANSLATOR)
to_chat(user, span_boldnotice("You feel the alien mind of the Necropolis lose its interest in you as you remove the necklace. The eye closes, and your mind does as well, losing its grasp of Ashtongue."))
//ASHWALKER TRANSLATOR NECKLACE END//
#undef LANGUAGE_TRANSLATOR