Files
GS13NG/code/modules/mob/living/silicon/pai/pai_shell.dm
T
PoojawaandGitHub cf59ac1c3d 12/21 modernizations from TG live (#103)
* 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
2016-12-22 03:57:55 -06:00

103 lines
3.1 KiB
Plaintext

/mob/living/silicon/pai/proc/fold_out(force = FALSE)
if(emitterhealth < 0)
src << "<span class='warning'>Your holochassis emitters are still too unstable! Please wait for automatic repair.</span>"
return FALSE
if(!canholo && !force)
src << "<span class='warning'>Your master or another force has disabled your holochassis emitters!</span>"
return FALSE
if(holoform)
. = fold_in(force)
return
if(emittersemicd)
src << "<span class='warning'>Error: Holochassis emitters recycling. Please try again later.</span>"
return FALSE
emittersemicd = TRUE
addtimer(src, "emittercool", emittercd)
canmove = TRUE
density = TRUE
if(istype(card.loc, /obj/item/device/pda))
var/obj/item/device/pda/P = card.loc
P.pai = null
P.visible_message("<span class='notice'>[src] ejects itself from [P]!</span>")
if(istype(card.loc, /mob/living))
var/mob/living/L = card.loc
if(!L.unEquip(card))
src << "<span class='warning'>Error: Unable to expand to mobile form. Chassis is restrained by some device or person.</span>"
return FALSE
var/turf/T = get_turf(card)
forceMove(T)
card.forceMove(src)
if(client)
client.perspective = EYE_PERSPECTIVE
client.eye = src
SetLuminosity(0)
icon_state = "[chassis]"
visible_message("<span class='boldnotice'>[src] folds out its holochassis emitter and forms a holoshell around itself!</span>")
holoform = TRUE
/mob/living/silicon/pai/proc/emittercool()
emittersemicd = FALSE
/mob/living/silicon/pai/proc/fold_in(force = FALSE)
emittersemicd = TRUE
if(!force)
addtimer(src, "emittercool", emittercd)
else
addtimer(src, "emittercool", emitteroverloadcd)
icon_state = "[chassis]"
if(!holoform)
. = fold_out(force)
return
visible_message("<span class='notice'>[src] deactivates its holochassis emitter and folds back into a compact card!</span>")
stop_pulling()
if(client)
client.perspective = EYE_PERSPECTIVE
client.eye = card
var/turf/T = get_turf(src)
card.forceMove(T)
forceMove(card)
canmove = FALSE
density = FALSE
SetLuminosity(0)
holoform = FALSE
if(resting)
lay_down()
/mob/living/silicon/pai/proc/choose_chassis()
var/choice = input(src, "What would you like to use for your holochassis composite?") as null|anything in possible_chassis
if(!choice)
return 0
chassis = choice
icon_state = "[chassis]"
if(resting)
icon_state = "[chassis]_rest"
src << "<span class='boldnotice'>You switch your holochassis projection composite to [chassis]</span>"
/mob/living/silicon/pai/lay_down()
..()
update_resting_icon(resting)
/mob/living/silicon/pai/proc/update_resting_icon(rest)
if(rest)
icon_state = "[chassis]_rest"
else
icon_state = "[chassis]"
if(loc != card)
visible_message("<span class='notice'>[src] [rest? "lays down for a moment..." : "perks up from the ground"]</span>")
/mob/living/silicon/pai/start_pulling(atom/movable/AM)
return FALSE
/mob/living/silicon/pai/proc/toggle_integrated_light()
if(!luminosity)
SetLuminosity(light_power)
src << "<span class='notice'>You enable your integrated light.</span>"
else
SetLuminosity(0)
src << "<span class='notice'>You disable your integrated light.</span>"