Skip to content

Commit

Permalink
Content
Browse files Browse the repository at this point in the history
  • Loading branch information
UEDCommander committed Apr 12, 2024
1 parent d9a9758 commit 797b6f1
Show file tree
Hide file tree
Showing 5 changed files with 123 additions and 1 deletion.
2 changes: 2 additions & 0 deletions mods/unathi/_unathi.dme
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
// Далее просто включай свой код
// #include "code/something.dm"

#include "code/chemical_reactions.dm"
#include "code/human_powers.dm"
#include "code/reagents.dm"
#include "code/species.dm"
#include "code/species_attack.dm"
Expand Down
19 changes: 19 additions & 0 deletions mods/unathi/code/chemical_reactions.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/* Unathi reagents reactions */
/datum/chemical_reaction/paashe
name = "Paashe Meish Sunn"
result = /datum/reagent/paashe
required_reagents = list(/datum/reagent/toxin/yeosvenom = 1, /datum/reagent/ethanol = 1, /datum/reagent/acetone = 1)
result_amount = 3

/datum/chemical_reaction/arhishaap
name = "Arhishaap"
result = /datum/reagent/arhishaap
required_reagents = list(/datum/reagent/toxin/yeosvenom = 1, /datum/reagent/diethylamine = 2, /datum/reagent/radium = 1)
result_amount = 4

/datum/chemical_reaction/oxycodonealt
name = "Oxycodone Alt"
result = /datum/reagent/tramadol/oxycodone
required_reagents = list(/datum/reagent/ethanol = 1, /datum/reagent/paashe = 1)
catalysts = list(/datum/reagent/toxin/phoron = 5)
result_amount = 1
24 changes: 24 additions & 0 deletions mods/unathi/code/human_powers.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/mob/living/carbon/human
var/venom_cooldown = 0

/mob/living/carbon/human/unathi/yeosa/proc/decant_venom()
set category = "Abilities"
set name = "Decant Venom"
set desc = ""
var/obj/item/target = usr.get_active_hand()
var/poison_type = /datum/reagent/toxin/yeosvenom


if(venom_cooldown > world.time)
to_chat(usr, SPAN_WARNING("Your venom glands are too exhausted, it will take some time before you can decant your innate venom again."))
return
if(istype(target, /obj/item/reagent_containers/))
if(target.reagents)
target.reagents.add_reagent(poison_type, 8)
src.adjust_nutrition(-25)
src.adjust_hydration(-15)
usr.visible_message(
SPAN_NOTICE("\The [usr] sticks their fangs into the side of the [target], dripping thick, green-ish substance into the container."),
SPAN_NOTICE("You stick your fangs into the side of the \the [target], allowing some of your innate venom to drip into the container.")
)
venom_cooldown = world.time + (30 SECONDS)
74 changes: 74 additions & 0 deletions mods/unathi/code/reagents.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,80 @@
strength = 1

/datum/reagent/toxin/yeosvenom/affect_blood(mob/living/carbon/M, alien, removed)
if(M.is_species(SPECIES_YEOSA))
return // Yeosa are immune to their own venom

if(prob(volume*10))
M.set_confused(10)
..()

//Medicine
/datum/reagent/paashe
name = "Paashe Meish Sunn"
description = "An effective natural painkiller, produced from Yeosa'Unathi innate venom. Has similar effect to Tramadol, but doesn't feature any significant side effects."
taste_description = "way too much sweetness"
reagent_state = LIQUID
color = "#aea0c9"
overdose = 30
scannable = 1
metabolism = 0.05
ingest_met = 0.02
flags = IGNORE_MOB_SIZE
value = 3.1
var/pain_power = 80 //magnitide of painkilling effect
var/effective_dose = 0.5 //how many units it need to process to reach max power

/datum/reagent/paashe/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
var/effectiveness = 1
if(M.chem_doses[type] < effective_dose) //some ease-in ease-out for the effect
effectiveness = M.chem_doses[type]/effective_dose
else if(volume < effective_dose)
effectiveness = volume/effective_dose
M.add_chemical_effect(CE_PAINKILLER, pain_power * effectiveness)
if(M.chem_doses[type] > 0.5 * overdose)
M.add_chemical_effect(CE_SLOWDOWN, 1)
if(prob(1))
M.slurring = max(M.slurring, 10)
if(M.chem_doses[type] > 0.75 * overdose)
M.add_chemical_effect(CE_SLOWDOWN, 1)
if(prob(5))
M.slurring = max(M.slurring, 20)
if(M.chem_doses[type] > overdose)
M.add_chemical_effect(CE_SLOWDOWN, 1)
M.slurring = max(M.slurring, 30)
if(prob(1))
M.Weaken(2)
M.drowsyness = max(M.drowsyness, 5)

/datum/reagent/arhishaap
name = "Arhishaap"
description = "An advanced Yeosa'Unathi anti-toxin, significantly more effective than synthetic alternatives."
taste_description = "way too much sweetness"
reagent_state = LIQUID
color = "#49bc4b"
scannable = 1
flags = IGNORE_MOB_SIZE
value = 2.1
var/remove_generic = 1
var/list/remove_toxins = list(
/datum/reagent/toxin/zombiepowder
)

/datum/reagent/arhishaap/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
M.radiation = max(M.radiation - 30 * removed, 0)

if(remove_generic)
M.drowsyness = max(0, M.drowsyness - 10 * removed)
M.adjust_hallucination(-14 * removed)
M.add_up_to_chemical_effect(CE_ANTITOX, 1)

var/removing = (8 * removed)
var/datum/reagents/ingested = M.get_ingested_reagents()
for(var/datum/reagent/R in ingested.reagent_list)
if((remove_generic && istype(R, /datum/reagent/toxin)) || (R.type in remove_toxins))
ingested.remove_reagent(R.type, removing)
return
for(var/datum/reagent/R in M.reagents.reagent_list)
if((remove_generic && istype(R, /datum/reagent/toxin)) || (R.type in remove_toxins))
M.reagents.remove_reagent(R.type, removing)
return
5 changes: 4 additions & 1 deletion mods/unathi/code/species.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
/datum/species/unathi/yeosa/New()
unarmed_types ^= list(/datum/unarmed_attack/bite/venom, /datum/unarmed_attack/bite/venom/yeosa)
if (/datum/unarmed_attack/bite/venom in unarmed_types)
unarmed_types -= /datum/unarmed_attack/bite/venom
unarmed_types += /datum/unarmed_attack/bite/venom/yeosa
inherent_verbs += list(/mob/living/carbon/human/unathi/yeosa/proc/decant_venom)
. = ..()

0 comments on commit 797b6f1

Please sign in to comment.