mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2026-08-31 00:26:56 +01:00
Merge pull request #1131 from liz-lavenza/fix/runtimes-one
Fix a large number of runtimes
This commit is contained in:
@@ -84,13 +84,18 @@
|
||||
var/obj/item/card/id/ID = I
|
||||
if(!ID.registered_account)
|
||||
to_chat(user, "<span class='warning'>[ID] doesn't have a linked account to deposit into!</span>")
|
||||
return
|
||||
for(var/obj/item/holochip/money in src.loc.contents)
|
||||
return STOP_ATTACK_PROC_CHAIN
|
||||
var/atom/old_loc = loc // The following code can qdel src, which nulls its loc.
|
||||
if(!old_loc)
|
||||
ID.attackby(src, user)
|
||||
return STOP_ATTACK_PROC_CHAIN
|
||||
for(var/obj/item/holochip/money in old_loc.contents)
|
||||
ID.attackby(money, user)
|
||||
for(var/obj/item/stack/spacecash/money in src.loc.contents)
|
||||
for(var/obj/item/stack/spacecash/money in old_loc.contents)
|
||||
ID.attackby(money, user)
|
||||
for(var/obj/item/coin/money in src.loc.contents)
|
||||
for(var/obj/item/coin/money in old_loc.contents)
|
||||
ID.attackby(money, user)
|
||||
return STOP_ATTACK_PROC_CHAIN
|
||||
|
||||
/obj/item/holochip/AltClick(mob/user)
|
||||
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
if(.)
|
||||
return
|
||||
if(attached_device)
|
||||
attached_device.attack_hand()
|
||||
attached_device.attack_hand(user)
|
||||
|
||||
//These keep attached devices synced up, for example a TTV with a mouse trap being found in a bag so it's triggered, or moving the TTV with an infrared beam sensor to update the beam's direction.
|
||||
|
||||
|
||||
@@ -218,21 +218,36 @@
|
||||
name = "mining cyborg premium KA"
|
||||
desc = "A premium kinetic accelerator replacement for the mining module's standard kinetic accelerator."
|
||||
icon_state = "cyborg_upgrade3"
|
||||
require_module = 1
|
||||
require_module = TRUE
|
||||
module_type = list(/obj/item/robot_module/miner)
|
||||
module_flags = BORG_MODULE_MINER // SANDSTORM EDIT
|
||||
|
||||
/obj/item/borg/upgrade/premiumka/action(mob/living/silicon/robot/R, user = usr)
|
||||
. = ..()
|
||||
if(.)
|
||||
for(var/obj/item/gun/energy/kinetic_accelerator/cyborg/KA in R.module)
|
||||
for(var/obj/item/borg/upgrade/modkit/M in KA.modkits)
|
||||
M.uninstall(src)
|
||||
M.uninstall(KA)
|
||||
R.module.remove_module(KA, TRUE)
|
||||
|
||||
var/obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg/PKA = new /obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg(R.module)
|
||||
R.module.basic_modules += PKA
|
||||
R.module.add_module(PKA, FALSE, TRUE)
|
||||
|
||||
// SANDSTORM EDIT START
|
||||
/obj/item/borg/upgrade/premiumka/deactivate(mob/living/silicon/robot/R, user = usr)
|
||||
. = ..()
|
||||
if (.)
|
||||
for(var/obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg/PKA in R.module)
|
||||
for(var/obj/item/borg/upgrade/modkit/M in PKA.modkits)
|
||||
M.uninstall(PKA)
|
||||
R.module.remove_module(PKA, TRUE)
|
||||
|
||||
var/obj/item/gun/energy/kinetic_accelerator/cyborg/KA = new (R.module)
|
||||
R.module.basic_modules += KA
|
||||
R.module.add_module(KA, FALSE, TRUE)
|
||||
// SANDSTORM EDIT END
|
||||
|
||||
/obj/item/borg/upgrade/tboh
|
||||
name = "janitor cyborg trash bag of holding"
|
||||
desc = "A trash bag of holding replacement for the janiborg's standard trash bag."
|
||||
|
||||
@@ -246,7 +246,7 @@
|
||||
/obj/item/shield/riot/on_shield_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return)
|
||||
var/final_damage = damage
|
||||
|
||||
if(attack_type & ATTACK_TYPE_MELEE)
|
||||
if(attack_type & (ATTACK_TYPE_MELEE | ATTACK_TYPE_THROWN))
|
||||
if(istype(object, /obj)) //Assumption: non-object attackers are a meleeing mob. Therefore: Assuming physical attack in this case.
|
||||
var/obj/hittingthing = object
|
||||
if(hittingthing.damtype == BURN)
|
||||
@@ -269,15 +269,15 @@
|
||||
else if((shield_flags & SHIELD_KINETIC_STRONG))
|
||||
final_damage *= 0.5
|
||||
|
||||
if(attack_type & ATTACK_TYPE_PROJECTILE)
|
||||
var/obj/item/projectile/shootingthing = object
|
||||
var/obj/item/projectile/shootingthing = object
|
||||
if(attack_type & ATTACK_TYPE_PROJECTILE && istype(shootingthing))
|
||||
if(is_energy_reflectable_projectile(shootingthing))
|
||||
if((shield_flags & SHIELD_ENERGY_WEAK))
|
||||
final_damage *= 2
|
||||
else if((shield_flags & SHIELD_ENERGY_STRONG))
|
||||
final_damage *= 0.5
|
||||
|
||||
if(!is_energy_reflectable_projectile(object))
|
||||
if(!is_energy_reflectable_projectile(shootingthing))
|
||||
if((shield_flags & SHIELD_KINETIC_WEAK))
|
||||
final_damage *= 2
|
||||
else if((shield_flags & SHIELD_KINETIC_STRONG))
|
||||
|
||||
Reference in New Issue
Block a user