mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-13 11:12:14 +00:00
## About The Pull Request this pr transforms gutlunchers into basic mobs and gives them a small ranch that ashwalkers can manage. gutlunches come in various colors and sizes! female gutlunches will come in different shades of red and males will come in shades of blue. the child born will have a mix of his parent's colors.  female gutlunches can make various healing milk and medicine from its udder. but it will need to consume ores before it can start making milk, u can either feed it by hand or u can put ores in the wooden trough and they will go eat from it whenever they get hungry. feeding it gold or bluespace ore will improve the healing quality of the milk for a short while  the male gutlunchers are obedient pets. their stats vary from one another in speed, attack and health. a male gutlunchers stats will depend on the stats of his parents, the higher his parent's stats are the better chances he has at rolling higher stats. so u can selectively breed them to make sure they have the best stats possible. they will listen to all ur commands and can mine walls or attack enemies if given the command. also i wanted the farm to have wood fences so i added them to the game, they cost 5 wood planks to make ## Why It's Good For The Game refactors gutlunches into basic mobs. also i turned breeding into a component so it can be applied to all animals and created a breed command, pets that have this command and the component will go breed with a partner u point at. ## Changelog 🆑 refactor: gutlunches have been refactored into basic mobs. please report any bugs add: ashwalkers have a small ranch they can manage fix: wall tearer compnent wont runtime when interacting with mineral walls /🆑
27 lines
664 B
Plaintext
27 lines
664 B
Plaintext
/*
|
|
* A component to allow us to collect ore
|
|
*/
|
|
/datum/element/ore_collecting
|
|
|
|
|
|
/datum/element/ore_collecting/Attach(datum/target)
|
|
. = ..()
|
|
|
|
if(!isliving(target))
|
|
return ELEMENT_INCOMPATIBLE
|
|
RegisterSignal(target, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(collect_ore))
|
|
|
|
/datum/element/ore_collecting/Detach(datum/target)
|
|
. = ..()
|
|
UnregisterSignal(target, COMSIG_HOSTILE_PRE_ATTACKINGTARGET)
|
|
|
|
/datum/element/ore_collecting/proc/collect_ore(mob/living/source, atom/target)
|
|
SIGNAL_HANDLER
|
|
|
|
if(!istype(target, /obj/item/stack/ore))
|
|
return
|
|
|
|
var/atom/movable/movable_target = target
|
|
movable_target.forceMove(source)
|
|
return COMPONENT_HOSTILE_NO_ATTACK
|