mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-08 16:02:48 +00:00
Click catcher now supports mousemove/mousedrag. Basically, mouse location can now be captured even if the user isn't mousing over a visible location
Added procs to allow for projectiles to be fired with just an angle for pixel projectiles, instead of requiring a target turf and pixel x/y
Added procs to get angle of user's mouse from their viewpoint (Time to rework gang machine guns again!)
Beam rifles now have different zoom modes
Free directional zooms out and tracks the angle of your mouse from the center of the screen. However, you can't target with very good accuracy on this (Shots can't be properly aimed on non dense objects/lying down mobs.)
Locked directional zooms like free directional but doesn't automatically turn if your aim changes.
Center view, just increases your view in all directions (2x weaker)
No zoom mode, in which you just retain your normal view.
You can select beam rifle zooming rates to be instant or stepped.
Stepped zooming rates zoom out 5 tiles per second. This will likely help with people not being able to use it without lagging because their computers aren't as beefy!
Beam rifles no longer require zoom to be fired
Beam rifle aiming beams now instantly update instead of on process
Beam rifle aiming beams are now one object instead of 150. This'll help with the lag caused by it during gameplay that I've observed.
Angular penalty reduced by 0.1 for a nice even number.
Instances of client.view = have been replaced with client.change_view() as that'll properly update the click catcher
Hopefully shooting yourself in the face when you hit a blob tile or whatnot is fixed with the new and improved code..
73 lines
2.4 KiB
Plaintext
73 lines
2.4 KiB
Plaintext
|
|
/client
|
|
//////////////////////
|
|
//BLACK MAGIC THINGS//
|
|
//////////////////////
|
|
parent_type = /datum
|
|
////////////////
|
|
//ADMIN THINGS//
|
|
////////////////
|
|
var/datum/admins/holder = null
|
|
var/datum/click_intercept = null // Needs to implement InterceptClickOn(user,params,atom) proc
|
|
var/AI_Interact = 0
|
|
|
|
var/jobbancache = null //Used to cache this client's jobbans to save on DB queries
|
|
var/last_message = "" //Contains the last message sent by this client - used to protect against copy-paste spamming.
|
|
var/last_message_count = 0 //contins a number of how many times a message identical to last_message was sent.
|
|
var/ircreplyamount = 0
|
|
|
|
/////////
|
|
//OTHER//
|
|
/////////
|
|
var/datum/preferences/prefs = null
|
|
var/move_delay = 1
|
|
var/moving = null
|
|
|
|
var/area = null
|
|
|
|
///////////////
|
|
//SOUND STUFF//
|
|
///////////////
|
|
var/ambience_playing= null
|
|
var/played = 0
|
|
////////////
|
|
//SECURITY//
|
|
////////////
|
|
// comment out the line below when debugging locally to enable the options & messages menu
|
|
control_freak = 1
|
|
|
|
////////////////////////////////////
|
|
//things that require the database//
|
|
////////////////////////////////////
|
|
var/player_age = -1 //Used to determine how old the account is - in days.
|
|
var/player_join_date = null //Date that this account was first seen in the server
|
|
var/related_accounts_ip = "Requires database" //So admins know why it isn't working - Used to determine what other accounts previously logged in from this ip
|
|
var/related_accounts_cid = "Requires database" //So admins know why it isn't working - Used to determine what other accounts previously logged in from this computer id
|
|
var/account_join_date = null //Date of byond account creation in ISO 8601 format
|
|
var/account_age = -1 //Age of byond account in days
|
|
|
|
preload_rsc = PRELOAD_RSC
|
|
|
|
var/global/obj/screen/click_catcher/void
|
|
var/list/obj/screen/click_catcher/click_catcher_tiles
|
|
|
|
// Used by html_interface module.
|
|
var/hi_last_pos
|
|
|
|
var/ip_intel = "Disabled"
|
|
|
|
//datum that controls the displaying and hiding of tooltips
|
|
var/datum/tooltip/tooltips
|
|
|
|
var/lastping = 0
|
|
var/avgping = 0
|
|
var/connection_time //world.time they connected
|
|
var/connection_realtime //world.realtime they connected
|
|
var/connection_timeofday //world.timeofday they connected
|
|
|
|
var/inprefs = FALSE
|
|
var/list/topiclimiter
|
|
|
|
var/datum/chatOutput/chatOutput
|
|
|