Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fluffy Tongue mk III: Artificial Unintelligence #306

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions code/game/objects/items/robot/ai_upgrades.dm
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,26 @@
message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].")
qdel(src)
return TRUE

// Monkestation edit: AIs are not immune to the curse
/obj/item/ai_uwu_upgrade
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this can be modularized.

name = "AI UwU-speak \"Upgrade\""
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

\improper

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain what you mean by this?

desc = "A debatably legal software package designed to help artificial intelligence accommodate incredibly cringeworthy crewmates. Nanotrasen is not responsible for software malfunctions as a result of use of this upgrade."
icon = 'icons/obj/module.dmi'
icon_state = "datadisk5"

/obj/item/ai_uwu_upgrade/pre_attack(atom/A, mob/living/user, proximity)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no one letter vars

if(!proximity)
return ..()
if(!isAI(A))
return ..()
var/mob/living/silicon/ai/AI = A
if(isAI(A))
AI.uwu_ify()
to_chat(AI, span_userdanger("[user] has upgraded you with... something?"))
to_chat(AI, "You feel a shudder in your microprocessors. Something isn't right...")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this doesn't have a span

to_chat(user, span_notice("You upgrade [AI], and [src] is consumed in the process. God have mercy on your soul."))
user.log_message("has upgraded [key_name(AI)] with a [src].", LOG_GAME)
message_admins("[ADMIN_LOOKUPFLW(user)] has upgraded [ADMIN_LOOKUPFLW(AI)] with a [src].")
Comment on lines +74 to +75
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"a [src]" -> "[src]"

qdel(src)
return TRUE
28 changes: 28 additions & 0 deletions code/modules/mob/living/silicon/ai/ai.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,12 @@
///whether AI is anchored or not, used for checks
var/is_anchored = TRUE

///Command report cooldown
COOLDOWN_DECLARE(command_report_cd) // monkestation edit

// monkestation edit: uwu-speak upgrade
var/datum/fluffy_tongue = FALSE
Comment on lines +116 to +120
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this can be modularized, also not the right way to do comments. Read the modularization README please


/mob/living/silicon/ai/Initialize(mapload, datum/ai_laws/L, mob/target_ai)
. = ..()
if(!target_ai) //If there is no player/brain inside.
Expand Down Expand Up @@ -240,6 +246,10 @@
if(ai_voicechanger)
ai_voicechanger.owner = null
ai_voicechanger = null

// it's a mercy to let the curse end in death, honestly
if (fluffy_tongue)
UnregisterSignal(src, COMSIG_MOB_SAY)
Comment on lines +250 to +252
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you don't need to do this

return ..()

/// Removes all malfunction-related abilities from the AI
Expand Down Expand Up @@ -1140,3 +1150,21 @@
return

#undef CALL_BOT_COOLDOWN

/mob/living/silicon/ai/proc/uwu_ify()
RegisterSignal(src, COMSIG_MOB_SAY, PROC_REF(handle_speech))

/mob/living/silicon/ai/proc/handle_speech(datum/source, list/speech_args)
SIGNAL_HANDLER
var/message = speech_args[SPEECH_MESSAGE]

if(message[1] != "*")
message = replacetext(message, "ne", "nye")
message = replacetext(message, "nu", "nyu")
message = replacetext(message, "na", "nya")
message = replacetext(message, "no", "nyo")
message = replacetext(message, "ove", "uv")
message = replacetext(message, "r", "w")
message = replacetext(message, "l", "w")
speech_args[SPEECH_MESSAGE] = message
Comment on lines +1154 to +1169
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

modularize, add code docs


1 change: 1 addition & 0 deletions code/modules/research/techweb/all_nodes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1118,6 +1118,7 @@
"mech_punching_face",
"clown_firing_pin",
"borg_upgrade_cringe",
"ai_upgrade_cringe",
Comment on lines 1120 to +1121
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

modular comment

)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)

Expand Down
14 changes: 14 additions & 0 deletions monkestation/code/modules/research/designs/electronic_designs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,17 @@
RND_CATEGORY_EQUIPMENT + RND_SUBCATEGORY_EQUIPMENT_SCIENCE
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE

// Monkestation change: UwU-speak module for AIs too because I hate them more than borg players
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't need this

/datum/design/ai_uwu_upgrade
name = "AI UwU-speak \"Upgrade\""
desc = "A software package that assists AIs in sympathetic accommodation of incredibly cringeworthy crewmembers via communications."
id = "ai_upgrade_cringe"
build_type = PROTOLATHE | AWAY_LATHE
// same price as the borg upgrade, plus some iron
materials = list(/datum/material/iron = 1000, /datum/material/gold = 2000, /datum/material/diamond = 1000, /datum/material/bluespace = 500)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

debatably should use bananium

build_path = /obj/item/ai_uwu_upgrade
category = list(
RND_CATEGORY_AI + RND_SUBCATEGORY_AI_UPGRADES
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE