mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
Fix Crossed/Entered/Exited/Bump/ui_act parameter casting (#49016)
About The Pull Request Detected as part of my work on SpaceManiac/SpacemanDMM#167
This commit is contained in:
@@ -611,8 +611,8 @@
|
||||
/obj/effect/ctf/ammo/Crossed(atom/movable/AM)
|
||||
reload(AM)
|
||||
|
||||
/obj/effect/ctf/ammo/Bump(atom/movable/AM)
|
||||
reload(AM)
|
||||
/obj/effect/ctf/ammo/Bump(atom/A)
|
||||
reload(A)
|
||||
|
||||
/obj/effect/ctf/ammo/Bumped(atom/movable/AM)
|
||||
reload(AM)
|
||||
|
||||
@@ -129,9 +129,10 @@
|
||||
var/newcolor = color2hex(pick(10;"green", 5;"blue", 3;"red", 1;"purple"))
|
||||
add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY)
|
||||
|
||||
/obj/item/rupee/Crossed(mob/M)
|
||||
if(!istype(M))
|
||||
/obj/item/rupee/Crossed(atom/movable/AM)
|
||||
if(!ismob(AM))
|
||||
return
|
||||
var/mob/M = AM
|
||||
if(M.put_in_hands(src))
|
||||
if(src != M.get_active_held_item())
|
||||
M.swap_hand()
|
||||
|
||||
@@ -350,10 +350,11 @@
|
||||
if(BURN)
|
||||
playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE)
|
||||
|
||||
/obj/structure/spacevine/Crossed(mob/crosser)
|
||||
if(isliving(crosser))
|
||||
for(var/datum/spacevine_mutation/SM in mutations)
|
||||
SM.on_cross(src, crosser)
|
||||
/obj/structure/spacevine/Crossed(atom/movable/AM)
|
||||
if(!isliving(AM))
|
||||
return
|
||||
for(var/datum/spacevine_mutation/SM in mutations)
|
||||
SM.on_cross(src, AM)
|
||||
|
||||
//ATTACK HAND IGNORING PARENT RETURN VALUE
|
||||
/obj/structure/spacevine/attack_hand(mob/user)
|
||||
|
||||
@@ -425,10 +425,11 @@
|
||||
return
|
||||
O.applyOrganDamage(-repair_rate)
|
||||
|
||||
/obj/machinery/smartfridge/organ/Exited(obj/item/organ/AM, atom/newLoc)
|
||||
/obj/machinery/smartfridge/organ/Exited(atom/movable/AM, atom/newLoc)
|
||||
. = ..()
|
||||
if(istype(AM))
|
||||
AM.organ_flags &= ~ORGAN_FROZEN
|
||||
if(isorgan(AM))
|
||||
var/obj/item/organ/O = AM
|
||||
O.organ_flags &= ~ORGAN_FROZEN
|
||||
|
||||
// -----------------------------
|
||||
// Chemistry Medical Smartfridge
|
||||
|
||||
@@ -75,8 +75,11 @@
|
||||
flags_1 = NONE
|
||||
resistance_flags = FLAMMABLE
|
||||
|
||||
/obj/item/cultivator/rake/Crossed(mob/living/carbon/human/H)
|
||||
if(istype(H) && has_gravity(loc) && HAS_TRAIT(H, TRAIT_CLUMSY) && !H.resting)
|
||||
/obj/item/cultivator/rake/Crossed(atom/movable/AM)
|
||||
if(!ishuman(AM))
|
||||
return
|
||||
var/mob/living/carbon/human/H = AM
|
||||
if(has_gravity(loc) && HAS_TRAIT(H, TRAIT_CLUMSY) && !H.resting)
|
||||
H.confused = max(H.confused, 10)
|
||||
H.Stun(20)
|
||||
playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE)
|
||||
|
||||
@@ -773,10 +773,10 @@ Pass a positive integer as an argument to override a bot's default speed.
|
||||
else // no path, so calculate new one
|
||||
calc_summon_path()
|
||||
|
||||
/mob/living/simple_animal/bot/Bump(M as mob|obj) //Leave no door unopened!
|
||||
/mob/living/simple_animal/bot/Bump(atom/A) //Leave no door unopened!
|
||||
. = ..()
|
||||
if((istype(M, /obj/machinery/door/airlock) || istype(M, /obj/machinery/door/window)) && (!isnull(access_card)))
|
||||
var/obj/machinery/door/D = M
|
||||
if((istype(A, /obj/machinery/door/airlock) || istype(A, /obj/machinery/door/window)) && (!isnull(access_card)))
|
||||
var/obj/machinery/door/D = A
|
||||
if(D.check_access(access_card))
|
||||
D.open()
|
||||
frustration = 0
|
||||
|
||||
@@ -256,7 +256,7 @@
|
||||
var/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/myowner = null
|
||||
|
||||
|
||||
/obj/structure/legionnaire_bonfire/Entered(atom/movable/mover, turf/target)
|
||||
/obj/structure/legionnaire_bonfire/Entered(atom/movable/mover, atom/target)
|
||||
if(isliving(mover))
|
||||
var/mob/living/L = mover
|
||||
L.adjust_fire_stacks(3)
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
// Calls beginning with "PRG_" are reserved for programs handling.
|
||||
// Calls beginning with "PC_" are reserved for computer handling (by whatever runs the program)
|
||||
// ALWAYS INCLUDE PARENT CALL ..() OR DIE IN FIRE.
|
||||
/datum/computer_file/program/ui_act(action,params,datum/tgui/ui)
|
||||
/datum/computer_file/program/ui_act(action,list/params,datum/tgui/ui)
|
||||
if(..())
|
||||
return 1
|
||||
if(computer)
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
data["BossID"] = "boss[boss_id].gif"
|
||||
return data
|
||||
|
||||
/datum/computer_file/program/arcade/ui_act(action, params, mob/user)
|
||||
/datum/computer_file/program/arcade/ui_act(action, list/params, mob/user)
|
||||
if(..())
|
||||
return TRUE
|
||||
var/obj/item/computer_hardware/printer/printer
|
||||
|
||||
@@ -832,8 +832,11 @@
|
||||
. = ..()
|
||||
AddComponent(/datum/component/caltrop, force)
|
||||
|
||||
/obj/item/light/Crossed(mob/living/L)
|
||||
/obj/item/light/Crossed(atom/movable/AM)
|
||||
. = ..()
|
||||
if(!isliving(AM))
|
||||
return
|
||||
var/mob/living/L = AM
|
||||
if(istype(L) && !(L.is_flying() || L.is_floating() || L.buckled))
|
||||
playsound(src, 'sound/effects/glass_step.ogg', HAS_TRAIT(L, TRAIT_LIGHT_STEP) ? 30 : 50, TRUE)
|
||||
if(status == LIGHT_BURNED || status == LIGHT_OK)
|
||||
|
||||
@@ -64,12 +64,12 @@
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/machinery/field/containment/Crossed(mob/mover)
|
||||
if(isliving(mover))
|
||||
shock(mover)
|
||||
/obj/machinery/field/containment/Crossed(atom/movable/AM)
|
||||
if(isliving(AM))
|
||||
shock(AM)
|
||||
|
||||
if(ismachinery(mover) || isstructure(mover) || ismecha(mover))
|
||||
bump_field(mover)
|
||||
if(ismachinery(AM) || isstructure(AM) || ismecha(AM))
|
||||
bump_field(AM)
|
||||
|
||||
/obj/machinery/field/containment/proc/set_master(master1,master2)
|
||||
if(!master1 || !master2)
|
||||
|
||||
@@ -158,12 +158,12 @@
|
||||
remove_controller_actions_by_flag(controller, i)
|
||||
return TRUE
|
||||
|
||||
/obj/vehicle/Bump(atom/movable/M)
|
||||
/obj/vehicle/Bump(atom/A)
|
||||
. = ..()
|
||||
if(emulate_door_bumps)
|
||||
if(istype(M, /obj/machinery/door))
|
||||
if(istype(A, /obj/machinery/door))
|
||||
for(var/m in occupants)
|
||||
M.Bumped(m)
|
||||
A.Bumped(m)
|
||||
|
||||
/obj/vehicle/Move(newloc, dir)
|
||||
. = ..()
|
||||
|
||||
@@ -65,25 +65,25 @@
|
||||
to_chat(user, "<span class='danger'>You use the [banana] to repair the [src]!</span>")
|
||||
qdel(banana)
|
||||
|
||||
/obj/vehicle/sealed/car/clowncar/Bump(atom/movable/M)
|
||||
/obj/vehicle/sealed/car/clowncar/Bump(atom/A)
|
||||
. = ..()
|
||||
if(isliving(M))
|
||||
if(ismegafauna(M))
|
||||
if(isliving(A))
|
||||
if(ismegafauna(A))
|
||||
return
|
||||
var/mob/living/L = M
|
||||
var/mob/living/L = A
|
||||
if(iscarbon(L))
|
||||
var/mob/living/carbon/C = L
|
||||
C.Paralyze(40) //I play to make sprites go horizontal
|
||||
L.visible_message("<span class='warning'>[src] rams into [L] and sucks [L.p_them()] up!</span>") //fuck off shezza this isn't ERP.
|
||||
mob_forced_enter(L)
|
||||
playsound(src, pick('sound/vehicles/clowncar_ram1.ogg', 'sound/vehicles/clowncar_ram2.ogg', 'sound/vehicles/clowncar_ram3.ogg'), 75)
|
||||
log_combat(src, M, "sucked up")
|
||||
else if(istype(M, /turf/closed))
|
||||
visible_message("<span class='warning'>[src] rams into [M] and crashes!</span>")
|
||||
log_combat(src, A, "sucked up")
|
||||
else if(istype(A, /turf/closed))
|
||||
visible_message("<span class='warning'>[src] rams into [A] and crashes!</span>")
|
||||
playsound(src, pick('sound/vehicles/clowncar_crash1.ogg', 'sound/vehicles/clowncar_crash2.ogg'), 75)
|
||||
playsound(src, 'sound/vehicles/clowncar_crashpins.ogg', 75)
|
||||
DumpMobs(TRUE)
|
||||
log_combat(src, M, "crashed into", null, "dumping all passengers")
|
||||
log_combat(src, A, "crashed into", null, "dumping all passengers")
|
||||
|
||||
/obj/vehicle/sealed/car/clowncar/emag_act(mob/user)
|
||||
if(obj_flags & EMAGGED)
|
||||
|
||||
@@ -135,32 +135,32 @@
|
||||
. += "Energy efficiency: [power_efficiency]"
|
||||
. += "Power: [power_cell.charge] out of [power_cell.maxcharge]"
|
||||
|
||||
/obj/vehicle/ridden/wheelchair/motorized/Bump(atom/movable/M)
|
||||
/obj/vehicle/ridden/wheelchair/motorized/Bump(atom/A)
|
||||
. = ..()
|
||||
// Here is the shitty emag functionality.
|
||||
if(obj_flags & EMAGGED && (istype(M, /turf/closed) || isliving(M)))
|
||||
if(obj_flags & EMAGGED && (istype(A, /turf/closed) || isliving(A)))
|
||||
explosion(src, -1, 1, 3, 2, 0)
|
||||
visible_message("<span class='boldwarning'>[src] explodes!!</span>")
|
||||
return
|
||||
// If the speed is higher than delay_multiplier throw the person on the wheelchair away
|
||||
if(M.density && speed > delay_multiplier && has_buckled_mobs())
|
||||
if(A.density && speed > delay_multiplier && has_buckled_mobs())
|
||||
var/mob/living/H = buckled_mobs[1]
|
||||
var/atom/throw_target = get_edge_target_turf(H, pick(GLOB.cardinals))
|
||||
unbuckle_mob(H)
|
||||
H.throw_at(throw_target, 2, 3)
|
||||
H.Knockdown(100)
|
||||
H.adjustStaminaLoss(40)
|
||||
if(isliving(M))
|
||||
var/mob/living/D = M
|
||||
if(isliving(A))
|
||||
var/mob/living/D = A
|
||||
throw_target = get_edge_target_turf(D, pick(GLOB.cardinals))
|
||||
D.throw_at(throw_target, 2, 3)
|
||||
D.Knockdown(80)
|
||||
D.adjustStaminaLoss(35)
|
||||
visible_message("<span class='danger'>[src] crashes into [M], sending [H] and [D] flying!</span>")
|
||||
visible_message("<span class='danger'>[src] crashes into [A], sending [H] and [D] flying!</span>")
|
||||
else
|
||||
visible_message("<span class='danger'>[src] crashes into [M], sending [H] flying!</span>")
|
||||
visible_message("<span class='danger'>[src] crashes into [A], sending [H] flying!</span>")
|
||||
playsound(src, 'sound/effects/bang.ogg', 50, 1)
|
||||
|
||||
|
||||
/obj/vehicle/ridden/wheelchair/motorized/emag_act(mob/user)
|
||||
if((obj_flags & EMAGGED) || !panel_open)
|
||||
return
|
||||
|
||||
@@ -66,12 +66,14 @@
|
||||
for(var/i in GLOB.cardinals)
|
||||
D.set_vehicle_dir_layer(i, BELOW_MOB_LAYER)
|
||||
|
||||
/obj/vehicle/ridden/space/speedwagon/Bump(atom/movable/A)
|
||||
/obj/vehicle/ridden/space/speedwagon/Bump(atom/A)
|
||||
. = ..()
|
||||
if(A.density && has_buckled_mobs())
|
||||
var/atom/throw_target = get_edge_target_turf(A, dir)
|
||||
if(crash_all)
|
||||
A.throw_at(throw_target, 4, 3)
|
||||
if(ismovableatom(A))
|
||||
var/atom/movable/AM = A
|
||||
AM.throw_at(throw_target, 4, 3)
|
||||
visible_message("<span class='danger'>[src] crashes into [A]!</span>")
|
||||
playsound(src, 'sound/effects/bang.ogg', 50, TRUE)
|
||||
if(ishuman(A))
|
||||
|
||||
Reference in New Issue
Block a user