Tg patch branch to master (#192)
* code nitpicking * Midnight oil More like 6am oil. Still having issues with actually eating anyone. * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * missed commit * Noms * specific release doesn't work * Tg modernization patch (#115) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * port from cactus did * fix format error * Update preferences.dm unfuck * Revert "port from cactus did" * unfuck * more sprite work * vore * disabled roundstart xenos for now * admin QOL needs callback porting, TBD * Mentor system initial port I'm sure I've missed a fuckton of shit * test merge * Jesus tits did this finally fix compile issues? * Tg modern (#149) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * Tg modernization patch (#115) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * port from cactus did * fix format error * Update preferences.dm unfuck * Revert "port from cactus did" * unfuck * more sprite work * vore * disabled roundstart xenos for now * test merge * Jesus tits did this finally fix compile issues? * Initial test compiles. hooray. * Admin ticket fixes * I'll give you a bad argument you piece of shit dream maker I fucking swear on my mum * who list wip also ahelps are broken again. fuck if I know why * discord bot basics * maybe tickets work now & bot framework done * ahelp callback readd * Mentor system, Tickets, and discord (#151) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * Tg modernization patch (#115) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * port from cactus did * fix format error * Update preferences.dm unfuck * Revert "port from cactus did" * unfuck * more sprite work * vore * disabled roundstart xenos for now * admin QOL needs callback porting, TBD * Mentor system initial port I'm sure I've missed a fuckton of shit * test merge * Jesus tits did this finally fix compile issues? * Initial test compiles. hooray. * Admin ticket fixes * I'll give you a bad argument you piece of shit dream maker I fucking swear on my mum * who list wip also ahelps are broken again. fuck if I know why * discord bot basics * maybe tickets work now & bot framework done * ahelp callback readd * vore tweaks * progress * dirtier fix than a korean hooker in the 60s * The release your hooker will always fake * you could save that hookers number but wouldn't you rather just vore the hooker instead * Save system is literal black magic * great googly moogly it's all gone to shit * We May 2015 save code now * fiddling with digestion code now * fuck if I know anymore. I'm going to bed * OWN UP YOUR OWN DIGESTION * UNREGULATED GUTS ARE NON COMPLIANT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA * BELLIES MUST COMPLY WITH USER OWNERSHIP * Removed debug messages * Unneeded verb additions * file change tweaks * WATCH YOUR SPACING, DRIVER * Changelog and devourment for some mobs. Because I knew people were gunna ask. NO YOU CANNOT EAT THE FUCKING LEGION * Vore code sync (#157) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Escape and Devourable For the normies who play here yet complain about it. * Things that should be committed * unneeded files * Sizeray works now * tweaks and bed time going * IT WORKS mostly Need to get multiple guts and saving working tho * save tweaks * item hotfix * gut examine message * damifino * save system works also ensured some mobs have vore controls, so silicons can't even remotely do vore things. * code nitpicking * Midnight oil More like 6am oil. Still having issues with actually eating anyone. * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * missed commit * Noms * specific release doesn't work * Tg modernization patch (#115) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * port from cactus did * fix format error * Update preferences.dm unfuck * Revert "port from cactus did" * unfuck * more sprite work * vore * disabled roundstart xenos for now * admin QOL needs callback porting, TBD * Mentor system initial port I'm sure I've missed a fuckton of shit * test merge * Jesus tits did this finally fix compile issues? * Initial test compiles. hooray. * Admin ticket fixes * I'll give you a bad argument you piece of shit dream maker I fucking swear on my mum * who list wip also ahelps are broken again. fuck if I know why * discord bot basics * maybe tickets work now & bot framework done * ahelp callback readd * vore tweaks * progress * dirtier fix than a korean hooker in the 60s * The release your hooker will always fake * you could save that hookers number but wouldn't you rather just vore the hooker instead * Save system is literal black magic * great googly moogly it's all gone to shit * We May 2015 save code now * fiddling with digestion code now * fuck if I know anymore. I'm going to bed * OWN UP YOUR OWN DIGESTION * UNREGULATED GUTS ARE NON COMPLIANT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA * BELLIES MUST COMPLY WITH USER OWNERSHIP * Removed debug messages * Unneeded verb additions * file change tweaks * WATCH YOUR SPACING, DRIVER * Changelog and devourment for some mobs. Because I knew people were gunna ask. NO YOU CANNOT EAT THE FUCKING LEGION * title screen change from Crow's PR. * More of Crow's title screen stuff * mode tweaks.... again * gamemode voting in lobby via TalkingCactus disabled ashwalkers as roundstart Verk's species tweak paralax starts disabled by default * LOOC * index sync problem (#158) * digifix * things * furry races.dm * actually deletes species_types * maps * tgui and stuff * Sounds * icon updates * Defines and helpers * global vars and on click * controllers * datums * game folder * fixes invisible flan mobs * some modules * dropbomb verb enhanced * moar * moar * moar * even more again * and finally these for modules * Some compile tweaks * silly dme get updated you scrub * compiles cleanly now * various open PR fixes from TG as of 0800 Texas Standard Time * also fancy cryopods before I forget again * headslug gold core fix * edgy code of the modernization (#164) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Escape and Devourable For the normies who play here yet complain about it. * Things that should be committed * unneeded files * Sizeray works now * tweaks and bed time going * IT WORKS mostly Need to get multiple guts and saving working tho * save tweaks * item hotfix * gut examine message * damifino * save system works also ensured some mobs have vore controls, so silicons can't even remotely do vore things. * code nitpicking * Midnight oil More like 6am oil. Still having issues with actually eating anyone. * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * missed commit * Noms * specific release doesn't work * Tg modernization patch (#115) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * port from cactus did * fix format error * Update preferences.dm unfuck * Revert "port from cactus did" * unfuck * more sprite work * vore * disabled roundstart xenos for now * admin QOL needs callback porting, TBD * Mentor system initial port I'm sure I've missed a fuckton of shit * test merge * Jesus tits did this finally fix compile issues? * Initial test compiles. hooray. * Admin ticket fixes * I'll give you a bad argument you piece of shit dream maker I fucking swear on my mum * who list wip also ahelps are broken again. fuck if I know why * discord bot basics * maybe tickets work now & bot framework done * ahelp callback readd * vore tweaks * progress * Small fixes for dogborgs and sprite accessories: -Ported the hidden snippets of the dogborg code. -Reset module now resets pixel offset and icon directory again. (broke shit when reseting from dogborg) -Medihound belly fixed. -Husky body marking tweaked to not overlap arms in side view. -Added husky ears that are basically wolf ears that use secondary color instead. * dirtier fix than a korean hooker in the 60s * The release your hooker will always fake * you could save that hookers number but wouldn't you rather just vore the hooker instead * Save system is literal black magic * great googly moogly it's all gone to shit * We May 2015 save code now * fiddling with digestion code now * fuck if I know anymore. I'm going to bed * OWN UP YOUR OWN DIGESTION * UNREGULATED GUTS ARE NON COMPLIANT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA * BELLIES MUST COMPLY WITH USER OWNERSHIP * Removed debug messages * Unneeded verb additions * file change tweaks * WATCH YOUR SPACING, DRIVER * Changelog and devourment for some mobs. Because I knew people were gunna ask. NO YOU CANNOT EAT THE FUCKING LEGION * title screen change from Crow's PR. * More of Crow's title screen stuff * mode tweaks.... again * gamemode voting in lobby via TalkingCactus disabled ashwalkers as roundstart Verk's species tweak paralax starts disabled by default * LOOC * index sync problem (#158) * digifix * things * furry races.dm * actually deletes species_types * maps * tgui and stuff * Sounds * icon updates * Defines and helpers * global vars and on click * controllers * datums * game folder * fixes invisible flan mobs * some modules * dropbomb verb enhanced * moar * moar * moar * even more again * and finally these for modules * Some compile tweaks * silly dme get updated you scrub * compiles cleanly now * various open PR fixes from TG as of 0800 Texas Standard Time * also fancy cryopods before I forget again * headslug gold core fix * some species and DNA tweaks * Digest already damn you * suddenly sound and resist works. wtf * Minor tweaks, cryopod noise change * Vore tested working, species working * Merge test onto bleeding edgy (#165) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Escape and Devourable For the normies who play here yet complain about it. * Things that should be committed * unneeded files * Sizeray works now * tweaks and bed time going * IT WORKS mostly Need to get multiple guts and saving working tho * save tweaks * item hotfix * gut examine message * damifino * save system works also ensured some mobs have vore controls, so silicons can't even remotely do vore things. * code nitpicking * Midnight oil More like 6am oil. Still having issues with actually eating anyone. * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * missed commit * Noms * specific release doesn't work * Tg modernization patch (#115) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * port from cactus did * fix format error * Update preferences.dm unfuck * Revert "port from cactus did" * unfuck * more sprite work * vore * disabled roundstart xenos for now * admin QOL needs callback porting, TBD * Mentor system initial port I'm sure I've missed a fuckton of shit * test merge * Jesus tits did this finally fix compile issues? * Initial test compiles. hooray. * Admin ticket fixes * I'll give you a bad argument you piece of shit dream maker I fucking swear on my mum * who list wip also ahelps are broken again. fuck if I know why * discord bot basics * maybe tickets work now & bot framework done * ahelp callback readd * vore tweaks * progress * Small fixes for dogborgs and sprite accessories: -Ported the hidden snippets of the dogborg code. -Reset module now resets pixel offset and icon directory again. (broke shit when reseting from dogborg) -Medihound belly fixed. -Husky body marking tweaked to not overlap arms in side view. -Added husky ears that are basically wolf ears that use secondary color instead. * dirtier fix than a korean hooker in the 60s * The release your hooker will always fake * you could save that hookers number but wouldn't you rather just vore the hooker instead * Save system is literal black magic * great googly moogly it's all gone to shit * We May 2015 save code now * fiddling with digestion code now * fuck if I know anymore. I'm going to bed * OWN UP YOUR OWN DIGESTION * UNREGULATED GUTS ARE NON COMPLIANT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA * BELLIES MUST COMPLY WITH USER OWNERSHIP * Removed debug messages * Unneeded verb additions * file change tweaks * WATCH YOUR SPACING, DRIVER * Changelog and devourment for some mobs. Because I knew people were gunna ask. NO YOU CANNOT EAT THE FUCKING LEGION * title screen change from Crow's PR. * More of Crow's title screen stuff * mode tweaks.... again * gamemode voting in lobby via TalkingCactus disabled ashwalkers as roundstart Verk's species tweak paralax starts disabled by default * LOOC * index sync problem (#158) * digifix * things * furry races.dm * actually deletes species_types * maps * tgui and stuff * Sounds * icon updates * Defines and helpers * global vars and on click * controllers * datums * game folder * fixes invisible flan mobs * some modules * dropbomb verb enhanced * moar * moar * moar * even more again * and finally these for modules * Some compile tweaks * silly dme get updated you scrub * compiles cleanly now * various open PR fixes from TG as of 0800 Texas Standard Time * also fancy cryopods before I forget again * headslug gold core fix * some species and DNA tweaks * Digest already damn you * suddenly sound and resist works. wtf * Minor tweaks, cryopod noise change * Vore tested working, species working * travis map updates * updates * pool's closed due to lag * datum pools are closed too * Initializing new pool's closed * Pool's closed and initializing shit is done * sprite updates * chattering is okay to do now. * bleeblin edgy 1/23 (#166) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Escape and Devourable For the normies who play here yet complain about it. * Things that should be committed * unneeded files * Sizeray works now * tweaks and bed time going * IT WORKS mostly Need to get multiple guts and saving working tho * save tweaks * item hotfix * gut examine message * damifino * save system works also ensured some mobs have vore controls, so silicons can't even remotely do vore things. * code nitpicking * Midnight oil More like 6am oil. Still having issues with actually eating anyone. * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * missed commit * Noms * specific release doesn't work * Tg modernization patch (#115) * sync (#3) * shuttle auto call * Merge /vore into /master (#39) * progress * Compile errors fixed No idea if it's test worthy tho as conflicts with race overhaul and narky removal. * Update admins.txt * efforts continue Fuck grab code, seriously * grab code is cancer * Execute the Narkism Do not hesitate. Show no mercy. * holy shit grab code is awful * have I bitched about grab code My bitching, let me show you it * código de agarre es una mierda No really it is * yeah I don't even know anymore. * Lolnope. Fuck grab code * I'm not even sure what to fix anymore * Self eating is not an acceptable fate * Taste the void, son. * My code doesn't pass it's own sanity check. Maybe it's a sign of things to come. * uncommented and notes * It Works and I Don't Know Why (#38) * shuttle auto call * it works and I don't know why * Subsystem 12/21 Most Recent TG subsystem folder * globalvars 12/21 Tossed out the flavor_misc and parallax files * Onclick 12/21 as well as .dme updates * _defines 12/21 ommited old _MC.dm * _HELPERS 12/21 Preserved snowflake placement of furry sprites * _defeines/genetics reapplied narkism holdover for snowflake races. * Oops forgot mutant colors * modules porting 12/21 + Sounds/icons Admin, Client and most of mob life files ommitted * enviroment file * Admin optimizations ahelp log system kept * Mob ports 12/21 Flavor text preserved * datums ported 12/21 * Game ported 12/21 * batch of duplicate fixes/dogborg work Dogborgs need to be modernized to refractored borg standards. * moar fixes * Maps and futher compile fixes * port from cactus did * fix format error * Update preferences.dm unfuck * Revert "port from cactus did" * unfuck * more sprite work * vore * disabled roundstart xenos for now * admin QOL needs callback porting, TBD * Mentor system initial port I'm sure I've missed a fuckton of shit * test merge * Jesus tits did this finally fix compile issues? * Initial test compiles. hooray. * Admin ticket fixes * I'll give you a bad argument you piece of shit dream maker I fucking swear on my mum * who list wip also ahelps are broken again. fuck if I know why * discord bot basics * maybe tickets work now & bot framework done * ahelp callback readd * vore tweaks * progress * Small fixes for dogborgs and sprite accessories: -Ported the hidden snippets of the dogborg code. -Reset module now resets pixel offset and icon directory again. (broke shit when reseting from dogborg) -Medihound belly fixed. -Husky body marking tweaked to not overlap arms in side view. -Added husky ears that are basically wolf ears that use secondary color instead. * dirtier fix than a korean hooker in the 60s * The release your hooker will always fake * you could save that hookers number but wouldn't you rather just vore the hooker instead * Save system is literal black magic * great googly moogly it's all gone to shit * We May 2015 save code now * fiddling with digestion code now * fuck if I know anymore. I'm going to bed * OWN UP YOUR OWN DIGESTION * UNREGULATED GUTS ARE NON COMPLIANT AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA * BELLIES MUST COMPLY WITH USER OWNERSHIP * Removed debug messages * Unneeded verb additions * file change tweaks * WATCH YOUR SPACING, DRIVER * Changelog and devourment for some mobs. Because I knew people were gunna ask. NO YOU CANNOT EAT THE FUCKING LEGION * title screen change from Crow's PR. * More of Crow's title screen stuff * mode tweaks.... again * gamemode voting in lobby via TalkingCactus disabled ashwalkers as roundstart Verk's species tweak paralax starts disabled by default * LOOC * index sync problem (#158) * digifix * things * furry races.dm * actually deletes species_types * maps * tgui and stuff * Sounds * icon updates * Defines and helpers * global vars and on click * controllers * datums * game folder * fixes invisible flan mobs * some modules * dropbomb verb enhanced * moar * moar * moar * even more again * and finally these for modules * Some compile tweaks * silly dme get updated you scrub * compiles cleanly now * various open PR fixes from TG as of 0800 Texas Standard Time * also fancy cryopods before I forget again * headslug gold core fix * some species and DNA tweaks * Digest already damn you * suddenly sound and resist works. wtf * Minor tweaks, cryopod noise change * Vore tested working, species working * travis map updates * updates * pool's closed due to lag * datum pools are closed too * Initializing new pool's closed * Pool's closed and initializing shit is done * sprite updates * chattering is okay to do now. * Update .travis.yml * Update .travis.yml * Update .travis.yml * Revert "Modern modern" * Revert "Revert "Modern modern"" * fix it fix it fix it fix it * fixes title screen - thanks crow * Riding code reverted * possible tgui fix? * who the fuck even knows if this is the problem * adds moths and sharks (no colors yet, not greyscaled) adds LOOC back * "fixes" missing items in some machinery. * slight tweaks to abductor spawns borer event enabled (max 1) * Update .travis.yml * fixes shuttle purchase from comms * fixes and QoL * Polymorphing all is dangerous too * re-fixes ahelp ticket system again * metagaming check proving to be spamlicious * Fixes not being able to see devoured mob poses * fix for vehicle buckling * ahelp timer runtime fix (#178) * controller and game updates 1/29 * Defines, helpers, datums 1/29 * world.dm updates * modules/admin tweaks * everything in modules not a mob * modules/mob fixes and such No more PAIs ventcrawling * icons, maps, tools, etc. * compiler fixes * round type vote fixed * hardsuit cargo pack * reduce ion and electric storm chance * perms access for travis * fix helmet to the suit removes CE from crate * changelog * fuck * perms for travis... again * Update tgstation.dme * Update tgstation.dme * Donation race * redpanda * red panda * size play work * Size chemical basics Needs testing/refining * some fixing ports before I just fucking ported it anyway * It's been a fucking week. * commiting moar changes because github * admins.txt lol * icons * defines and such * globalvars and onclick * Controllers * datums * game folder * oh look, HoG is back * modules pt 1 * client things * more modules * everything not mob code * some mob stuff * more mob things * silicon mobs * ayylims and monkeys * human updates * huh * housekeeping is fired. * last minute fixes * more last minute things * human parts double check'd * more paper * Icons are fixed * double check of thermal protection code. (#191)
This commit is contained in:
@@ -0,0 +1,334 @@
|
||||
// Crew has to build a bluespace cannon
|
||||
// Cargo orders part for high price
|
||||
// Requires high amount of power
|
||||
// Requires high level stock parts
|
||||
/datum/station_goal/bluespace_cannon
|
||||
name = "Bluespace Artillery"
|
||||
|
||||
/datum/station_goal/bluespace_cannon/get_report()
|
||||
return {"Our military presence is inadequate in your sector.
|
||||
We need you to construct BSA-[rand(1,99)] Artillery position aboard your station.
|
||||
|
||||
Base parts should be availible for shipping by your cargo shuttle.
|
||||
-Nanotrasen Naval Command"}
|
||||
|
||||
/datum/station_goal/bluespace_cannon/on_report()
|
||||
//Unlock BSA parts
|
||||
var/datum/supply_pack/misc/bsa/P = SSshuttle.supply_packs[/datum/supply_pack/misc/bsa]
|
||||
P.special_enabled = TRUE
|
||||
|
||||
/datum/station_goal/bluespace_cannon/check_completion()
|
||||
if(..())
|
||||
return TRUE
|
||||
var/obj/machinery/bsa/full/B = locate()
|
||||
if(B && !B.stat)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/bsa
|
||||
icon = 'icons/obj/machines/particle_accelerator.dmi'
|
||||
density = 1
|
||||
anchored = 1
|
||||
|
||||
/obj/machinery/bsa/back
|
||||
name = "Bluespace Artillery Generator"
|
||||
desc = "Generates cannon pulse. Needs to be linked with a fusor. "
|
||||
icon_state = "power_box"
|
||||
|
||||
/obj/machinery/bsa/back/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/device/multitool))
|
||||
var/obj/item/device/multitool/M = W
|
||||
M.buffer = src
|
||||
user << "<span class='notice'>You store linkage information in [W]'s buffer.</span>"
|
||||
else if(istype(W, /obj/item/weapon/wrench))
|
||||
default_unfasten_wrench(user, W, 10)
|
||||
return TRUE
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/bsa/front
|
||||
name = "Bluespace Artillery Bore"
|
||||
desc = "Do not stand in front of cannon during operation. Needs to be linked with a fusor."
|
||||
icon_state = "emitter_center"
|
||||
|
||||
/obj/machinery/bsa/front/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/device/multitool))
|
||||
var/obj/item/device/multitool/M = W
|
||||
M.buffer = src
|
||||
user << "<span class='notice'>You store linkage information in [W]'s buffer.</span>"
|
||||
else if(istype(W, /obj/item/weapon/wrench))
|
||||
default_unfasten_wrench(user, W, 10)
|
||||
return TRUE
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/bsa/middle
|
||||
name = "Bluespace Artillery Fusor"
|
||||
desc = "Contents classifed by Nanotrasen Naval Command. Needs to be linked with the other BSA parts using multitool."
|
||||
icon_state = "fuel_chamber"
|
||||
var/obj/machinery/bsa/back/back
|
||||
var/obj/machinery/bsa/front/front
|
||||
|
||||
/obj/machinery/bsa/middle/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/device/multitool))
|
||||
var/obj/item/device/multitool/M = W
|
||||
if(M.buffer)
|
||||
if(istype(M.buffer,/obj/machinery/bsa/back))
|
||||
back = M.buffer
|
||||
M.buffer = null
|
||||
user << "<span class='notice'>You link [src] with [back].</span>"
|
||||
else if(istype(M.buffer,/obj/machinery/bsa/front))
|
||||
front = M.buffer
|
||||
M.buffer = null
|
||||
user << "<span class='notice'>You link [src] with [front].</span>"
|
||||
else if(istype(W, /obj/item/weapon/wrench))
|
||||
default_unfasten_wrench(user, W, 10)
|
||||
return TRUE
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/bsa/middle/proc/check_completion()
|
||||
if(!front || !back)
|
||||
return "No linked parts detected!"
|
||||
if(!front.anchored || !back.anchored || !anchored)
|
||||
return "Linked parts unwrenched!"
|
||||
if(front.y != y || back.y != y || !(front.x > x && back.x < x || front.x < x && back.x > x) || front.z != z || back.z != z)
|
||||
return "Parts misaligned!"
|
||||
if(!has_space())
|
||||
return "Not enough free space!"
|
||||
|
||||
/obj/machinery/bsa/middle/proc/has_space()
|
||||
var/cannon_dir = get_cannon_direction()
|
||||
var/x_min
|
||||
var/x_max
|
||||
switch(cannon_dir)
|
||||
if(EAST)
|
||||
x_min = x - 4 //replace with defines later
|
||||
x_max = x + 6
|
||||
if(WEST)
|
||||
x_min = x + 4
|
||||
x_max = x - 6
|
||||
|
||||
for(var/turf/T in block(locate(x_min,y-1,z),locate(x_max,y+1,z)))
|
||||
if(T.density || isspaceturf(T))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/bsa/middle/proc/get_cannon_direction()
|
||||
if(front.x > x && back.x < x)
|
||||
return EAST
|
||||
else if(front.x < x && back.x > x)
|
||||
return WEST
|
||||
|
||||
|
||||
/obj/machinery/bsa/full
|
||||
name = "Bluespace Artillery"
|
||||
desc = "Long range bluespace artillery."
|
||||
icon = 'icons/obj/lavaland/cannon.dmi'
|
||||
icon_state = "orbital_cannon1"
|
||||
unsecuring_tool = null
|
||||
var/static/image/top_layer = null
|
||||
var/ex_power = 3
|
||||
var/power_used_per_shot = 2000000 //enough to kil standard apc - todo : make this use wires instead and scale explosion power with it
|
||||
var/ready
|
||||
pixel_y = -32
|
||||
pixel_x = -192
|
||||
bound_width = 352
|
||||
bound_x = -192
|
||||
appearance_flags = NONE //Removes default TILE_BOUND
|
||||
|
||||
/obj/machinery/bsa/full/proc/get_front_turf()
|
||||
switch(dir)
|
||||
if(WEST)
|
||||
return locate(x - 6,y,z)
|
||||
if(EAST)
|
||||
return locate(x + 4,y,z)
|
||||
return get_turf(src)
|
||||
|
||||
/obj/machinery/bsa/full/proc/get_back_turf()
|
||||
switch(dir)
|
||||
if(WEST)
|
||||
return locate(x + 4,y,z)
|
||||
if(EAST)
|
||||
return locate(x - 6,y,z)
|
||||
return get_turf(src)
|
||||
|
||||
/obj/machinery/bsa/full/proc/get_target_turf()
|
||||
switch(dir)
|
||||
if(WEST)
|
||||
return locate(1,y,z)
|
||||
if(EAST)
|
||||
return locate(world.maxx,y,z)
|
||||
return get_turf(src)
|
||||
|
||||
/obj/machinery/bsa/full/New(loc,cannon_direction = WEST)
|
||||
..()
|
||||
switch(cannon_direction)
|
||||
if(WEST)
|
||||
dir = WEST
|
||||
pixel_x = -192
|
||||
top_layer = image("icons/obj/lavaland/orbital_cannon.dmi", "top_west")
|
||||
top_layer.layer = ABOVE_MOB_LAYER
|
||||
icon_state = "cannon_west"
|
||||
if(EAST)
|
||||
dir = EAST
|
||||
top_layer = image("icons/obj/lavaland/orbital_cannon.dmi", "top_east")
|
||||
top_layer.layer = ABOVE_MOB_LAYER
|
||||
icon_state = "cannon_east"
|
||||
add_overlay(top_layer)
|
||||
reload()
|
||||
|
||||
/obj/machinery/bsa/full/proc/fire(mob/user, turf/bullseye)
|
||||
var/turf/point = get_front_turf()
|
||||
for(var/turf/T in getline(get_step(point,dir),get_target_turf()))
|
||||
T.ex_act(1)
|
||||
point.Beam(get_target_turf(),icon_state="bsa_beam",time=50,maxdistance = world.maxx) //ZZZAP
|
||||
|
||||
message_admins("[key_name_admin(user)] has launched an artillery strike.")
|
||||
explosion(bullseye,ex_power,ex_power*2,ex_power*4)
|
||||
|
||||
reload()
|
||||
|
||||
/obj/machinery/bsa/full/proc/reload()
|
||||
ready = FALSE
|
||||
use_power(power_used_per_shot)
|
||||
addtimer(CALLBACK(src,"ready_cannon"),600)
|
||||
|
||||
/obj/machinery/bsa/full/proc/ready_cannon()
|
||||
ready = TRUE
|
||||
|
||||
/obj/structure/filler
|
||||
name = "big machinery part"
|
||||
density = 1
|
||||
anchored = 1
|
||||
invisibility = INVISIBILITY_ABSTRACT
|
||||
var/obj/machinery/parent
|
||||
|
||||
/obj/structure/filler/ex_act()
|
||||
return
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/bsa/back
|
||||
name = "Bluespace Artillery Generator (Machine Board)"
|
||||
build_path = /obj/machinery/bsa/back
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2" //No freebies!
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor/quadratic = 5,
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/bsa/middle
|
||||
name = "Bluespace Artillery Fusor (Machine Board)"
|
||||
build_path = /obj/machinery/bsa/middle
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/ore/bluespace_crystal = 20,
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/bsa/front
|
||||
name = "Bluespace Artillery Bore (Machine Board)"
|
||||
build_path = /obj/machinery/bsa/front
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2"
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/manipulator/femto = 5,
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/item/weapon/circuitboard/computer/bsa_control
|
||||
name = "Bluespace Artillery Controls (Computer Board)"
|
||||
build_path = /obj/machinery/computer/bsa_control
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2"
|
||||
|
||||
/obj/machinery/computer/bsa_control
|
||||
name = "Bluespace Artillery Control"
|
||||
var/obj/machinery/bsa/full/cannon
|
||||
var/notice
|
||||
var/target
|
||||
use_power = 0
|
||||
circuit = /obj/item/weapon/circuitboard/computer/bsa_control
|
||||
icon = 'icons/obj/machines/particle_accelerator.dmi'
|
||||
icon_state = "control_boxp"
|
||||
var/area_aim = FALSE //should also show areas for targeting
|
||||
|
||||
/obj/machinery/computer/bsa_control/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
|
||||
datum/tgui/master_ui = null, datum/ui_state/state = physical_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "bsa", name, 400, 305, master_ui, state)
|
||||
ui.open()
|
||||
|
||||
/obj/machinery/computer/bsa_control/ui_data()
|
||||
var/list/data = list()
|
||||
data["ready"] = cannon ? cannon.ready : FALSE
|
||||
data["connected"] = cannon
|
||||
data["notice"] = notice
|
||||
if(target)
|
||||
data["target"] = get_target_name()
|
||||
return data
|
||||
|
||||
/obj/machinery/computer/bsa_control/ui_act(action, params)
|
||||
if(..())
|
||||
return
|
||||
switch(action)
|
||||
if("build")
|
||||
cannon = deploy()
|
||||
. = TRUE
|
||||
if("fire")
|
||||
fire(usr)
|
||||
. = TRUE
|
||||
if("recalibrate")
|
||||
calibrate(usr)
|
||||
. = TRUE
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/computer/bsa_control/proc/calibrate(mob/user)
|
||||
var/list/gps_locators = list()
|
||||
for(var/obj/item/device/gps/G in GPS_list) //nulls on the list somehow
|
||||
gps_locators[G.gpstag] = G
|
||||
|
||||
var/list/options = gps_locators
|
||||
if(area_aim)
|
||||
options += teleportlocs
|
||||
var/V = input(user,"Select target", "Select target",null) in options|null
|
||||
target = options[V]
|
||||
|
||||
|
||||
/obj/machinery/computer/bsa_control/proc/get_target_name()
|
||||
if(istype(target,/area))
|
||||
var/area/A = target
|
||||
return A.name
|
||||
else if(istype(target,/obj/item/device/gps))
|
||||
var/obj/item/device/gps/G = target
|
||||
return G.gpstag
|
||||
|
||||
/obj/machinery/computer/bsa_control/proc/get_impact_turf()
|
||||
if(istype(target,/area))
|
||||
return pick(get_area_turfs(target))
|
||||
else if(istype(target,/obj/item/device/gps))
|
||||
return get_turf(target)
|
||||
|
||||
/obj/machinery/computer/bsa_control/proc/fire(mob/user)
|
||||
if(cannon.stat)
|
||||
notice = "Cannon unpowered!"
|
||||
return
|
||||
notice = null
|
||||
cannon.fire(user, get_impact_turf())
|
||||
|
||||
/obj/machinery/computer/bsa_control/proc/deploy(force=FALSE)
|
||||
var/obj/machinery/bsa/full/prebuilt = locate() in range(7) //In case of adminspawn
|
||||
if(prebuilt)
|
||||
return prebuilt
|
||||
|
||||
var/obj/machinery/bsa/middle/centerpiece = locate() in range(7)
|
||||
if(!centerpiece)
|
||||
notice = "No BSA parts detected nearby."
|
||||
return null
|
||||
notice = centerpiece.check_completion()
|
||||
if(notice)
|
||||
return null
|
||||
//Totally nanite construction system not an immersion breaking spawning
|
||||
var/datum/effect_system/smoke_spread/s = new
|
||||
s.set_up(4,get_turf(centerpiece))
|
||||
s.start()
|
||||
var/obj/machinery/bsa/full/cannon = new(get_turf(centerpiece),cannon_direction=centerpiece.get_cannon_direction())
|
||||
qdel(centerpiece.front)
|
||||
qdel(centerpiece.back)
|
||||
qdel(centerpiece)
|
||||
return cannon
|
||||
@@ -0,0 +1,278 @@
|
||||
//Crew has to create dna vault
|
||||
// Cargo can order DNA samplers + DNA vault boards
|
||||
// DNA vault requires x animals ,y plants, z human dna
|
||||
// DNA vaults require high tier stock parts and cold
|
||||
// After completion each crewmember can receive single upgrade chosen out of 2 for the mob.
|
||||
#define VAULT_TOXIN "Toxin Adaptation"
|
||||
#define VAULT_NOBREATH "Lung Enhancement"
|
||||
#define VAULT_FIREPROOF "Thermal Regulation"
|
||||
#define VAULT_STUNTIME "Neural Repathing"
|
||||
#define VAULT_ARMOUR "Bone Reinforcement"
|
||||
|
||||
/datum/station_goal/dna_vault
|
||||
name = "DNA Vault"
|
||||
var/animal_count
|
||||
var/human_count
|
||||
var/plant_count
|
||||
|
||||
/datum/station_goal/dna_vault/New()
|
||||
..()
|
||||
animal_count = rand(15,20) //might be too few given ~15 roundstart stationside ones
|
||||
human_count = rand(round(0.75 * ticker.totalPlayersReady) , ticker.totalPlayersReady) // 75%+ roundstart population.
|
||||
var/non_standard_plants = non_standard_plants_count()
|
||||
plant_count = rand(round(0.5 * non_standard_plants),round(0.7 * non_standard_plants))
|
||||
|
||||
/datum/station_goal/dna_vault/proc/non_standard_plants_count()
|
||||
. = 0
|
||||
for(var/T in subtypesof(/obj/item/seeds)) //put a cache if it's used anywhere else
|
||||
var/obj/item/seeds/S = T
|
||||
if(initial(S.rarity) > 0)
|
||||
.++
|
||||
|
||||
/datum/station_goal/dna_vault/get_report()
|
||||
return {"Our long term prediction systems say there's 99% chance of system-wide cataclysm in near future.
|
||||
We need you to construct DNA Vault aboard your station.
|
||||
|
||||
DNA Vault needs to contain samples of:
|
||||
[animal_count] unique animal data
|
||||
[plant_count] unique non-standard plant data
|
||||
[human_count] unique sapient humanoid DNA data
|
||||
|
||||
Base vault parts should be availible for shipping by your cargo shuttle."}
|
||||
|
||||
|
||||
/datum/station_goal/dna_vault/on_report()
|
||||
var/datum/supply_pack/P = SSshuttle.supply_packs[/datum/supply_pack/misc/dna_vault]
|
||||
P.special_enabled = TRUE
|
||||
|
||||
P = SSshuttle.supply_packs[/datum/supply_pack/misc/dna_probes]
|
||||
P.special_enabled = TRUE
|
||||
|
||||
/datum/station_goal/dna_vault/check_completion()
|
||||
if(..())
|
||||
return TRUE
|
||||
for(var/obj/machinery/dna_vault/V in machines)
|
||||
if(V.animals.len >= animal_count && V.plants.len >= plant_count && V.dna.len >= human_count)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
|
||||
/obj/item/device/dna_probe
|
||||
name = "DNA Sampler"
|
||||
desc = "Can be used to take chemical and genetic samples of pretty much anything."
|
||||
icon = 'icons/obj/syringe.dmi'
|
||||
item_state = "hypo"
|
||||
icon_state = "hypo"
|
||||
flags = NOBLUDGEON
|
||||
var/list/animals = list()
|
||||
var/list/plants = list()
|
||||
var/list/dna = list()
|
||||
|
||||
/obj/item/device/dna_probe/proc/clear_data()
|
||||
animals = list()
|
||||
plants = list()
|
||||
dna = list()
|
||||
|
||||
var/list/non_simple_animals = typecacheof(list(/mob/living/carbon/monkey,/mob/living/carbon/alien))
|
||||
|
||||
/obj/item/device/dna_probe/afterattack(atom/target, mob/user, proximity)
|
||||
..()
|
||||
if(!proximity || !target)
|
||||
return
|
||||
//tray plants
|
||||
if(istype(target,/obj/machinery/hydroponics))
|
||||
var/obj/machinery/hydroponics/H = target
|
||||
if(!H.myseed)
|
||||
return
|
||||
if(!H.harvest)// So it's bit harder.
|
||||
user << "<span clas='warning'>Plants needs to be ready to harvest to perform full data scan.</span>" //Because space dna is actually magic
|
||||
return
|
||||
if(plants[H.myseed.type])
|
||||
user << "<span class='notice'>Plant data already present in local storage.<span>"
|
||||
return
|
||||
plants[H.myseed.type] = 1
|
||||
user << "<span class='notice'>Plant data added to local storage.<span>"
|
||||
|
||||
//animals
|
||||
if(isanimal(target) || is_type_in_typecache(target,non_simple_animals))
|
||||
if(isanimal(target))
|
||||
var/mob/living/simple_animal/A = target
|
||||
if(!A.healable)//simple approximation of being animal not a robot or similar
|
||||
user << "<span class='warning'>No compatibile DNA detected</span>"
|
||||
return
|
||||
if(animals[target.type])
|
||||
user << "<span class='notice'>Animal data already present in local storage.<span>"
|
||||
return
|
||||
animals[target.type] = 1
|
||||
user << "<span class='notice'>Animal data added to local storage.<span>"
|
||||
|
||||
//humans
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
if(dna[H.dna.uni_identity])
|
||||
user << "<span class='notice'>Humanoid data already present in local storage.<span>"
|
||||
return
|
||||
dna[H.dna.uni_identity] = 1
|
||||
user << "<span class='notice'>Humanoid data added to local storage.<span>"
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/dna_vault
|
||||
name = "DNA Vault (Machine Board)"
|
||||
build_path = /obj/machinery/dna_vault
|
||||
origin_tech = "engineering=2;combat=2;bluespace=2" //No freebies!
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/capacitor/quadratic = 5,
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
|
||||
/obj/machinery/dna_vault
|
||||
name = "DNA Vault"
|
||||
desc = "Break glass in case of apocalypse."
|
||||
icon = 'icons/obj/machines/dna_vault.dmi'
|
||||
icon_state = "vault"
|
||||
density = 1
|
||||
anchored = 1
|
||||
idle_power_usage = 5000
|
||||
pixel_x = -32
|
||||
pixel_y = -64
|
||||
luminosity = 1
|
||||
|
||||
//High defaults so it's not completed automatically if there's no station goal
|
||||
var/animals_max = 100
|
||||
var/plants_max = 100
|
||||
var/dna_max = 100
|
||||
var/list/animals = list()
|
||||
var/list/plants = list()
|
||||
var/list/dna = list()
|
||||
|
||||
var/completed = FALSE
|
||||
var/list/power_lottery = list()
|
||||
|
||||
var/list/obj/structure/fillers = list()
|
||||
|
||||
/obj/machinery/dna_vault/New()
|
||||
//TODO: Replace this,bsa and gravgen with some big machinery datum
|
||||
var/list/occupied = list()
|
||||
for(var/direct in list(EAST,WEST,SOUTHEAST,SOUTHWEST))
|
||||
occupied += get_step(src,direct)
|
||||
occupied += locate(x+1,y-2,z)
|
||||
occupied += locate(x-1,y-2,z)
|
||||
|
||||
for(var/T in occupied)
|
||||
var/obj/structure/filler/F = new(T)
|
||||
F.parent = src
|
||||
fillers += F
|
||||
|
||||
if(ticker.mode)
|
||||
for(var/datum/station_goal/dna_vault/G in ticker.mode.station_goals)
|
||||
animals_max = G.animal_count
|
||||
plants_max = G.plant_count
|
||||
dna_max = G.human_count
|
||||
break
|
||||
|
||||
/obj/machinery/dna_vault/Destroy()
|
||||
for(var/V in fillers)
|
||||
var/obj/structure/filler/filler = V
|
||||
filler.parent = null
|
||||
qdel(filler)
|
||||
. = ..()
|
||||
|
||||
|
||||
/obj/machinery/dna_vault/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = physical_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
roll_powers(user)
|
||||
ui = new(user, src, ui_key, "dna_vault", name, 350, 400, master_ui, state)
|
||||
ui.open()
|
||||
|
||||
|
||||
/obj/machinery/dna_vault/proc/roll_powers(mob/user)
|
||||
if(user in power_lottery)
|
||||
return
|
||||
var/list/L = list()
|
||||
var/list/possible_powers = list(VAULT_TOXIN,VAULT_NOBREATH,VAULT_FIREPROOF,VAULT_STUNTIME,VAULT_ARMOUR)
|
||||
L += pick_n_take(possible_powers)
|
||||
L += pick_n_take(possible_powers)
|
||||
power_lottery[user] = L
|
||||
|
||||
/obj/machinery/dna_vault/ui_data(mob/user) //TODO Make it % bars maybe
|
||||
var/list/data = list()
|
||||
data["plants"] = plants.len
|
||||
data["plants_max"] = plants_max
|
||||
data["animals"] = animals.len
|
||||
data["animals_max"] = animals_max
|
||||
data["dna"] = dna.len
|
||||
data["dna_max"] = dna_max
|
||||
data["completed"] = completed
|
||||
data["used"] = TRUE
|
||||
data["choiceA"] = ""
|
||||
data["choiceB"] = ""
|
||||
if(user && completed)
|
||||
var/list/L = power_lottery[user]
|
||||
if(L && L.len)
|
||||
data["used"] = FALSE
|
||||
data["choiceA"] = L[1]
|
||||
data["choiceB"] = L[2]
|
||||
return data
|
||||
|
||||
/obj/machinery/dna_vault/ui_act(action, params)
|
||||
if(..())
|
||||
return
|
||||
switch(action)
|
||||
if("gene")
|
||||
upgrade(usr,params["choice"])
|
||||
. = TRUE
|
||||
|
||||
/obj/machinery/dna_vault/proc/check_goal()
|
||||
if(plants.len >= plants_max && animals.len >= animals_max && dna.len >= dna_max)
|
||||
completed = TRUE
|
||||
|
||||
|
||||
/obj/machinery/dna_vault/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/device/dna_probe))
|
||||
var/obj/item/device/dna_probe/P = I
|
||||
var/uploaded = 0
|
||||
for(var/plant in P.plants)
|
||||
if(!plants[plant])
|
||||
uploaded++
|
||||
plants[plant] = 1
|
||||
for(var/animal in P.animals)
|
||||
if(!animals[animal])
|
||||
uploaded++
|
||||
animals[animal] = 1
|
||||
for(var/ui in P.dna)
|
||||
if(!dna[ui])
|
||||
uploaded++
|
||||
dna[ui] = 1
|
||||
check_goal()
|
||||
user << "<span class='notice'>[uploaded] new datapoints uploaded.</span>"
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
|
||||
/obj/machinery/dna_vault/proc/upgrade(mob/living/carbon/human/H,upgrade_type)
|
||||
if(!(upgrade_type in power_lottery[H]))
|
||||
return
|
||||
var/datum/species/S = H.dna.species
|
||||
switch(upgrade_type)
|
||||
if(VAULT_TOXIN)
|
||||
H << "<span class='notice'>You feel resistant to airborne toxins.</span>"
|
||||
if(locate(/obj/item/organ/lungs) in H.internal_organs)
|
||||
var/obj/item/organ/lungs/L = H.internal_organs_slot["lungs"]
|
||||
L.tox_breath_dam_min = 0
|
||||
L.tox_breath_dam_max = 0
|
||||
S.species_traits |= VIRUSIMMUNE
|
||||
if(VAULT_NOBREATH)
|
||||
H << "<span class='notice'>Your lungs feel great.</span>"
|
||||
S.species_traits |= NOBREATH
|
||||
if(VAULT_FIREPROOF)
|
||||
H << "<span class='notice'>Your feel fireproof.</span>"
|
||||
S.burnmod = 0.5
|
||||
S.heatmod = 0
|
||||
if(VAULT_STUNTIME)
|
||||
H << "<span class='notice'>Nothing can keep you down for long.</span>"
|
||||
S.stunmod = 0.5
|
||||
if(VAULT_ARMOUR)
|
||||
H << "<span class='notice'>Your feel tough.</span>"
|
||||
S.armor = 30
|
||||
power_lottery[H] = list()
|
||||
@@ -0,0 +1,182 @@
|
||||
//Station Shield
|
||||
// A chain of satellites encircles the station
|
||||
// Satellites be actived to generate a shield that will block unorganic matter from passing it.
|
||||
/datum/station_goal/station_shield
|
||||
name = "Station Shield"
|
||||
var/coverage_goal = 500
|
||||
|
||||
/datum/station_goal/station_shield/get_report()
|
||||
return {"The station is located in a zone full of space debris.
|
||||
We have a prototype shielding system you will deploy to reduce collision related accidents.
|
||||
|
||||
You can order the satellites and control systems through cargo shuttle.
|
||||
"}
|
||||
|
||||
|
||||
/datum/station_goal/station_shield/on_report()
|
||||
//Unlock
|
||||
var/datum/supply_pack/P = SSshuttle.supply_packs[/datum/supply_pack/misc/shield_sat]
|
||||
P.special_enabled = TRUE
|
||||
|
||||
P = SSshuttle.supply_packs[/datum/supply_pack/misc/shield_sat_control]
|
||||
P.special_enabled = TRUE
|
||||
|
||||
/datum/station_goal/station_shield/check_completion()
|
||||
if(..())
|
||||
return TRUE
|
||||
if(get_coverage() >= coverage_goal)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/station_goal/proc/get_coverage()
|
||||
var/list/coverage = list()
|
||||
for(var/obj/machinery/satellite/meteor_shield/A in machines)
|
||||
if(!A.active || A.z != ZLEVEL_STATION)
|
||||
continue
|
||||
coverage |= view(A.kill_range,A)
|
||||
return coverage.len
|
||||
|
||||
/obj/item/weapon/circuitboard/machine/computer/sat_control
|
||||
name = "Satellite Network Control (Computer Board)"
|
||||
build_path = /obj/machinery/computer/sat_control
|
||||
origin_tech = "engineering=3"
|
||||
|
||||
/obj/machinery/computer/sat_control
|
||||
name = "Satellite control"
|
||||
desc = "Used to control the satellite network."
|
||||
circuit = /obj/item/weapon/circuitboard/machine/computer/sat_control
|
||||
var/notice
|
||||
|
||||
/obj/machinery/computer/sat_control/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = default_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "sat_control", name, 400, 305, master_ui, state)
|
||||
ui.open()
|
||||
|
||||
/obj/machinery/computer/sat_control/ui_act(action, params)
|
||||
if(..())
|
||||
return
|
||||
switch(action)
|
||||
if("toggle")
|
||||
toggle(text2num(params["id"]))
|
||||
. = TRUE
|
||||
|
||||
/obj/machinery/computer/sat_control/proc/toggle(id)
|
||||
for(var/obj/machinery/satellite/S in machines)
|
||||
if(S.id == id && S.z == z)
|
||||
S.toggle()
|
||||
|
||||
/obj/machinery/computer/sat_control/ui_data()
|
||||
var/list/data = list()
|
||||
|
||||
data["satellites"] = list()
|
||||
for(var/obj/machinery/satellite/S in machines)
|
||||
data["satellites"] += list(list(
|
||||
"id" = S.id,
|
||||
"active" = S.active,
|
||||
"mode" = S.mode
|
||||
))
|
||||
data["notice"] = notice
|
||||
|
||||
|
||||
var/datum/station_goal/station_shield/G = locate() in ticker.mode.station_goals
|
||||
if(G)
|
||||
data["meteor_shield"] = 1
|
||||
data["meteor_shield_coverage"] = G.get_coverage()
|
||||
data["meteor_shield_coverage_max"] = G.coverage_goal
|
||||
return data
|
||||
|
||||
|
||||
/obj/machinery/satellite
|
||||
name = "Defunct Satellite"
|
||||
desc = ""
|
||||
icon = 'icons/obj/machines/satellite.dmi'
|
||||
icon_state = "sat_inactive"
|
||||
var/mode = "NTPROBEV0.8"
|
||||
var/active = FALSE
|
||||
density = 1
|
||||
use_power = FALSE
|
||||
var/static/gid = 0
|
||||
var/id = 0
|
||||
|
||||
/obj/machinery/satellite/New()
|
||||
..()
|
||||
id = gid++
|
||||
|
||||
/obj/machinery/satellite/interact(mob/user)
|
||||
toggle(user)
|
||||
|
||||
/obj/machinery/satellite/proc/toggle(mob/user)
|
||||
if(!active && !isinspace())
|
||||
if(user)
|
||||
user << "<span class='warning'>You can only active the [src] in space.</span>"
|
||||
return FALSE
|
||||
if(user)
|
||||
user << "<span class='notice'>You [active ? "deactivate": "activate"] the [src]</span>"
|
||||
active = !active
|
||||
if(active)
|
||||
animate(src, pixel_y = 2, time = 10, loop = -1)
|
||||
anchored = 1
|
||||
else
|
||||
animate(src, pixel_y = 0, time = 10)
|
||||
anchored = 0
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/satellite/update_icon()
|
||||
icon_state = active ? "sat_active" : "sat_inactive"
|
||||
|
||||
/obj/machinery/satellite/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/device/multitool))
|
||||
user << "<span class='notice'>// NTSAT-[id] // Mode : [active ? "PRIMARY" : "STANDBY"] //[emagged ? "DEBUG_MODE //" : ""]</span>"
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/satellite/meteor_shield
|
||||
name = "Meteor Shield Satellite"
|
||||
desc = "Meteor Point Defense Satellite"
|
||||
mode = "M-SHIELD"
|
||||
speed_process = TRUE
|
||||
var/kill_range = 14
|
||||
|
||||
/obj/machinery/satellite/meteor_shield/proc/space_los(meteor)
|
||||
for(var/turf/T in getline(src,meteor))
|
||||
if(!isspaceturf(T))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/satellite/meteor_shield/process()
|
||||
if(!active)
|
||||
return
|
||||
for(var/obj/effect/meteor/M in meteor_list)
|
||||
if(M.z != z)
|
||||
continue
|
||||
if(get_dist(M,src) > kill_range)
|
||||
continue
|
||||
if(!emagged && space_los(M))
|
||||
Beam(get_turf(M),icon_state="sat_beam",time=5,maxdistance=kill_range)
|
||||
qdel(M)
|
||||
|
||||
/obj/machinery/satellite/meteor_shield/toggle(user)
|
||||
if(!..(user))
|
||||
return FALSE
|
||||
if(emagged)
|
||||
if(active)
|
||||
change_meteor_chance(2)
|
||||
else
|
||||
change_meteor_chance(0.5)
|
||||
|
||||
/obj/machinery/satellite/meteor_shield/proc/change_meteor_chance(mod)
|
||||
var/datum/round_event_control/E = locate(/datum/round_event_control/meteor_wave) in SSevent.control
|
||||
if(E)
|
||||
E.weight *= mod
|
||||
|
||||
/obj/machinery/satellite/meteor_shield/Destroy()
|
||||
. = ..()
|
||||
if(active && emagged)
|
||||
change_meteor_chance(0.5)
|
||||
|
||||
/obj/machinery/satellite/meteor_shield/emag_act()
|
||||
if(!emagged)
|
||||
emagged = 1
|
||||
if(active)
|
||||
change_meteor_chance(2)
|
||||
@@ -0,0 +1,64 @@
|
||||
//TODO
|
||||
// Admin button to override with your own
|
||||
// Sabotage objective for tators
|
||||
// Multiple goals with less impact but more department focused
|
||||
|
||||
/datum/station_goal
|
||||
var/name = "Generic Goal"
|
||||
var/weight = 1 //In case of multiple goals later.
|
||||
var/required_crew = 10
|
||||
var/list/gamemode_blacklist = list()
|
||||
var/completed = FALSE
|
||||
var/report_message = "Complete this goal."
|
||||
|
||||
/datum/station_goal/proc/send_report()
|
||||
priority_announce("Priority Nanotrasen directive received. Project \"[name]\" details inbound.", "Incoming Priority Message", 'sound/AI/commandreport.ogg')
|
||||
print_command_report(get_report(),"Nanotrasen Directive [pick(phonetic_alphabet)] \Roman[rand(1,50)]")
|
||||
on_report()
|
||||
|
||||
/datum/station_goal/proc/on_report()
|
||||
//Additional unlocks/changes go here
|
||||
return
|
||||
|
||||
/datum/station_goal/proc/get_report()
|
||||
return report_message
|
||||
|
||||
/datum/station_goal/proc/check_completion()
|
||||
return completed
|
||||
|
||||
/datum/station_goal/proc/print_result()
|
||||
if(check_completion())
|
||||
world << "<b>Station Goal</b> : [name] : <span class='greenannounce'>Completed!</span>"
|
||||
else
|
||||
world << "<b>Station Goal</b> : [name] : <span class='boldannounce'>Failed!</span>"
|
||||
|
||||
/datum/station_goal/Destroy()
|
||||
ticker.mode.station_goals -= src
|
||||
. = ..()
|
||||
|
||||
/datum/station_goal/Topic(href, href_list)
|
||||
..()
|
||||
|
||||
if(!check_rights(R_ADMIN))
|
||||
return
|
||||
|
||||
if(href_list["announce"])
|
||||
on_report()
|
||||
send_report()
|
||||
else if(href_list["remove"])
|
||||
qdel(src)
|
||||
|
||||
/*
|
||||
//Crew has to create alien intelligence detector
|
||||
// Requires a lot of minerals
|
||||
// Dish requires a lot of power
|
||||
// Needs five? AI's for decoding purposes
|
||||
/datum/station_goal/seti
|
||||
name = "SETI Project"
|
||||
|
||||
//Crew Sweep
|
||||
//Blood samples and special scans of amount of people on roundstart manifest.
|
||||
//Should keep sec busy.
|
||||
//Maybe after completion you'll get some ling detecting gear or some station wide DNA scan ?
|
||||
|
||||
*/
|
||||
Reference in New Issue
Block a user