Overcomplicates things
This commit is contained in:
@@ -48,6 +48,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
var/uses_glasses_colour = 0
|
||||
|
||||
var/screenshake = 1
|
||||
var/damagescreenshake = 2
|
||||
|
||||
//character preferences
|
||||
var/real_name //our character's name
|
||||
@@ -366,7 +367,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
|
||||
dat += "</a><br>"
|
||||
|
||||
dat += "<b>Screen shake:</b> <a href='?_src_=prefs;preference=screenshake'>[(screenshake) ? "Full" : ((!screenshake) ? "None" : "Reduced")]</a><br>"
|
||||
dat += "<b>Screen Shake:</b> <a href='?_src_=prefs;preference=screenshake'>[(screenshake==1) ? "Full" : ((screenshake==0) ? "None" : "Reduced")]</a><br>"
|
||||
|
||||
dat += "<b>Damage Screen Shake:</b> <a href='?_src_=prefs;preference=damagescreenshake'>[(damagescreenshake==1) ? "On" : ((damagescreenshake==0) ? "Off" : "Only when down")]</a><br>"
|
||||
|
||||
dat += "</td><td width='300px' height='300px' valign='top'>"
|
||||
|
||||
@@ -1501,6 +1504,16 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
screenshake = 0
|
||||
else
|
||||
screenshake = 1
|
||||
if("damagescreenshake")
|
||||
switch(damagescreenshake)
|
||||
if(0)
|
||||
damagescreenshake = 1
|
||||
if(1)
|
||||
damagescreenshake = 2
|
||||
if(2)
|
||||
damagescreenshake = 0
|
||||
else
|
||||
damagescreenshake = 1
|
||||
|
||||
if("publicity")
|
||||
if(unlock_content)
|
||||
|
||||
@@ -191,6 +191,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
//citadel code
|
||||
S["arousable"] >> arousable
|
||||
S["screenshake"] >> screenshake
|
||||
S["damagescreenshake"] >> damagescreenshake
|
||||
|
||||
//try to fix any outdated data if necessary
|
||||
if(needs_update >= 0)
|
||||
@@ -216,6 +217,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
menuoptions = SANITIZE_LIST(menuoptions)
|
||||
be_special = SANITIZE_LIST(be_special)
|
||||
screenshake = sanitize_integer(screenshake, 0, 2, initial(screenshake))
|
||||
damagescreenshake = sanitize_integer(damagescreenshake, 0, 2, initial(damagescreenshake))
|
||||
|
||||
|
||||
return 1
|
||||
@@ -259,6 +261,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
//citadel code
|
||||
S["arousable"] << arousable
|
||||
WRITE_FILE(S["screenshake"], screenshake)
|
||||
WRITE_FILE(S["damagescreenshake"], damagescreenshake)
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
//we vlambeer now
|
||||
|
||||
/shake_camera(mob/M, duration, strength=1)//byond's wonky with this shit
|
||||
/obj/proc/shake_camera(mob/M, duration, strength=1)//byond's wonky with this shit
|
||||
if(!M || !M.client || duration <= 0)
|
||||
return
|
||||
var/client/C = M.client
|
||||
switch(C.prefs.screenshake)
|
||||
if(0)//possible todo: implement a reduced screenshake setting that cuts screenshake to a quarter of its normal amount? this works perfectly for now, though.
|
||||
return
|
||||
if(2)
|
||||
duration = duration*0.25
|
||||
if (C.prefs.screenshake==0)
|
||||
return
|
||||
var/oldx = C.pixel_x
|
||||
var/oldy = C.pixel_y
|
||||
var/max = strength*world.icon_size
|
||||
var/min = -(strength*world.icon_size)
|
||||
var/max = ((C.prefs.screenshake==1) ? strength : strength*0.25) *world.icon_size
|
||||
var/min = -(((C.prefs.screenshake==1) ? strength : strength*0.25)*world.icon_size)
|
||||
|
||||
for(var/i in 0 to duration-1)
|
||||
if (i == 0)
|
||||
@@ -57,7 +54,12 @@
|
||||
. = ..()
|
||||
if(force && force >=11)
|
||||
shake_camera(user, ((force - 10) * 0.01 + 1), ((force - 10) * 0.01))
|
||||
shake_camera(M, ((force - 10) * 0.015 + 1), ((force - 10) * 0.015))
|
||||
if(M.client.prefs)
|
||||
switch (M.client.prefs.damagescreenshake)
|
||||
if (1)
|
||||
shake_camera(M, ((force - 10) * 0.015 + 1), ((force - 10) * 0.015))
|
||||
if (2)//setting is "only when down." check for knockdown status before applying this.
|
||||
shake_camera(M, ((force - 10) * 0.015 + 1), ((force - 10) * 0.015))
|
||||
|
||||
/obj/item/attack_obj(obj/O, mob/living/user)
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user