fixes runtime with stack dna transfer

This commit is contained in:
Heroman
2022-09-04 10:35:13 +10:00
parent c9e80fbe04
commit 62c6b9c50c
+10 -7
View File
@@ -286,16 +286,16 @@
if(new_amount < 0 || new_amount % 1)
stack_trace("Tried to set a bad stack amount: [new_amount]")
return 0
// Clean up the new amount
new_amount = max(round(new_amount), 0)
// Can exceed max if you really want
if(new_amount > max_amount && !no_limits)
new_amount = max_amount
amount = new_amount
// Can set it to 0 without qdel if you really want
if(amount == 0 && !no_limits)
qdel(src)
@@ -320,7 +320,7 @@
if (isnull(tamount))
tamount = src.get_amount()
if(tamount < 0 || tamount % 1)
stack_trace("Tried to transfer a bad stack amount: [tamount]")
return 0
@@ -333,7 +333,10 @@
if (prob(transfer/orig_amount * 100))
transfer_fingerprints_to(S)
if(blood_DNA)
S.blood_DNA |= blood_DNA
if(S.blood_DNA)
S.blood_DNA |= blood_DNA
else
S.blood_DNA = blood_DNA.Copy()
return transfer
return 0
@@ -347,7 +350,7 @@
if(tamount < 0 || tamount % 1)
stack_trace("Tried to split a bad stack amount: [tamount]")
return null
var/transfer = max(min(tamount, src.amount, initial(max_amount)), 0)
var/orig_amount = src.amount