Skip to content

Commit

Permalink
Merge branch 'master220' of https://github.com/Anorak2024/Paradise in…
Browse files Browse the repository at this point in the history
…to master220
  • Loading branch information
Anorak2024 committed Aug 22, 2024
2 parents 651ab16 + a21eb2b commit b4b0f0b
Show file tree
Hide file tree
Showing 35 changed files with 240 additions and 93 deletions.
4 changes: 1 addition & 3 deletions _maps/map_files/Delta/delta.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -74314,9 +74314,7 @@
/obj/structure/window/reinforced{
dir = 4
},
/obj/machinery/arcade/minesweeper{
freeplay = 1
},
/obj/machinery/arcade/minesweeper,
/turf/simulated/floor/carpet/arcade,
/area/crew_quarters/fitness)
"mlG" = (
Expand Down
3 changes: 1 addition & 2 deletions code/_onclick/item_attack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,7 @@
if(ATTACK_CHAIN_CANCEL_CHECK(.))
return .
if(attempt_harvest(I, user))
. |= ATTACK_CHAIN_BLOCKED_ALL
return .
return .|ATTACK_CHAIN_BLOCKED_ALL
user.changeNext_move(I.attack_speed)
. |= I.attack(src, user, params, user.zone_selected)

Expand Down
11 changes: 10 additions & 1 deletion code/game/gamemodes/clockwork/clockwork.dm
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ GLOBAL_LIST_EMPTY(all_clockers)

if(power_reveal)
powered(clock_mind.current)
powered_borgs(clock_mind.current)
if(crew_reveal)
clocked(clock_mind.current)
check_clock_reveal()
Expand All @@ -223,7 +224,10 @@ GLOBAL_LIST_EMPTY(all_clockers)
if((GLOB.clockwork_power >= power_reveal_number) && !power_reveal)
power_reveal = TRUE
for(var/datum/mind/M in clockwork_cult)
if(!M.current || !ishuman(M.current))
if(!M.current)
continue
if(!ishuman(M.current))
powered_borgs(M.current)
continue
SEND_SOUND(M.current, 'sound/hallucinations/i_see_you2.ogg')
to_chat(M.current, "<span class='clocklarge'>The veil begins to stutter in fear as the power of Ratvar grows, your hands begin to glow...</span>")
Expand Down Expand Up @@ -262,6 +266,11 @@ GLOBAL_LIST_EMPTY(all_clockers)
H.update_inv_gloves()
ADD_TRAIT(H, CLOCK_HANDS, CLOCK_TRAIT)

/datum/game_mode/proc/powered_borgs(clocker)
if(isrobot(clocker))
var/mob/living/silicon/robot/borg = clocker
borg.update_icons()

/datum/game_mode/proc/clocked(clocker)
if(ishuman(clocker) && isclocker(clocker))
var/mob/living/carbon/human/H = clocker
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/alarm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -982,7 +982,7 @@

switch(buildstage)
if(AIR_ALARM_READY)
if(I.GetID()) // trying to unlock the interface
if(I.GetID() || is_pda(I)) // trying to unlock the interface
add_fingerprint(user)
if(stat & (NOPOWER|BROKEN))
to_chat(user, span_warning("It does nothing!"))
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/computer/buildandrepair.dm
Original file line number Diff line number Diff line change
Expand Up @@ -496,7 +496,7 @@
if(user.a_intent == INTENT_HARM)
return ..()

if(I.GetID())
if(I.GetID() || is_pda(I))
add_fingerprint(user)
if(!allowed(user))
to_chat(user, span_warning("Access Denied"))
Expand Down
6 changes: 3 additions & 3 deletions code/game/machinery/minesweeper.dm
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
last_random = world.time + rand(0, phrase_delay)
update_icon(UPDATE_OVERLAYS)

/obj/machinery/arcade/minesweeper/proc/make_empty_matr()
/obj/machinery/arcade/minesweeper/proc/make_empty_matr(pay = TRUE)
minesweeper_matrix = list()
for(var/i in 1 to generation_rows)
var/list/new_row = list()
Expand All @@ -76,7 +76,7 @@
minesweeper_matrix["[i]"] = new_row
first_touch = TRUE
ignore_touches = FALSE
if(!freeplay)
if(!freeplay && pay)
tokens -= 1
if(tokens < 0)
tokens = 0
Expand All @@ -102,7 +102,7 @@
generation_columns = 30
generation_bombs = 99
ui_width = MINESWEEPER_WIDTH * 2
make_empty_matr()
make_empty_matr(FALSE)
SStgui.update_uis(src)

/obj/machinery/arcade/minesweeper/proc/speak(message)
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/navbeacon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
if(user.a_intent == INTENT_HARM)
return ..()

if(I.GetID())
if(I.GetID() || is_pda(I))
add_fingerprint(user)
if(!open)
to_chat(user, span_warning("You must open the cover first!"))
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/portable_turret.dm
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ GLOBAL_LIST_EMPTY(turret_icons)


/obj/machinery/porta_turret/attackby(obj/item/I, mob/user, params)
if(I.GetID())
if(I.GetID() || is_pda(I))
add_fingerprint(user)
if(HasController())
to_chat(user, span_notice("Turrets regulated by a nearby turret controller are not unlockable."))
Expand Down
4 changes: 2 additions & 2 deletions code/game/machinery/shieldgen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@
update_icon(UPDATE_ICON_STATE)
return ATTACK_CHAIN_PROCEED_SUCCESS

if(I.GetID())
if(I.GetID() || is_pda(I))
add_fingerprint(user)
if(!allowed(user))
to_chat(user, span_warning("Access denied."))
Expand Down Expand Up @@ -493,7 +493,7 @@
if(user.a_intent == INTENT_HARM)
return ..()

if(I.GetID())
if(I.GetID() || is_pda(I))
add_fingerprint(user)
if(!allowed(user))
to_chat(user, span_warning("Access denied."))
Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/turret_control.dm
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
if(user.a_intent == INTENT_HARM || (stat & BROKEN))
return ..()

if(I.GetID())
if(I.GetID() || is_pda(I))
add_fingerprint(user)
if(emagged)
to_chat(user, span_warning("The turret control is unresponsive."))
Expand Down
22 changes: 21 additions & 1 deletion code/game/objects/items/weapons/AI_modules.dm
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,10 @@ AI MODULES
if(!new_targetName)
return
targetName = new_targetName
update_appearance(UPDATE_DESC)

/obj/item/aiModule/safeguard/update_desc(updates = ALL)
. = ..()
desc = text("A 'safeguard' AI module: 'Safeguard []. Individuals that threaten [] are not crew and must be eliminated.'", targetName, targetName)

/obj/item/aiModule/safeguard/install(var/obj/machinery/computer/C)
Expand Down Expand Up @@ -136,6 +140,10 @@ AI MODULES
if(!new_targetName)
return
targetName = new_targetName
update_appearance(UPDATE_DESC)

/obj/item/aiModule/oneCrewMember/update_desc(updates = ALL)
. = ..()
desc = text("A 'one human' AI module: 'Only [] is crew.'", targetName)

/obj/item/aiModule/oneCrewMember/install(var/obj/machinery/computer/C)
Expand Down Expand Up @@ -200,14 +208,18 @@ AI MODULES
/obj/item/aiModule/freeform/attack_self(var/mob/user as mob)
..()
var/new_lawpos = tgui_input_number(user, "Please enter the priority for your new law. Can only write to law sectors 15 and above.", "Law Priority", lawpos, MAX_SUPPLIED_LAW_NUMBER, MIN_SUPPLIED_LAW_NUMBER)
if(isnull(new_lawpos) || new_lawpos == lawpos)
if(isnull(new_lawpos) || new_lawpos < MIN_SUPPLIED_LAW_NUMBER)
return
lawpos = new_lawpos

var/new_targetName = tgui_input_text(user, "Please enter a new law for the AI.", "Freeform Law Entry")
if(!new_targetName)
return
newFreeFormLaw = new_targetName
update_appearance(UPDATE_DESC)

/obj/item/aiModule/freeform/update_desc(updates = ALL)
. = ..()
desc = "A 'freeform' AI module: ([lawpos]) '[newFreeFormLaw]'"

/obj/item/aiModule/freeform/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender)
Expand Down Expand Up @@ -384,6 +396,10 @@ AI MODULES
if(!new_targetName)
return
newFreeFormLaw = new_targetName
update_appearance(UPDATE_DESC)

/obj/item/aiModule/freeformcore/update_desc(updates = ALL)
. = ..()
desc = "A 'freeform' Core AI module: '[newFreeFormLaw]'"

/obj/item/aiModule/freeformcore/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender)
Expand Down Expand Up @@ -412,6 +428,10 @@ AI MODULES
if(isnull(new_targetName))
return
newFreeFormLaw = new_targetName
update_appearance(UPDATE_DESC)

/obj/item/aiModule/syndicate/update_desc(updates = ALL)
. = ..()
desc = "A hacked AI law module: '[newFreeFormLaw]'"

/obj/item/aiModule/syndicate/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
Expand Down
24 changes: 16 additions & 8 deletions code/game/objects/items/weapons/holy_weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -477,26 +477,34 @@
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
var/mob/living/carbon/wielder

/obj/item/nullrod/tribal_knife/New()
..()

/obj/item/nullrod/tribal_knife/Initialize(mapload)
. = ..()
START_PROCESSING(SSobj, src)


/obj/item/nullrod/tribal_knife/Destroy()
STOP_PROCESSING(SSobj, src)
wielder = null
return ..()


/obj/item/nullrod/tribal_knife/process()
slowdown = rand(-2, 2)
if(iscarbon(loc))
wielder = loc
if(wielder.is_in_hands(src))
wielder.update_equipment_speed_mods()
wielder?.update_equipment_speed_mods()


/obj/item/nullrod/tribal_knife/equipped(mob/user, slot, initial = FALSE)
. = ..()
if(slot & ITEM_SLOT_HANDS)
wielder = user


/obj/item/nullrod/tribal_knife/dropped(mob/user, slot, silent = FALSE)
slowdown = 0
user.update_equipment_speed_mods()
. = ..()
wielder = null
return ..()


/obj/item/nullrod/pitchfork
name = "unholy pitchfork"
Expand Down
31 changes: 28 additions & 3 deletions code/game/objects/items/weapons/storage/artistic_toolbox.dm
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,33 @@
return FALSE


/obj/item/storage/toolbox/green/memetic/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/holder))
add_fingerprint(user)
var/mob/living/victim = locate() in I.contents
if(!activated || !victim)
return ..()
if(!user.HasDisease(/datum/disease/memetic_madness))
to_chat(user, span_warning("You can't seem to find the latch to open this."))
return ATTACK_CHAIN_PROCEED
if(!victim.stat)
to_chat(user, span_warning("They're moving too much to feed to His Grace!"))
return ATTACK_CHAIN_PROCEED
user.visible_message(span_userdanger("[user] is trying to feed [victim] to [src]!"))
if(!do_after(user, 3 SECONDS, I, NONE) || !user.HasDisease(/datum/disease/memetic_madness) || !victim.stat || victim.loc != I)
return ATTACK_CHAIN_PROCEED
qdel(I)
user.visible_message(span_userdanger("[user] has fed [victim] to [src]!"))
to_chat(user, "<i><b><font face = Tempus Sans ITC>You have done well...</font></b></i>")
consume(victim)
return ATTACK_CHAIN_BLOCKED_ALL

return ..()


/obj/item/storage/toolbox/green/memetic/grab_attack(mob/living/grabber, atom/movable/grabbed_thing)
. = TRUE
if(grabber.grab_state < GRAB_AGGRESSIVE || !activated || !isliving(grabbed_thing))
if(!activated || !isliving(grabbed_thing))
return .
var/mob/living/victim = grabbed_thing
if(!grabber.HasDisease(/datum/disease/memetic_madness))
Expand All @@ -96,8 +120,6 @@
grabber.visible_message(span_userdanger("[grabber] has fed [victim] to [src]!"))
to_chat(grabber, "<i><b><font face = Tempus Sans ITC>You have done well...</font></b></i>")
consume(victim)
force += 5
throwforce += 5


/obj/item/storage/toolbox/green/memetic/proc/consume(mob/living/L)
Expand Down Expand Up @@ -132,8 +154,11 @@
fake_toolbox.desc = "It looks a lot duller than it used to."
qdel(src)
else
force += 5
throwforce += 5
qdel(L)


/obj/item/storage/toolbox/green/memetic/Destroy()
for(var/datum/disease/memetic_madness/D in servantlinks)
D.cure()
Expand Down
2 changes: 2 additions & 0 deletions code/game/objects/items/weapons/stunbaton.dm
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,14 @@
/obj/item/melee/baton/security/proc/link_new_cell(unlink = FALSE)
if(unlink)
cell = null
update_appearance(UPDATE_ICON_STATE)
return
var/mob/living/silicon/robot/robot = get(loc, /mob/living/silicon/robot)
if(robot)
cell = robot.cell
else if(ispath(cell))
cell = new cell(src)
update_appearance(UPDATE_ICON_STATE)


/obj/item/melee/baton/security/update_icon_state()
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/structures/displaycase.dm
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
if(user.a_intent == INTENT_HARM)
return ..()

if(I.GetID())
if(I.GetID() || is_pda(I))
if(!openable)
return ..()
add_fingerprint(user)
Expand Down
2 changes: 1 addition & 1 deletion code/game/turfs/simulated/floor/plating.dm
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@

/turf/simulated/floor/engine/wrench_act(mob/living/user, obj/item/I)
. = TRUE
if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume) || istype(src, /turf/simulated/floor/engine))
if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume) || !istype(src, /turf/simulated/floor/engine))
return .
make_plating(make_floor_tile = FALSE, force = TRUE)
var/obj/item/stack/rods/rods = new(src, 2)
Expand Down
22 changes: 11 additions & 11 deletions code/game/turfs/simulated/walls.dm
Original file line number Diff line number Diff line change
Expand Up @@ -387,24 +387,24 @@
return .

if(rotting && try_rot(I, user, params))
. |= (ATTACK_CHAIN_BLOCKED_ALL)
return .
user.changeNext_move(I.attack_speed)
return .|ATTACK_CHAIN_BLOCKED_ALL

if(try_decon(I, user, params))
. |= (ATTACK_CHAIN_BLOCKED_ALL)
return .
user.changeNext_move(I.attack_speed)
return .|ATTACK_CHAIN_BLOCKED_ALL

if(try_destroy(I, user, params))
. |= (ATTACK_CHAIN_BLOCKED_ALL)
return .
user.changeNext_move(I.attack_speed)
return .|ATTACK_CHAIN_BLOCKED_ALL

if(try_wallmount(I, user, params))
. |= (ATTACK_CHAIN_BLOCKED_ALL)
return .
user.changeNext_move(I.attack_speed)
return .|ATTACK_CHAIN_BLOCKED_ALL

if(try_reform(I, user, params))
. |= (ATTACK_CHAIN_BLOCKED_ALL)
return .
user.changeNext_move(I.attack_speed)
return .|ATTACK_CHAIN_BLOCKED_ALL


/turf/simulated/wall/welder_act(mob/user, obj/item/I)
Expand Down Expand Up @@ -510,7 +510,7 @@

/turf/simulated/wall/proc/try_wallmount(obj/item/I, mob/user, params)
if(istype(I, /obj/item/mounted))
return TRUE // We don't want attack_hand running and doing stupid shit with this
return FALSE // afterattack will handle this

if(istype(I, /obj/item/poster))
place_poster(I, user)
Expand Down
Loading

0 comments on commit b4b0f0b

Please sign in to comment.