require("prototype/particle") require("prototype/projectile") require("prototype/exp_anim") require("prototype/tech") require("prototype/minecraft") --------------------------------------------------------------------------------------------------------------------- local shotgun_sound = { variations = { { filename = "__gore__/sound/weapons/Cshotgun-1.ogg", volume = 0.64 }, { filename = "__gore__/sound/weapons/Cshotgun-2.ogg", volume = 0.62 }, { filename = "__gore__/sound/weapons/Cshotgun-3.ogg", volume = 0.64 }, { filename = "__gore__/sound/weapons/Cshotgun-4.ogg", volume = 0.63 }, { filename = "__gore__/sound/weapons/Cshotgun-5.ogg", volume = 0.64 }, { filename = "__gore__/sound/weapons/Cshotgun-6.ogg", volume = 0.64 }, { filename = "__gore__/sound/weapons/Cshotgun-7.ogg", volume = 0.62 }, { filename = "__gore__/sound/weapons/Cshotgun-8.ogg", volume = 0.62 }, { filename = "__gore__/sound/weapons/Cshotgun-9.ogg", volume = 0.63 }, { filename = "__gore__/sound/weapons/Cshotgun-10.ogg", volume = 0.62 } }, aggregation = { max_count = 3, remove = true, count_already_playing = false } } local plasma_rifle_sound = { variations = { { filename = "__gore__/sound/weapons/plasma-rifle-1.ogg", volume = 0.37}, { filename = "__gore__/sound/weapons/plasma-rifle-2.ogg", volume = 0.36}, { filename = "__gore__/sound/weapons/plasma-rifle-3.ogg", volume = 0.38} }, aggregation = { max_count = 3, remove = true, count_already_playing = false } } local radio_blaster_sound = { variations = { { filename = "__gore__/sound/weapons/blaster-1.ogg", volume = 0.5}, { filename = "__gore__/sound/weapons/blaster-2.ogg", volume = 0.5}, { filename = "__gore__/sound/weapons/blaster-3.ogg", volume = 0.5} }, aggregation = { max_count = 2, remove = true, count_already_playing = false } } local grenade_launcher_sound = { variations = { { filename = "__gore__/sound/weapons/grenfire-1.ogg", volume = 0.45}, { filename = "__gore__/sound/weapons/grenfire-2.ogg", volume = 0.45}, { filename = "__gore__/sound/weapons/grenfire-3.ogg", volume = 0.45} }, aggregation = { max_count = 3, remove = true } } local assault_rifle_sound = { variations = { { filename = "__gore__/sound/weapons/rifle-1.ogg", volume = 0.42}, { filename = "__gore__/sound/weapons/rifle-2.ogg", volume = 0.42}, { filename = "__gore__/sound/weapons/rifle-3.ogg", volume = 0.42}, { filename = "__gore__/sound/weapons/rifle-4.ogg", volume = 0.42}, { filename = "__gore__/sound/weapons/rifle-5.ogg", volume = 0.42}, { filename = "__gore__/sound/weapons/rifle-6.ogg", volume = 0.42} }, aggregation = { max_count = 9, remove = true, count_already_playing = false } } local railgun_sound = { variations = { { filename = "__gore__/sound/weapons/railgun-1.ogg", volume = 0.59}, { filename = "__gore__/sound/weapons/railgun-2.ogg", volume = 0.56}, { filename = "__gore__/sound/weapons/railgun-3.ogg", volume = 0.58}, { filename = "__gore__/sound/weapons/railgun-4.ogg", volume = 0.56}, { filename = "__gore__/sound/weapons/railgun-5.ogg", volume = 0.57}, { filename = "__gore__/sound/weapons/railgun-6.ogg", volume = 0.56}, { filename = "__gore__/sound/weapons/railgun-7.ogg", volume = 0.59} }, aggregation = { max_count = 6, remove = true, count_already_playing = false } } -------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------- data.raw["ammo-category"]["plasma-rounds"] = { bonus_gui_order = "k", type = "ammo-category", name = "plasma-rounds" } data.raw["ammo-category"]["radioactive-rounds"] = { bonus_gui_order = "k1", type = "ammo-category", name = "radioactive-rounds" } data.raw["ammo-category"]["firefly-chamber"] = { bonus_gui_order = "k2", type = "ammo-category", name = "firefly-chamber" } data.raw["ammo-category"]["heat-capsule"] = { bonus_gui_order = "k3", type = "ammo-category", name = "heat-capsule" } data.raw["ammo-category"]["rifle-mag"] = { bonus_gui_order = "k3", type = "ammo-category", name = "rifle-mag" } data.raw["ammo-category"]["rail-slug"] = { bonus_gui_order = "k4", type = "ammo-category", name = "rail-slug" } ------------------------------------------------------------------------------------------------------------------------ --------------------------------------------- 616 ITEMS ------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------ data:extend( { ------------------------------------------------------------------------------- { type = "gun", name = "railgun", icon = "__gore__/graphics/weapons/icons/rail128.png", icon_size = 128, icon_mipmaps = 4, subgroup = "gun", order = "c4[rail]", attack_parameters = { type = "projectile", ammo_category = "rail-slug", cooldown = 60, movement_slow_down_factor = 0.55, projectile_creation_distance = 0.9, fire_penalty = 0, range = 69, sound = railgun_sound }, stack_size = 10 }, { type = "gun", name = "death-ray", localised_description = "[color=255 125 10 255]Fires a scorching photon beam that incinerate anything standing within its path.[/color]", icon = "__gore__/graphics/weapons/icons/thermal128.png", icon_size = 128, icon_mipmaps = 1, subgroup = "gun", order = "c3[thermal-lance]", attack_parameters = { type = "beam", range = 50, cooldown = 1, ammo_category = "heat-capsule", cooldown = 3, movement_slow_down_factor = 0.15, source_offset = {0.5, 0}, fire_penalty = 0, range = 60, cyclic_sound = { begin_sound = {{ filename = "__gore__/sound/weapons/deathray-start.ogg", volume = 0.8 }}, middle_sound = {{ filename = "__gore__/sound/weapons/deathray-mid.ogg", volume = 0.8 }}, end_sound = {{ filename = "__gore__/sound/weapons/deathray-end.ogg", volume = 0.8 }} } }, stack_size = 1 }, ------------------------------------------------------------------------------- { type = "gun", name = "plasma-rifle", icon = "__gore__/graphics/weapons/icons/plasma128.png", icon_size = 128, icon_mipmaps = 1, subgroup = "gun", order = "c3[plasma-rifle]", attack_parameters = { type = "projectile", ammo_category = "plasma-rounds", cooldown = 21, movement_slow_down_factor = 0.1, projectile_creation_distance = 1.3, fire_penalty = 0, range = 30, sound = plasma_rifle_sound }, stack_size = 1 }, -------------------------------------------------------------------------------- { type = "gun", name = "assault-rifle", localised_description = "Gas-operated assault rifle. Low firing rate but high-velocity projectile", icon = "__gore__/graphics/weapons/icons/assault128.png", icon_size = 128, icon_mipmaps = 1, subgroup = "gun", order = "b11[assault-rifle]", attack_parameters = { type = "projectile", ammo_category = "rifle-mag", cooldown = 12, movement_slow_down_factor = 0.1, projectile_creation_distance = 1.3, fire_penalty = 0, range = 60, sound = assault_rifle_sound }, stack_size = 1 }, -------------------------------------------------------------------------------- { type = "gun", name = "grenade-launcher", localised_name = "Grenade Launcher", icon = "__gore__/graphics/weapons/icons/grenade-launcher.png", icon_size = 64, icon_mipmaps = 1, subgroup = "gun", order = "c1[grenade-launcher]", attack_parameters = { type = "projectile", ammo_category = "grenade", cooldown = 30, movement_slow_down_factor = 0.1, projectile_creation_distance = 1, fire_penalty = 0, range = 60, sound = grenade_launcher_sound }, stack_size = 1 }, ---------------------------------------------------------------------------------- { type = "gun", name = "radio-blaster", icon = "__gore__/graphics/weapons/icons/radio128.png", icon_size = 128, icon_mipmaps = 1, subgroup = "gun", order = "c3[plasma-rifle]", attack_parameters = { type = "projectile", ammo_category = "radioactive-rounds", cooldown = 42, movement_slow_down_factor = 0.1, projectile_creation_distance = 1.2, fire_penalty = 1, range = 60, sound = radio_blaster_sound }, stack_size = 1 }, ----------------------------------------------------------------------------- { type = "gun", name = "swarm-blaster", localised_description = "[color=255 100 10 255]Unleashes the swarm of fireflies upon your enemy[/color]", icon = "__gore__/graphics/weapons/icons/swarm128.png", icon_size = 128, icon_mipmaps = 4, subgroup = "gun", order = "c3[firefly-chamber]", attack_parameters = { type = "projectile", ammo_category = "firefly-chamber", cooldown = 5, movement_slow_down_factor = 0.36, projectile_creation_distance = 1.4, fire_penalty = 0, range = 60, cyclic_sound = { begin_sound = {{ filename = "__gore__/sound/weapons/fire-start.ogg", volume = 0.6 }}, middle_sound = {{ filename = "__gore__/sound/weapons/fire-mid.ogg", volume = 0.6 }}, end_sound = {{ filename = "__gore__/sound/weapons/fire-end.ogg", volume = 0.5 }} } }, stack_size = 1 }, ---------------------------------------------------------------------------------- { type = "capsule", name = "plasma-grenade", description = "grenade", icon = "__gore__/graphics/weapons/icons/plasma-grenade.png", icon_size = 64, icon_mipmaps = 1, pictures = { layers = { { size = 64, filename = "__gore__/graphics/weapons/icons/plasma-grenade.png", scale = 0.25, mipmap_count = 1 }, { draw_as_light = true, flags = {"light"}, size = 64, filename = "__gore__/graphics/weapons/icons/plasma-grenade-light.png", scale = 0.25, mipmap_count = 1 } } }, capsule_action = { type = "throw", attack_parameters = { type = "projectile", activation_type = "throw", ammo_category = "grenade", cooldown = 42, projectile_creation_distance = 0.6, range = 25, ammo_type = { category = "grenade", target_type = "position", action = { type = "direct", action_delivery = { type = "projectile", projectile = "plasma-grenade", starting_speed = 0.42 } } } } }, subgroup = "capsule", order = "b12[plasma-grenade]", stack_size = 100 }, -------------------------------------------------------------------- { type = "gun", name = "proto-shotgun", localised_description = "High-powered long range automatic shotgun", icon = "__gore__/graphics/weapons/icons/chrome-shot.png", icon_size = 64, icon_mipmaps = 1, subgroup = "gun", order = "c4[chrome-shot]", attack_parameters = { type = "projectile", ammo_category = "shotgun-shell", cooldown = 25, movement_slow_down_factor = 0.1, projectile_creation_distance = 1.3, fire_penalty = 0, range = 36, sound = shotgun_sound }, stack_size = 1 }, ---------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------- AMMUNITIONS 556 -------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------- { type = "ammo", name = "rail-slug", localised_description = "Ammunition for the Railgun", icon = "__gore__/graphics/weapons/icons/slug128.png", icon_size = 128, icon_mipmaps = 4, ammo_type = { category = "rail-slug", target_type = "position", clamp_position = true, action = { type = "line", range = 69, width = 2, range_effects = { { type = "create-explosion", entity_name = "rail-beam" }, { type = "create-explosion", entity_name = "plasma-muzzle", probability = 1 } }, action_delivery = { { type = "instant", source_effects = { type = "create-explosion", entity_name = "plasma-muzzle", probability = 1 } }, { type = "instant", target_effects = { { type = "damage", damage = { amount = 300, type="physical"} }, { type = "damage", damage = { amount = 300, type="electric"} }, { type = "create-explosion", entity_name = "blue-arc-small", repeat_count = 3, repeat_count_deviation = 2, offset_deviation = {{-1.5, -1.5}, {1.5, 1.5}} }, { type = "create-explosion", entity_name = "plasma-impact", probability = 1 }, { type = "create-sticker", sticker = "stasis", probability = 1, show_in_tooltip = false } } } } } }, magazine_size = 1, subgroup = "ammo", order = "c[rail-slug]", stack_size = 200 }, { type = "ammo", name = "radio-shells", description = "shotgun-shell", icon = "__gore__/graphics/weapons/icons/radio-shells.png", icon_size = 64, icon_mipmaps = 4, ammo_type = { category = "shotgun-shell", target_type = "direction", clamp_position = true, action = { { type = "direct", action_delivery = { { type = "instant", source_effects = { type = "create-explosion", entity_name = "radio-impact" } } } }, { type = "direct", repeat_count = 12, action_delivery = { { type = "projectile", projectile = "radio-pellet", starting_speed = 0.85, direction_deviation = 0.5, range_deviation = 0.5, max_range = 36, } } } } }, magazine_size = 12, subgroup = "ammo", order = "c1[shotgun-radio]", stack_size = 100 }, ---------------------------------------------------------------------------------- { type = "ammo", name = "contact-gren", localised_name = "Contact Grenade", localised_description = "High explosive grenade", icon = "__gore__/graphics/weapons/icons/cgren.png", icon_size = 64, icon_mipmaps = 1, ammo_type = { category = "grenade", target_type = "position", clamp_position = true, action = { { type = "direct", action_delivery = { { type = "instant", source_effects = { type = "create-explosion", entity_name = "muzzleflash" } } } }, { type = "direct", action_delivery = { { type = "projectile", projectile = "contact-gren-proj", starting_speed = 0.8, direction_deviation = 0.1, max_range = 60, } } } } }, magazine_size = 1, subgroup = "ammo", order = "d20[tc-gren]", stack_size = 150 }, ------------------------------------------------------------------------ { type = "ammo", name = "plasma-rounds", description = "plasma-rounds", icon = "__gore__/graphics/weapons/icons/plasma-rounds.png", icon_size = 64, icon_mipmaps = 4, ammo_type = { category = "plasma-rounds", target_type = "position", clamp_position = true, action = { { type = "direct", action_delivery = { { type = "instant", source_effects = { type = "create-explosion", entity_name = "plasma-muzzle" } } } }, { type = "direct", action_delivery = { { type = "projectile", projectile = "plasma-projectile", starting_speed = 1.3, direction_deviation = 0.15, range_deviation = 0.3, max_range = 42, } } } } }, magazine_size = 12, subgroup = "ammo", order = "c[plasma-rounds]", stack_size = 150 }, ---------------------------------------------------------------- { type = "ammo", name = "firefly-chamber", localised_description = "Where the fireflies are kept.", description = "firefly-chamber", icon = "__gore__/graphics/weapons/icons/firefly-chamber.png", icon_size = 64, icon_mipmaps = 4, ammo_type = { category = "firefly-chamber", target_type = "position", clamp_position = true, action = { { type = "direct", action_delivery = { { type = "instant", source_effects = { type = "create-explosion", entity_name = "muzzleflash", probability = 0.75 } } } }, { type = "direct", repeat_count = 3, action_delivery = { { type = "projectile", projectile = "firefly", starting_speed = 1, direction_deviation = 0.6, range_deviation = 0.42, max_range = 60, } } } } }, magazine_size = 36, subgroup = "ammo", order = "c12[firefly-chamber]", stack_size = 100 }, ---------------------------------------------------------------- { type = "ammo", name = "rifle-mag", localised_name = "Rifle Magazine", localised_description = "Used by the Assault Rifle. [color=255 120 1 255]High-speed projectile with penetrating ability.[/color]", icon = "__gore__/graphics/weapons/icons/rifle-mag.png", icon_size = 64, icon_mipmaps = 4, ammo_type = { category = "rifle-mag", target_type = "position", clamp_position = true, action = { { type = "direct", action_delivery = { { type = "instant", source_effects = { type = "create-explosion", entity_name = "muzzleflash" } } } }, { type = "direct", action_delivery = { { type = "projectile", projectile = "rifle-bullet", starting_speed = 2, direction_deviation = 0.2, range_deviation = 0.3, max_range = 60, } } } } }, magazine_size = 30, subgroup = "ammo", order = "c12[rifle-mag]", stack_size = 300 }, ---------------------------------------------------------------- { type = "ammo", name = "rifle-exp-mag", localised_name = "Explosive Rifle Magazine", localised_description = "Used by the Assault Rifle. [color=255 120 1 255]Explosive high-speed projectile with penetrating ability.[/color]", icon = "__gore__/graphics/weapons/icons/rifle-exp-mag.png", icon_size = 64, icon_mipmaps = 4, ammo_type = { category = "rifle-mag", target_type = "position", clamp_position = true, action = { { type = "direct", action_delivery = { { type = "instant", source_effects = { type = "create-explosion", entity_name = "muzzleflash" } } } }, { type = "direct", action_delivery = { { type = "projectile", projectile = "rifle-exp-bullet", starting_speed = 2, direction_deviation = 0.2, range_deviation = 0.3, max_range = 60, } } } } }, magazine_size = 30, subgroup = "ammo", order = "c12[rifle-mag-exp]", stack_size = 300 }, -------------------------------------------------------------- { type = "ammo", name = "heat-capsule", description = "heat-capsule", icon = "__gore__/graphics/weapons/icons/heat-capsule.png", icon_size = 64, icon_mipmaps = 4, ammo_type = { category = "heat-capsule", target_type = "position", clamp_position = true, action = { { type = "direct", action_delivery = { type = "beam", beam = "death-ray", max_length = 45, duration = 4, source_offset = {-0, -0.9} } }, { type = "direct", action_delivery = { type = "projectile", projectile = "invis-cunt", starting_speed = 2, direction_deviation = 0, range_deviation = 0, max_range = 45, } } } }, magazine_size = 69, subgroup = "ammo", order = "c12[firefly-chamber]", stack_size = 180 }, -------------------------------------------------------------- { type = "ammo", name = "radio-rounds", description = "radio-rounds", icon = "__gore__/graphics/weapons/icons/radio-rounds.png", icon_size = 64, icon_mipmaps = 4, ammo_type = { category = "radioactive-rounds", target_type = "position", clamp_position = true, action = { { type = "direct", action_delivery = { { type = "instant", source_effects = { type = "create-explosion", entity_name = "radio-impact" } } } }, { type = "direct", action_delivery = { { type = "projectile", projectile = "radio-projectile", starting_speed = 1.3, direction_deviation = 0.15, range_deviation = 0.3, max_range = 42, } } } } }, magazine_size = 12, subgroup = "ammo", order = "d2[radio-rounds]", stack_size = 100 } }) data:extend({ { type = "sticker", name = "50-sticker", flags = {"not-on-map"}, animations = { { filename = "__gore__/graphics/weapons/icons/fire-burst-1.png", priority = "extra-high", draw_as_glow = true, line_length = 16, width = 128, height = 128, frame_count = 24, scale = 0.6, animation_speed = 0.55, blend_mode = "additive-soft" }, { filename = "__gore__/graphics/weapons/icons/fire-burst-1b.png", priority = "extra-high", draw_as_glow = true, line_length = 16, width = 128, height = 128, frame_count = 24, scale = 0.64, animation_speed = 0.6, blend_mode = "additive-soft" }, { filename = "__gore__/graphics/weapons/icons/fire-burst-2.png", priority = "extra-high", draw_as_glow = true, line_length = 16, width = 128, height = 128, frame_count = 42, scale = 0.66, animation_speed = 0.66, blend_mode = "additive-soft" }, { filename = "__gore__/graphics/weapons/icons/fire-burst-2.png", priority = "extra-high", draw_as_glow = true, line_length = 16, width = 128, height = 128, y = 128 * 3, frame_count = 28, scale = 0.64, animation_speed = 0.6, blend_mode = "additive-soft" }, { filename = "__gore__/graphics/weapons/icons/fire-burst-2.png", priority = "extra-high", draw_as_glow = true, line_length = 16, width = 128, height = 128, y = 128 * 6, frame_count = 23, scale = 0.69, animation_speed = 0.55, blend_mode = "additive-soft" } }, duration_in_ticks = 10 * 60, damage_interval = 10, target_movement_modifier = 0.5, damage_per_tick = { amount = 10 * 100 / 60, type = "fire" }, spread_fire_entity = "fire-flame-on-tree", fire_spread_cooldown = 10, fire_spread_radius = 1 }, { type = "sticker", name = "stasis", flags = {"not-on-map"}, animations = { filename = "__gore__/graphics/weapons/arc3.png", flags = { "compressed" }, width = 128, height = 128, frame_count = 1, draw_as_glow = true, blend_mode = "additive", animation_speed = 0.3, scale = 0.5 }, duration_in_ticks = 6 * 60, damage_interval = 6, target_movement_modifier = 0.01, damage_per_tick = { amount = 10 * 25 / 60, type = "electric" }, spread_fire_entity = "fire-flame-on-tree", fire_spread_cooldown = 100, fire_spread_radius = 0 } })