mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Changelog, mommi fixes.
This commit is contained in:
@@ -202,7 +202,7 @@ var/global/list/autolathe_recipes_hidden = list( \
|
|||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
var/mob/living/silicon/robot/mommi/M = user
|
var/mob/living/silicon/robot/mommi/M = user
|
||||||
if(M.is_in_modules(O))
|
if(M.is_in_modules(O,permit_sheets=1))
|
||||||
user << "\red You can't put something built into you in [src]."
|
user << "\red You can't put something built into you in [src]."
|
||||||
return 1
|
return 1
|
||||||
if (src.m_amount + O.m_amt > max_m_amount)
|
if (src.m_amount + O.m_amt > max_m_amount)
|
||||||
@@ -267,7 +267,7 @@ var/global/list/autolathe_recipes_hidden = list( \
|
|||||||
if (!busy)
|
if (!busy)
|
||||||
if(href_list["make"])
|
if(href_list["make"])
|
||||||
var/turf/T = get_step(src.loc, get_dir(src,usr))
|
var/turf/T = get_step(src.loc, get_dir(src,usr))
|
||||||
|
|
||||||
// critical exploit fix start -walter0o
|
// critical exploit fix start -walter0o
|
||||||
var/obj/item/template = null
|
var/obj/item/template = null
|
||||||
var/attempting_to_build = locate(href_list["make"])
|
var/attempting_to_build = locate(href_list["make"])
|
||||||
@@ -279,25 +279,25 @@ var/global/list/autolathe_recipes_hidden = list( \
|
|||||||
template = attempting_to_build
|
template = attempting_to_build
|
||||||
|
|
||||||
else // somebody is trying to exploit, alert admins -walter0o
|
else // somebody is trying to exploit, alert admins -walter0o
|
||||||
|
|
||||||
var/turf/LOC = get_turf(usr)
|
var/turf/LOC = get_turf(usr)
|
||||||
message_admins("[key_name_admin(usr)] tried to exploit an autolathe to duplicate <a href='?_src_=vars;Vars=\ref[attempting_to_build]'>[attempting_to_build]</a> ! ([LOC ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[LOC.x];Y=[LOC.y];Z=[LOC.z]'>JMP</a>" : "null"])", 0)
|
message_admins("[key_name_admin(usr)] tried to exploit an autolathe to duplicate <a href='?_src_=vars;Vars=\ref[attempting_to_build]'>[attempting_to_build]</a> ! ([LOC ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[LOC.x];Y=[LOC.y];Z=[LOC.z]'>JMP</a>" : "null"])", 0)
|
||||||
log_admin("EXPLOIT : [key_name(usr)] tried to exploit an autolathe to duplicate [attempting_to_build] !")
|
log_admin("EXPLOIT : [key_name(usr)] tried to exploit an autolathe to duplicate [attempting_to_build] !")
|
||||||
return
|
return
|
||||||
|
|
||||||
// now check for legit multiplier, also only stacks should pass with one to prevent raw-materials-manipulation -walter0o
|
// now check for legit multiplier, also only stacks should pass with one to prevent raw-materials-manipulation -walter0o
|
||||||
|
|
||||||
var/multiplier = text2num(href_list["multiplier"])
|
var/multiplier = text2num(href_list["multiplier"])
|
||||||
|
|
||||||
if (!multiplier) multiplier = 1
|
if (!multiplier) multiplier = 1
|
||||||
var/max_multiplier = 1
|
var/max_multiplier = 1
|
||||||
|
|
||||||
if(istype(template, /obj/item/stack)) // stacks are the only items which can have a multiplier higher than 1 -walter0o
|
if(istype(template, /obj/item/stack)) // stacks are the only items which can have a multiplier higher than 1 -walter0o
|
||||||
var/obj/item/stack/S = template
|
var/obj/item/stack/S = template
|
||||||
max_multiplier = min(S.max_amount, S.m_amt?round(m_amount/S.m_amt):INFINITY, S.g_amt?round(g_amount/S.g_amt):INFINITY) // pasta from regular_win() to make sure the numbers match -walter0o
|
max_multiplier = min(S.max_amount, S.m_amt?round(m_amount/S.m_amt):INFINITY, S.g_amt?round(g_amount/S.g_amt):INFINITY) // pasta from regular_win() to make sure the numbers match -walter0o
|
||||||
|
|
||||||
if( (multiplier > max_multiplier) || (multiplier <= 0) ) // somebody is trying to exploit, alert admins-walter0o
|
if( (multiplier > max_multiplier) || (multiplier <= 0) ) // somebody is trying to exploit, alert admins-walter0o
|
||||||
|
|
||||||
var/turf/LOC = get_turf(usr)
|
var/turf/LOC = get_turf(usr)
|
||||||
message_admins("[key_name_admin(usr)] tried to exploit an autolathe with multiplier set to <u>[multiplier]</u> on <u>[template]</u> ! ([LOC ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[LOC.x];Y=[LOC.y];Z=[LOC.z]'>JMP</a>" : "null"])" , 0)
|
message_admins("[key_name_admin(usr)] tried to exploit an autolathe with multiplier set to <u>[multiplier]</u> on <u>[template]</u> ! ([LOC ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[LOC.x];Y=[LOC.y];Z=[LOC.z]'>JMP</a>" : "null"])" , 0)
|
||||||
log_admin("EXPLOIT : [key_name(usr)] tried to exploit an autolathe with multiplier set to [multiplier] on [template] !")
|
log_admin("EXPLOIT : [key_name(usr)] tried to exploit an autolathe with multiplier set to [multiplier] on [template] !")
|
||||||
|
|||||||
@@ -5,14 +5,14 @@
|
|||||||
/mob/living/silicon/robot/mommi/get_active_hand()
|
/mob/living/silicon/robot/mommi/get_active_hand()
|
||||||
return module_active
|
return module_active
|
||||||
|
|
||||||
/mob/living/silicon/robot/mommi/proc/is_in_modules(obj/item/W)
|
/mob/living/silicon/robot/mommi/proc/is_in_modules(obj/item/W, var/permit_sheets=0)
|
||||||
if(istype(W, src.module.emag.type))
|
if(istype(W, src.module.emag.type))
|
||||||
return src.module.emag
|
return src.module.emag
|
||||||
// Exact matching for stacks (so we can load machines)
|
// Exact matching for stacks (so we can load machines)
|
||||||
if(istype(W, /obj/item/stack/sheet))
|
if(istype(W, /obj/item/stack/sheet))
|
||||||
for(var/obj/item/stack/sheet/S in src.module.modules)
|
for(var/obj/item/stack/sheet/S in src.module.modules)
|
||||||
if(S.type==W.type)
|
if(S.type==W.type)
|
||||||
return S
|
return permit_sheets ? 0 : S
|
||||||
else
|
else
|
||||||
return locate(W) in src.module.modules
|
return locate(W) in src.module.modules
|
||||||
|
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ Note: Must be placed within 3 tiles of the R&D Console
|
|||||||
if(isrobot(user)) //Don't put your module items in there!
|
if(isrobot(user)) //Don't put your module items in there!
|
||||||
if(isMoMMI(user))
|
if(isMoMMI(user))
|
||||||
var/mob/living/silicon/robot/mommi/mommi = user
|
var/mob/living/silicon/robot/mommi/mommi = user
|
||||||
if(mommi.is_in_modules(O))
|
if(mommi.is_in_modules(O,permit_sheets=1))
|
||||||
user << "\red You cannot insert something that is part of you."
|
user << "\red You cannot insert something that is part of you."
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -75,6 +75,14 @@
|
|||||||
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
|
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
|
||||||
<!-- Suggestion: Group changes not merged into master into a single [IN DEVELOPMENT] block, then change the date to today before merging. Makes the changes from the last release a bit easier to comprehend. -->
|
<!-- Suggestion: Group changes not merged into master into a single [IN DEVELOPMENT] block, then change the date to today before merging. Makes the changes from the last release a bit easier to comprehend. -->
|
||||||
|
|
||||||
|
<div class="commit sansserif">
|
||||||
|
<h2 class="date">2014.05.24</h2>
|
||||||
|
<h3 class="author">N3X15 updated:</h3>
|
||||||
|
<ul class="changes bgimages16">
|
||||||
|
<li class="bugfix">Vox Heist objective fixes and tweaks.</li>
|
||||||
|
<li class="tweak">MoMMIs can insert metal and glass into autolathes and circuit imprinters.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
<div class="commit sansserif">
|
<div class="commit sansserif">
|
||||||
<h2 class="date">2014.05.22</h2>
|
<h2 class="date">2014.05.22</h2>
|
||||||
<h3 class="author">Kokuten updated:</h3>
|
<h3 class="author">Kokuten updated:</h3>
|
||||||
|
|||||||
Reference in New Issue
Block a user