Files
Paradise/code/__HELPERS/tool_helpers.dm
fdcf4899a2 Frankenstein Station 13: Introducing dissections and alien organs to xenobiology (#29093)
* ddsadsa

ddsadsa

* moderate again

* revert

* beginning with rebase

* organssssssssss

* organs now process!

* analyzer finished! + mapping

* tool bit implementation and quality

* organs and fixes and reworks

* more organ work

* more organs done

* more organ progress!

* more organ work

* MORE. ORGANS.

* temp

* more organsssss

* ITS DONE!!!!!!!!

* oops

* also oops

* linter stuff

* forgot this + oops

* linter

* i forgot to save!

* lots of improvements and tweaks

* move icon over

* icon tweaks

* icon mistake

* oops

* dumb

* more icon validations

* i think thisll fix it?

* Apply suggestions from code review

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* fixes

* fixes+tweaks

* fix

* oops

* linter

* i didnt save....

* this should give -some- warning

* forgot a span

* Apply suggestions from code review

Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* beginning edits

* more fixed and tweaks with cooldowns

* Apply suggestions from code review

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* lots of tweaks

* more review changes

* comment change

* Apply suggestions from code review

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* returns start back to gland

* Apply suggestions from code review

Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* code review fixes

* trying to make surgery work....

* might as well push this

* perfection. now i need text

* text + small tweaks and bugfixing

* linting

* forgot to implement this

* deconflicting maps

* modifying for xenos again

* i guess this wasnt needed???

* added surgical belts to xeno

* minor swap

* quick fix

* small tweaks

* small tweak

* tiny tweak

* some slime updates

* more tweaks

* more updates

* first batch of fixes

* hiero audio fix

* robotic fauna fixes

* more rounds of bugfixes

* prevents teleporting

* tiny fix

* makes sharp more common

* misc fixes

* surgery and revenant fixes + extractor

* adds cursed organ logging

* small bananium organ tweak

* actually gives teleporter access

* adds a message to the analyzer

* can now drag naughts

* slime behavior tweaks

* headslug tweak, cant eat organs

* Update code/datums/components/special_tastes.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/datums/components/special_tastes.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/datums/components/special_tastes.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/modules/mob/living/simple_animal/slime/slime_mob.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/modules/mob/living/simple_animal/slime/slime_mob.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/game/gamemodes/miniantags/revenant/revenant.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/datums/components/special_tastes.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/game/gamemodes/miniantags/abduction/gland.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/game/gamemodes/miniantags/abduction/gland.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* moved this

* major rework prep

* didnt save

* rework done

* small fix

* makes aliens draggable by crew after death

* shouldnt have cut this

* xeno organ tweak + tips

* oops

* fixes and tweaks to slimes

* not used

* temp revert

* rebase map files to master

* re-applying changes

* access fix

* access tweak

* big fix for new refactor

* more refactoring

* forgot a span

* Update code/datums/components/surgery_initiator.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* hiero only doesnt target dead megafauna

* various fixes

* fix requests

* fixed weird conflict markers

* deconflict

* deconflicting

* antimagic flags

* merge fixing

* Update code/modules/mining/lavaland/loot/hierophant_loot.dm

Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>

* regen mesh fix

* small fixes

* tick fix

* Apply suggestions from code review

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* grammar

* Update code/modules/surgery/organs/organ_internal.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/modules/surgery/organs/organ_internal.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/modules/research/xenobiology/xenobiology_organs.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/modules/research/xenobiology/xenobiology_organs.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* Update code/modules/research/xenobiology/xenobiology_organs.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>

* tweaks

---------

Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com>
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: BeagleGaming1 <56142455+BeagleGaming1@users.noreply.github.com>
Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
2025-06-10 16:46:56 +00:00

58 lines
1.4 KiB
Plaintext

//Quick type checks for some tools
// Why are these not defines?
/proc/iswrench(obj/item/O)
return istype(O) && O.tool_behaviour == TOOL_WRENCH
/proc/iswelder(obj/item/O)
return istype(O) && O.tool_behaviour == TOOL_WELDER
/proc/iswirecutter(obj/item/O)
return istype(O) && O.tool_behaviour == TOOL_WIRECUTTER
/proc/isscrewdriver(obj/item/O)
return istype(O) && O.tool_behaviour == TOOL_SCREWDRIVER
/proc/ismultitool(obj/item/O)
return istype(O) && O.tool_behaviour == TOOL_MULTITOOL
/proc/iscrowbar(obj/item/O)
return istype(O) && O.tool_behaviour == TOOL_CROWBAR
/proc/iscoil(O)
return istype(O, /obj/item/stack/cable_coil)
/proc/ispowertool(O)//used to check if a tool can force powered doors
if(istype(O, /obj/item/crowbar/power) || istype(O, /obj/item/mecha_parts/mecha_equipment/medical/rescue_jaw))
return TRUE
return FALSE
/proc/is_surgery_tool(obj/item/W as obj)
return ( \
istype(W, /obj/item/scalpel) || \
istype(W, /obj/item/hemostat) || \
istype(W, /obj/item/retractor) || \
istype(W, /obj/item/cautery) || \
istype(W, /obj/item/bonegel) || \
istype(W, /obj/item/bonesetter)
)
/proc/is_surgery_tool_by_behavior(obj/item/W)
if(!istype(W))
return FALSE
var/tool_behavior = W.tool_behaviour
return tool_behavior in list(
TOOL_BONEGEL,
TOOL_BONESET,
TOOL_CAUTERY,
TOOL_DRILL,
TOOL_FIXOVEIN,
TOOL_HEMOSTAT,
TOOL_RETRACTOR,
TOOL_SAW,
TOOL_SCALPEL,
TOOL_SCREWDRIVER,
TOOL_DISSECTOR,
)