mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-03 05:51:56 +00:00
Merge branch 'master' into development
# Conflicts: # code/modules/modular_computers/computers/modular_computer/damage.dm
This commit is contained in:
@@ -140,7 +140,7 @@
|
||||
|
||||
user.visible_message("<span class='danger'>[user] starts to put [victim] into the gibber!</span>")
|
||||
src.add_fingerprint(user)
|
||||
if(do_after(user, 30) && victim.Adjacent(src) && user.Adjacent(src) && victim.Adjacent(user) && !occupant)
|
||||
if(do_after(user, 30 SECONDS, act_target = src) && victim.Adjacent(src) && user.Adjacent(src) && victim.Adjacent(user) && !occupant)
|
||||
user.visible_message("<span class='danger'>[user] stuffs [victim] into the gibber!</span>")
|
||||
if(victim.client)
|
||||
victim.client.perspective = EYE_PERSPECTIVE
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
icon_state = "recharge_floor"
|
||||
density = 0
|
||||
layer = TURF_LAYER + 0.1
|
||||
anchored = 1
|
||||
|
||||
var/obj/mecha/charging = null
|
||||
var/charge = 45
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/heal_burn = 0
|
||||
|
||||
/obj/item/stack/medical/attack(mob/living/M as mob, mob/user as mob)
|
||||
if (!istype(M) || istype(M, /mob/living/silicon))
|
||||
if (!istype(M) || istype(M, /mob/living/silicon) || istype(M, /mob/living/simple_animal/spiderbot))
|
||||
user << "<span class='warning'>\The [src] cannot be applied to [M]!</span>"
|
||||
return 1
|
||||
|
||||
|
||||
@@ -34,14 +34,20 @@
|
||||
return eyestab(M,user)
|
||||
else
|
||||
return ..()
|
||||
|
||||
var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25)
|
||||
if (reagents.total_volume > 0)
|
||||
reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
|
||||
if(M == user)
|
||||
if(!M.can_eat(loaded))
|
||||
return
|
||||
if (fullness > (550 * (1 + M.overeatduration / 2000)))
|
||||
M <<"You cannot force anymore food down!"
|
||||
return
|
||||
M.visible_message("<span class='notice'>\The [user] eats some [loaded] from \the [src].</span>")
|
||||
else
|
||||
if (fullness > (550 * (1 + M.overeatduration / 2000)))
|
||||
M <<"You cannot force anymore food down their throat!"
|
||||
return
|
||||
user.visible_message("<span class='warning'>\The [user] begins to feed \the [M]!</span>")
|
||||
if(!(M.can_force_feed(user, loaded) && do_mob(user, M, 5 SECONDS)))
|
||||
return
|
||||
|
||||
@@ -106,6 +106,9 @@
|
||||
|
||||
icon_state = "mmi_empty"
|
||||
name = "Man-Machine Interface"
|
||||
if(istype(src,/obj/item/device/mmi/digital/robot))
|
||||
icon_state = "mainboard"
|
||||
name = "robotic intelligence circuit"
|
||||
|
||||
proc
|
||||
transfer_identity(var/mob/living/carbon/human/H)//Same deal as the regular brain proc. Used for human-->robot people.
|
||||
|
||||
@@ -13,22 +13,22 @@
|
||||
// Handle things that are part of this interface but not removing/replacing a given item.
|
||||
if("pockets")
|
||||
visible_message("<span class='danger'>\The [user] is trying to empty \the [src]'s pockets!</span>")
|
||||
if(do_after(user,HUMAN_STRIP_DELAY))
|
||||
if(do_after(user,HUMAN_STRIP_DELAY, act_target = src))
|
||||
empty_pockets(user)
|
||||
return 1
|
||||
if("splints")
|
||||
visible_message("<span class='danger'>\The [user] is trying to remove \the [src]'s splints!</span>")
|
||||
if(do_after(user,HUMAN_STRIP_DELAY))
|
||||
if(do_after(user,HUMAN_STRIP_DELAY, act_target = src))
|
||||
remove_splints(user)
|
||||
return 1
|
||||
if("sensors")
|
||||
visible_message("<span class='danger'>\The [user] is trying to set \the [src]'s sensors!</span>")
|
||||
if(do_after(user,HUMAN_STRIP_DELAY))
|
||||
if(do_after(user,HUMAN_STRIP_DELAY, act_target = src))
|
||||
toggle_sensors(user)
|
||||
return 1
|
||||
if("internals")
|
||||
visible_message("<span class='danger'>\The [usr] is trying to set \the [src]'s internals!</span>")
|
||||
if(do_after(user,HUMAN_STRIP_DELAY))
|
||||
if(do_after(user,HUMAN_STRIP_DELAY, act_target = src))
|
||||
toggle_internals(user)
|
||||
return 1
|
||||
if("tie")
|
||||
@@ -40,7 +40,7 @@
|
||||
return 0
|
||||
visible_message("<span class='danger'>\The [usr] is trying to remove \the [src]'s [A.name]!</span>")
|
||||
|
||||
if(!do_after(user,HUMAN_STRIP_DELAY))
|
||||
if(!do_after(user,HUMAN_STRIP_DELAY, act_target = src))
|
||||
return 0
|
||||
|
||||
if(!A || suit.loc != src || !(A in suit.accessories))
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
var/mob/living/L = .
|
||||
if(L.reagents)
|
||||
L.reagents.add_reagent("toxin", poison_per_bite)
|
||||
if(prob(poison_per_bite))
|
||||
if(prob(poison_per_bite) && (!issilicon(L) && !isipc(L)))
|
||||
to_chat(L, "<span class='warning'>You feel a tiny prick.</span>")
|
||||
L.reagents.add_reagent(poison_type, 5)
|
||||
|
||||
|
||||
@@ -289,34 +289,54 @@ obj/machinery/lapvend/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
// Simplified payment processing, returns 1 on success.
|
||||
/obj/machinery/lapvend/proc/process_payment(var/obj/item/weapon/card/id/I, var/obj/item/ID_container)
|
||||
var/obj/item/weapon/spacecash/S = null
|
||||
if (istype(ID_container, /obj/item/weapon/spacecash))
|
||||
S = ID_container
|
||||
if(I==ID_container || ID_container == null)
|
||||
visible_message("<span class='info'>\The [usr] swipes \the [I] through \the [src].</span>")
|
||||
else
|
||||
visible_message("<span class='info'>\The [usr] swipes \the [ID_container] through \the [src].</span>")
|
||||
var/datum/money_account/customer_account = get_account(I.associated_account_number)
|
||||
if (!customer_account || customer_account.suspended)
|
||||
ping("Connection error. Unable to connect to account.")
|
||||
return 0
|
||||
|
||||
if(customer_account.security_level != 0) //If card requires pin authentication (ie seclevel 1 or 2)
|
||||
var/attempt_pin = input("Enter pin code", "Vendor transaction") as num
|
||||
customer_account = attempt_account_access(I.associated_account_number, attempt_pin, 2)
|
||||
|
||||
if(!customer_account)
|
||||
ping("Unable to access account: incorrect credentials.")
|
||||
if(I)
|
||||
var/datum/money_account/customer_account = get_account(I.associated_account_number)
|
||||
if (!customer_account || customer_account.suspended)
|
||||
ping("Connection error. Unable to connect to account.")
|
||||
return 0
|
||||
|
||||
if(total_price > customer_account.money)
|
||||
ping("Insufficient funds in account.")
|
||||
if(customer_account.security_level != 0) //If card requires pin authentication (ie seclevel 1 or 2)
|
||||
var/attempt_pin = input("Enter pin code", "Vendor transaction") as num
|
||||
customer_account = attempt_account_access(I.associated_account_number, attempt_pin, 2)
|
||||
|
||||
if(!customer_account)
|
||||
ping("Unable to access account: incorrect credentials.")
|
||||
return 0
|
||||
|
||||
if(total_price > customer_account.money)
|
||||
ping("Insufficient funds in account.")
|
||||
return 0
|
||||
else
|
||||
customer_account.money -= total_price
|
||||
var/datum/transaction/T = new()
|
||||
T.target_name = "Computer Manufacturer (via [src.name])"
|
||||
T.purpose = "Purchase of [(devtype == 1) ? "laptop computer" : "tablet microcomputer"]."
|
||||
T.amount = total_price
|
||||
T.source_terminal = src.name
|
||||
T.date = current_date_string
|
||||
T.time = worldtime2text()
|
||||
customer_account.transaction_log.Add(T)
|
||||
return 1
|
||||
else if(S)
|
||||
if(total_price > S.worth)
|
||||
ping("Insufficient funds!")
|
||||
return 0
|
||||
else
|
||||
S.worth -= total_price
|
||||
if(S.worth <= 0)
|
||||
qdel(S)
|
||||
return 1
|
||||
|
||||
else // just incase
|
||||
ping("You cannot pay with this!")
|
||||
return 0
|
||||
else
|
||||
customer_account.money -= total_price
|
||||
var/datum/transaction/T = new()
|
||||
T.target_name = "Computer Manufacturer (via [src.name])"
|
||||
T.purpose = "Purchase of [(devtype == 1) ? "laptop computer" : "tablet microcomputer"]."
|
||||
T.amount = total_price
|
||||
T.source_terminal = src.name
|
||||
T.date = current_date_string
|
||||
T.time = worldtime2text()
|
||||
customer_account.transaction_log.Add(T)
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -177,6 +177,9 @@
|
||||
if(user != load)
|
||||
return 0
|
||||
|
||||
if(user.restrained())
|
||||
return 0
|
||||
|
||||
if(is_train_head())
|
||||
if(direction == reverse_direction(dir) && tow)
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user