[-] Fizz@lemmy.nz -1 points 1 hour ago

lethal weapons should be in a remote lock holster in their cruiser

They are

[-] Fizz@lemmy.nz 1 points 11 hours ago

Had no idea about the events or story of the odyssey so I went in very blind. It was a great story truely epic. Loved the ending so much as I thought Odysseus was going to die. Agamemnon looked fucking cool I was very disappointed to find out the historical recreation of his amour looks like crap. The cyclops part was great. I have no idea who those big armored guys on the island were but they were cool. I will have to read the book oneday because that did not feel like it was a very accurate retelling.

[-] Fizz@lemmy.nz 5 points 19 hours ago

Yeah there is an extreme euphoria that normally happens on an LSD trip. Everything just looks beautiful and the universe feels at peace. Visuals are all over the place, everything vibrating, perspectives shifting, light fracturing, objects warping into different forms. I have only done 150ug 1 tab. 3 tabs is way above that.

The come down is miserable. Your mentally exhausted from all the brain activity but still to energised to sleep.

[-] Fizz@lemmy.nz 1 points 19 hours ago

Who would watch robots fight like this. They can't even do anything. They have no idea how to fight whoever built them has no idea how yo fight. Its like watching blind people spam moves until something lands.

[-] Fizz@lemmy.nz 5 points 19 hours ago

Its sad that over the top satire like this is shop close to what's actually happening on media shows being watched by hundreds of millions of people

[-] Fizz@lemmy.nz 3 points 19 hours ago

Its not AI writing. It reads exactly like someone casually talking. Its consice and to the point. There is no "its not x, its y"

He has been blogging dor dam near 6 years you can go read his older posts the writing is consistent.

[-] Fizz@lemmy.nz 0 points 19 hours ago

There is already no incentive to increase wages for a service worker. Its a low skilled position in an economy with 6% unemployment.

It doesnt matter if the wages increase or not because they're tied to min wage. So worst case servers will make what they currently make and best case they get a wage boost from tips. Thats why they are always in favour of adding it. Go ask a server in the us if they would like to get rid of tips and go to min wage they'll say fuck no I dont want $7 an hours I'm making 15-20$ an hour right now.

The $3 min wage you keep referencing undermines your point because it only applies when servers are making over the federal hourly min wage. Its a win/win for server and business and lose for customers.

[-] Fizz@lemmy.nz 0 points 19 hours ago

Yeah but thats no different to a normal distro. Normal distros dont just randomly require troubleshooting they are pretty stable given that regressions are caught upstream and bazzite is based off fedora stable.

The majority of linux troubleshooting is when you're trying to get something new working (like a game/software/device) and that will always be extra on non standard distros like bazzite. I would consider this changed once bazzite specific guides/scripts are commonplace.

[-] Fizz@lemmy.nz 1 points 1 day ago

Iran? I dont think they will run out they can smuggle in the supplies needed from Pakistan. All they need is the threat of sinking a ship to halt trade. Damage to US regional allies is a bonus.

The US might but they seem to be adapting to use lower cost munitions.

[-] Fizz@lemmy.nz 1 points 1 day ago

Yes i know they mean moderate dems because actual far left they like.

[-] Fizz@lemmy.nz 19 points 1 day ago

The redditification I see is where people spam 100s of the lowest quality posts across the entire site to push an agenda. Also the comments are all same because no one actually engages with the article and just post a reactionary comment to the headline. I dont know if its because the articles are so low quality there is nothing to engage with, no one cares enough to read the article or everyone is so ideologically aligned the response is the same.

[-] Fizz@lemmy.nz 9 points 1 day ago

Yes but this isnt one of them.

15
submitted 1 month ago by Fizz@lemmy.nz to c/videos@lemmy.world
15
Cats change people (www.youtube.com)
submitted 1 month ago by Fizz@lemmy.nz to c/videos@lemmy.world
13
submitted 1 month ago by Fizz@lemmy.nz to c/newzealand@lemmy.nz

I'm really not sure how to feel about this one. On one hand its great that less dogs are being put down. On the other hand people who got their dog impounded and couldnt afford $93 are taking an after pay loan to get it back. As someone who used to live in south auckland I feel like this is going to make the roaming dog problem way worse. If you're getting your dog impounded and after paying $93 then you are probably not equipped to be owning a dog.

17
Oamaru Steampunk Parade (www.youtube.com)
submitted 1 month ago by Fizz@lemmy.nz to c/newzealand@lemmy.nz
11
submitted 1 month ago by Fizz@lemmy.nz to c/videos@lemmy.world
7

I want to preface this by saying that I think I got cooked by AI here.

I have a game where I am working on a job system. The job system has a job objects which I need to put into a data structure that can be searched via id, location, or work type. At first I was building with the mindset of "do whatever to solve this problem and make it work" but it became very hard to implement new features because I would break everything. So I started trying to think ahead and design ways of doing things that would handle all the different jobs and things.

At first I put all jobs into an array and iterated through. Then I learned about dictionaries and started using them for way to many things and so i updated my job queue to be a dictionary with the Key as ID > JobObj

Then I decided to plan out the job system before writing anything and "do it properly". I decided I needed to upgrade the data structure holding jobs because its a core part of the game and will be heavily interacted with. But I realized I only know array, dictionary and database, so I asked AI what data structure I should use and it suggested a nested dictionary.

Now im using multiple dictionaries but im really hating it. Its hard for me to work with and conceptually im not sure I can visualize how its even working.

How I am thinking about it is there is multiple layers of keys, 1st layer is work types, then once I find the work type it points to a dictionary of region IDs and that points to an array of jobs in the region.

Job def is work type like Planting Region id: the map is broken down into region IDs so i dont have to check every tile and can limit seaching

#python
var job_pool: Dictionary = {}

func register(designation: DesignationObj) -> void:
	var job_def = designation.job
	var region_id = designation.region_id
	if not job_pool.has(job_def):
		job_pool[job_def] = {} 
	if not job_pool[job_def].has(region_id):
		job_pool[job_def][region_id] = []
	job_pool[job_def][region_id].append(designation)

Here is how I am picturing it in my head.

var job_pool {
	"plants": {
		"1": {
			"job1"
			"job2"
		}
		"2": {
			"job3"
		}
	}
	"mining": {
		"1": {
			"job4"
			"job5"
		}
	}
	"hunting": {
		"5":{
			"job12"
		}
	}
}

But now I want to add ID look up into this im stuck and im thinking the entire structure does not work for what it needs to do.

113
Arctic Lemming (thelemmy.club)
submitted 1 month ago by Fizz@lemmy.nz to c/taneggs@lemmy.ca

Photo taken by Dorothee Ehrich

20
submitted 2 months ago by Fizz@lemmy.nz to c/godot@programming.dev

I am working on the input and it feels like its getting out of hand. I wanted to check in with people and see how people structure their input handling.

Currently I have 1 function _unhandled_unput(event) and inside there I have a ton of elif statements trying to handle every possible situation and event. Its manageable at the moment but I only have like 4 events so its going to get very out of hand if I continue.

I need to have 100s of these events based on whats selected and what mouse/keyboard buttons are being pressed and I need some way to resuse the actions.

spoiler

func _unhandled_input(event):
	if event is InputEventMouseButton and event.pressed:
		if event.button_index == MOUSE_BUTTON_RIGHT:
			clear_selection()
			gui.queue_redraw()
			get_viewport().set_input_as_handled()
			return
	if selected_item == "colonist": #broken
		if event is InputEventKey:
			if event.OS.get_keycode_string() == "r":
				for colonist in selected_group:
					colonist.set_state("DRAFT")
					get_viewport().set_input_as_handled()
					gui.queue_redraw()
	#nothing selected dragbox to select things and single click to select things - does not work at the moment
	elif selected_type == "" or selected_type == "basic":
		if is_dragging and event is InputEventMouseMotion:
				drag_end = camera.get_global_mouse_position()
				cam_drag_end= get_viewport().get_mouse_position()
				get_selection(drag_start, drag_end)
				gui.queue_redraw()
				get_viewport().set_input_as_handled()
				return
		elif event is InputEventMouseButton and not event.pressed:
			is_dragging = false
			gui.queue_redraw()
			drag_start = null
			drag_end = null
			get_viewport().set_input_as_handled()
			return
		elif event is InputEventMouseButton and event.pressed:
			if event.button_index == MOUSE_BUTTON_LEFT:
				selected_type = "basic"
				is_dragging = true
				drag_start = camera.get_global_mouse_position()
				cam_drag_start = get_viewport().get_mouse_position()
				gui.queue_redraw()
				get_viewport().set_input_as_handled()
				return
	#command flow for dragging a selection box
	elif selected_type == "command":
		if selected_item == "structure_dict_growing":
			if is_dragging and event is InputEventMouseMotion:
				var grid_pos = tilemap.local_to_map(camera.get_global_mouse_position())
				var local_pos = tilemap.map_to_local(grid_pos)
				drag_end = local_pos + Vector2(32, 32)
				cam_drag_end = get_viewport().get_mouse_position()
				gui.queue_redraw()
				get_viewport().set_input_as_handled()
				return
			elif event is InputEventMouseButton and not event.pressed:
				if event.button_index == MOUSE_BUTTON_LEFT:
					is_dragging = false
					gui.queue_redraw()
					get_viewport().set_input_as_handled()
					MessageBus.rpc_id(1, "request_zone_growing", selected_item ,drag_start, drag_end, multiplayer.get_unique_id())
					drag_start = null
					drag_end = null
					return
			elif event is InputEventMouseButton and event.pressed:
				if event.button_index == MOUSE_BUTTON_LEFT:
					is_dragging = true
					#to snap to grid
					var grid_pos = tilemap.local_to_map(camera.get_global_mouse_position())
					var local_pos = tilemap.map_to_local(grid_pos)
					drag_start = local_pos - Vector2(32, 32)
					cam_drag_start = get_viewport().get_mouse_position() #this is broken cbf fixing maybe one day after selection is working 
					gui.queue_redraw()
					get_viewport().set_input_as_handled()
					return
	elif selected_type == "floor":
		if event is InputEventMouseButton and event.pressed:
			if event.button_index == MOUSE_BUTTON_LEFT:
				var global_mouse_pos = camera.get_global_mouse_position()
				var grid_pos = tilemap.local_to_map(global_mouse_pos)
				if selected_item == "":
					return
				MessageBus.rpc_id(1, "request_build_floor", selected_item, grid_pos, multiplayer.get_unique_id())
				get_viewport().set_input_as_handled()
				return
	elif selected_type == "building":
		if event is InputEventMouseButton and event.pressed:
			if event.button_index == MOUSE_BUTTON_LEFT:
				var global_mouse_pos = camera.get_global_mouse_position()
				var grid_pos = tilemap.local_to_map(global_mouse_pos)
				if selected_item == "":
					return
				MessageBus.rpc_id(1, "request_build_structure", selected_item, grid_pos, multiplayer.get_unique_id())
				get_viewport().set_input_as_handled()
				return

16
submitted 2 months ago by Fizz@lemmy.nz to c/videos@lemmy.world
7
submitted 2 months ago by Fizz@lemmy.nz to c/mapswithoutnz@lemmy.nz
22
submitted 2 months ago* (last edited 2 months ago) by Fizz@lemmy.nz to c/godot@programming.dev

Edit: ah i was reading an old doc because the reddit comment I saw was 6 years old. The property is get_property_list()

I have a script that is a global it contains a bunch of dictionaries that describe items. I need a way to get a list of the different types.

Searching for solutions I found https://docs.godotengine.org/en/3.2/classes/class_script.html#class-script-method-get-script-property-list

but I cant seem to get it working. Godot says "Function "get_script_property_list()" not found in base self"

Example of the what im trying to get a list of

var tile_dict_grass = {
	"name": "grass",
	"source": 1,
	"atlas": Vector2i(1,0),
	"move_speed": 0.80,
	"path_cost": 2,
	"fertility": 1,
	"cleanliness": 1.5,
	"flammability": 0.60,
	"build_categories": "all",
	"solid": false
}
var tile_dict_rich_soil = {
	"name": "rich soil",
	"source": 1,
	"atlas": Vector2i(1,0),
	"move_speed": 0.80,
	"path_cost": 2,
	"fertility": 1.4,
	"cleanliness": -1.0,
	"flammability": 0.0,
	"build_categories": "all",
	"solid": false
}

How im trying to get it.

func get_tile_dict():
	var property_list = self.get_script_property_list()
	var tile_list = []
	for attr in dir(self):
		if attr.startswith('tile_dict'):
			value = getattr(self, attr)
			tile_list.append(value)
	return tile_list
31
submitted 3 months ago by Fizz@lemmy.nz to c/godot@programming.dev

I have a characterbody2d and I want to display the equipment being worn. So this equipment would need to be swapped around during game play.

I currently am using several sprites layered. How is best to handle this situation?

view more: next ›

Fizz

0 post score
0 comment score
joined 3 years ago
MODERATOR OF