# Need held scene and world scene

## HELD scene
- self.name = item_name (e.g. pistol_9mm)
- Add model
    -- flip if needed, most likely will
    -- name to "model"
    -- make editable
- Add raycast (standard_gun_raycast.tscn? looks right)
- Animation player for effects (muzzle flash at least)
- Muzzle flare mesh, visible = false
- Muzzle flare light, visible = false
- Sounds
    -- s_shoot_1 (can shoot everything s_shoot_*. The s_ is for standard.)
- Lazy Cache (Any effects that will be "reparented" or removed (.free())
    -- ?smoke_puff (Not needed with create_impact?)
    -- shell casing
    -- dropped mag
- Aim dot
    -- Animation player (pulsing, can replace with tween if you like)
- Create script (semi? auto? shotgun?)
    -- copy master

## WORLD scene
- self.name = "w_" + item_name (e.g. w_pistol_9mm)

- Create a script

## REGISTER
- Add to Weapons.gd under held_items

#-------------------------------------------------
# Revising after a while
#-------------------------------------------------

Making an autopistol (so full auto)
Export glb from Blender
Duplicate SMG scene and rename scene file (~autopistol_9_mm.tscn)
Rename top node (Node3D)
Duplicate and rename the script file (~autopistol_9_mm.gd)
Add glb and line up the grip with the SMG grip before deleting the SMG model
    -- Rotate it 180
    -- It's already pretty much lined up, I didn't move it. Just deleting the SMG model
    -- Ohshi- I forgot to make a change to the model (long mag)
Change the muzzleflare
Changed the sound (toyed with it in Audacity for a little while)
I deleted the shoot timer (going to try and use ticks)

[SCRIPT]
Changed hud_name
Changed fire_rate
Changed damage
Deleted func impact_control (Trying to use A.create_impact() now)
Reworking shooting code for a trigger_down.
Reworking root AnimationPlayer
    - Made a generic "shoot"
    - Checked editable children to point the root AnimationPlayer to the model's player.
    - Updated all the other animations (like "empty") to use the model's animations
I made the ticker, hopefully it works. It counts down to 0 and shoots, then resets the ticker.
Did a few other things I forgot to mark here.

[WORLD PICKUP]
Duplicate w_smg_9_mm and rename
Replace model
Make collisionshape unique and adjust
Duplicate script for w_smg_9_mm and rename

[WORLD SCRIPT]
change item_name
would change ammo_type but didn't need to
would change ammo_count but didn't need to

[OTHER NOTES]
"registering" it
- Make sure the ammo type is included in U.gd
- Add it to Weapons.gd under the registry dictionary. Format:
"weapon name": {
    "name": "weapon name"
    "slot_num": slot_num
    "scene": preload("res://path_to_scene.tscn")
    "iid": -1 # If not special. -1 I think makes sure it gets a dynamic iid
}
- I guess add it to the slot manager's ammo_inventory? idk
