mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 20:45:28 +01:00
Ports AI/Cyborg QoL updates, Allows AI to examine and adds more QoL features. (#1167)
* Update ai.dm * Update cyborg.dm * travis * Revert * spacing * Update ai.dm * Update cyborg.dm * Update cyborg.dm * Create Silicon_QoL * Add files via upload * Delete Silicon_QoL * Update _onclick.dm * Update _onclick.dm * Create readme.dm * Update readme.dm * Rename readme.dm to readme.md * Update ai.dm
This commit is contained in:
+4
-5
@@ -99,14 +99,14 @@
|
||||
for AI shift, ctrl, and alt clicking.
|
||||
*/
|
||||
|
||||
/mob/living/silicon/ai/CtrlShiftClickOn(atom/A)
|
||||
A.AICtrlShiftClick(src)
|
||||
/mob/living/silicon/ai/CtrlShiftClickOn(atom/A) // Procs overriden in modular_skyrat/modules/Silicon_QoL
|
||||
A.AICtrlShiftClick(src)
|
||||
/mob/living/silicon/ai/ShiftClickOn(atom/A)
|
||||
A.AIShiftClick(src)
|
||||
/mob/living/silicon/ai/CtrlClickOn(atom/A)
|
||||
A.AICtrlClick(src)
|
||||
/mob/living/silicon/ai/AltClickOn(atom/A)
|
||||
A.AIAltClick(src)
|
||||
A.AIAltClick(src)
|
||||
|
||||
/*
|
||||
The following criminally helpful code is just the previous code cleaned up;
|
||||
@@ -124,7 +124,6 @@
|
||||
return
|
||||
/atom/proc/AICtrlShiftClick()
|
||||
return
|
||||
|
||||
/* Airlocks */
|
||||
/obj/machinery/door/airlock/AICtrlClick() // Bolts doors
|
||||
if(obj_flags & EMAGGED)
|
||||
@@ -148,7 +147,7 @@
|
||||
|
||||
user_toggle_open(usr)
|
||||
add_hiddenprint(usr)
|
||||
|
||||
|
||||
/obj/machinery/door/airlock/AICtrlShiftClick() // Sets/Unsets Emergency Access Override
|
||||
if(obj_flags & EMAGGED)
|
||||
return
|
||||
|
||||
@@ -85,14 +85,14 @@
|
||||
|
||||
//Give cyborgs hotkey clicks without breaking existing uses of hotkey clicks
|
||||
// for non-doors/apcs
|
||||
/mob/living/silicon/robot/CtrlShiftClickOn(atom/A)
|
||||
A.BorgCtrlShiftClick(src)
|
||||
/mob/living/silicon/robot/CtrlShiftClickOn(atom/A) // Procs overridden in skyrat_modular/modules/Silicon_QoL
|
||||
A.BorgCtrlShiftClick(src)
|
||||
/mob/living/silicon/robot/ShiftClickOn(atom/A)
|
||||
A.BorgShiftClick(src)
|
||||
A.BorgShiftClick(src)
|
||||
/mob/living/silicon/robot/CtrlClickOn(atom/A)
|
||||
A.BorgCtrlClick(src)
|
||||
/mob/living/silicon/robot/AltClickOn(atom/A)
|
||||
A.BorgAltClick(src)
|
||||
A.BorgAltClick(src)
|
||||
|
||||
/atom/proc/BorgCtrlShiftClick(mob/living/silicon/robot/user) //forward to human click if not overridden
|
||||
CtrlShiftClick(user)
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
/////////////////////
|
||||
/////AI Changes//////
|
||||
/////////////////////
|
||||
/mob/living/silicon/ai/CtrlShiftClickOn(atom/A)
|
||||
if(isturf(A))
|
||||
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in A
|
||||
if(airlock)
|
||||
airlock.AICtrlShiftClick(src)
|
||||
else
|
||||
A.AICtrlShiftClick(src) // End of skyrat edit
|
||||
|
||||
/mob/living/silicon/ai/ShiftClickOn(atom/A)
|
||||
if(isturf(A))
|
||||
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in A
|
||||
if(airlock)
|
||||
airlock.AIShiftClick(src)
|
||||
else
|
||||
A.AIShiftClick(src)
|
||||
A.AIExamine(A)
|
||||
|
||||
/mob/living/silicon/ai/CtrlClickOn(atom/A)
|
||||
if(isturf(A))
|
||||
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in A
|
||||
if(airlock)
|
||||
airlock.AICtrlClick(src)
|
||||
else
|
||||
A.AICtrlClick(src)
|
||||
|
||||
/mob/living/silicon/ai/AltClickOn(atom/A)
|
||||
if(isturf(A))
|
||||
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in A
|
||||
if(airlock)
|
||||
airlock.AIAltClick(src)
|
||||
else
|
||||
A.AIAltClick(src)
|
||||
|
||||
/atom/proc/AIExamine() // Used for AI specific examines .Currently only employed to stop door examines.
|
||||
usr.examinate(src)
|
||||
|
||||
// Should keep all AI Examines in here in a list.
|
||||
/obj/machinery/door/airlock/AIExamine() // Lets not spam the AI with door examinations
|
||||
return
|
||||
|
||||
/mob/living/silicon/ai/ClickOn(atom/A, params)
|
||||
..()
|
||||
var/list/modifiers = params2list(params)
|
||||
if(isturf(A)&&(!modifiers)) // Have to check for modifiers.
|
||||
var/obj/machinery/door/firedoor/TheDoor = locate(/obj/machinery/door/firedoor) in A
|
||||
if(TheDoor)
|
||||
TheDoor.attack_ai(usr)
|
||||
|
||||
/////////////////////////
|
||||
/////Cyborg changes//////
|
||||
/////////////////////////
|
||||
/mob/living/silicon/robot/CtrlShiftClickOn(atom/A)
|
||||
if(isturf(A))
|
||||
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in A // Skyrat edit
|
||||
if(airlock)
|
||||
airlock.BorgCtrlShiftClick(src)
|
||||
else
|
||||
A.BorgCtrlShiftClick(src)
|
||||
|
||||
/mob/living/silicon/robot/ShiftClickOn(atom/A)
|
||||
if(isturf(A))
|
||||
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in A // Skyrat edit
|
||||
if(airlock)
|
||||
airlock.BorgShiftClick(src)
|
||||
else
|
||||
A.BorgShiftClick(src)
|
||||
|
||||
/mob/living/silicon/robot/CtrlClickOn(atom/A)
|
||||
if(isturf(A))
|
||||
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in A // Skyrat edit
|
||||
if(airlock)
|
||||
airlock.BorgCtrlClick(src)
|
||||
else
|
||||
A.BorgCtrlClick(src) // End of skyrat edit
|
||||
|
||||
/mob/living/silicon/robot/AltClickOn(atom/A)
|
||||
if(isturf(A))
|
||||
var/obj/machinery/door/airlock/airlock = locate(/obj/machinery/door/airlock) in A // Skyrat edit
|
||||
if(airlock)
|
||||
airlock.BorgAltClick(src)
|
||||
else
|
||||
A.BorgAltClick(src)
|
||||
@@ -0,0 +1,30 @@
|
||||
https://github.com/Skyrat-SS13/Skyrat-tg/pull/1167
|
||||
## Title: Allows AI to examine and adds more QoL features. #1167
|
||||
|
||||
MODULE ID: SiliconQoL
|
||||
|
||||
### Description:
|
||||
1.Ports AI/Cyborg QoL from SkyratSS13
|
||||
-Interacting with doors no longer requires to click the sprite itself , it now also works by clicking the turf.
|
||||
2.Allows AI to examine , creates a new proc for it.
|
||||
3.Allows AI to close firelocks by clicking the turf they are on.
|
||||
### TG Proc Changes:
|
||||
|
||||
Added a comment informing of the overrides.
|
||||
|
||||
### Defines:
|
||||
|
||||
- N/A
|
||||
|
||||
### Master file additions
|
||||
|
||||
- N/A
|
||||
|
||||
### Included files that are not contained in this module:
|
||||
|
||||
- N/A
|
||||
|
||||
### Credits:
|
||||
|
||||
MLGTastica - Code , Ideas
|
||||
Bobjoga - Helping with the code , a lot.
|
||||
Reference in New Issue
Block a user