Polaris sync

This commit is contained in:
killer653
2017-09-15 21:17:34 -04:00
316 changed files with 30157 additions and 22762 deletions

View File

@@ -523,7 +523,7 @@
/obj/item/ammo_magazine/clip/c12g/beanbag
name = "ammo clip (12g beanbag)"
icon_state = "12gclipbeanbag"
icon_state = "12gclipbean"
desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with beanbags."
ammo_type = /obj/item/ammo_casing/a12g/beanbag
matter = list(DEFAULT_WALL_MATERIAL = 1070) //beanbags x4 + 350 metal

View File

@@ -174,4 +174,17 @@
power_supply = new /obj/item/weapon/cell/device/weapon(src)
self_recharge = 1
processing_objects.Add(src)
update_icon()
update_icon()
/obj/item/weapon/gun/energy/get_description_interaction()
var/list/results = list()
if(!battery_lock && !self_recharge)
if(power_supply)
results += "[desc_panel_image("offhand")]to remove the weapon cell."
else
results += "[desc_panel_image("weapon cell")]to add a new weapon cell."
results += ..()
return results

View File

@@ -1,6 +1,6 @@
/obj/item/weapon/gun/energy/laser
name = "laser carbine"
desc = "An Hesphaistos Industries G40E carbine, designed to kill with concentrated energy blasts. This varient has the ability to \
desc = "A Hephaestus Industries G40E carbine, designed to kill with concentrated energy blasts. This varient has the ability to \
switch between standard fire and a more efficent but weaker 'suppressive' fire."
icon_state = "laser"
item_state = "laser"
@@ -108,7 +108,7 @@ obj/item/weapon/gun/energy/retro
/obj/item/weapon/gun/energy/sniperrifle
name = "marksman energy rifle"
desc = "The HI DMR 9E is an older design of Hesphaistos Industries. A designated marksman rifle capable of shooting powerful \
desc = "The HI DMR 9E is an older design of Hephaestus Industries. A designated marksman rifle capable of shooting powerful \
ionized beams, this is a weapon to kill from a distance."
icon_state = "sniper"
item_state = "sniper"

View File

@@ -19,7 +19,7 @@
/obj/item/weapon/gun/energy/stunrevolver
name = "stun revolver"
desc = "A LAEP20 Zeus. Designed by Lawson Arms and produced under the wing of the FTU, several TSCs have been trying to get a hold of the blueprints for half a decade."
desc = "A LAEP20 Zeus. Designed by Lawson Arms and produced under the wing of Hephaestus, several TSCs have been trying to get a hold of the blueprints for half a decade."
icon_state = "stunrevolver"
item_state = "stunrevolver"
fire_sound = 'sound/weapons/Gunshot.ogg'

View File

@@ -2,78 +2,14 @@
name = "temperature gun"
icon_state = "freezegun"
fire_sound = 'sound/weapons/pulse3.ogg'
desc = "A gun that changes temperatures. It has a small label on the side, 'More extreme temperatures will cost more charge!'"
var/temperature = T20C
var/current_temperature = T20C
charge_cost = 24
desc = "A gun that can add or remove heat from entities it hits. In other words, it can fire 'cold', and 'hot' beams."
charge_cost = 240
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 4, TECH_POWER = 3, TECH_MAGNET = 2)
slot_flags = SLOT_BELT|SLOT_BACK
projectile_type = /obj/item/projectile/temp
cell_type = /obj/item/weapon/cell/high
/obj/item/weapon/gun/energy/temperature/New()
..()
processing_objects.Add(src)
/obj/item/weapon/gun/energy/temperature/Destroy()
processing_objects.Remove(src)
..()
/obj/item/weapon/gun/energy/temperature/attack_self(mob/living/user as mob)
user.set_machine(src)
var/temp_text = ""
if(temperature > (T0C - 50))
temp_text = "<FONT color=black>[temperature] ([round(temperature-T0C)]&deg;C) ([round(temperature*1.8-459.67)]&deg;F)</FONT>"
else
temp_text = "<FONT color=blue>[temperature] ([round(temperature-T0C)]&deg;C) ([round(temperature*1.8-459.67)]&deg;F)</FONT>"
var/dat = {"<B>Freeze Gun Configuration: </B><BR>
Current output temperature: [temp_text]<BR>
Target output temperature: <A href='?src=\ref[src];temp=-100'>-</A> <A href='?src=\ref[src];temp=-10'>-</A> <A href='?src=\ref[src];temp=-1'>-</A> [current_temperature] <A href='?src=\ref[src];temp=1'>+</A> <A href='?src=\ref[src];temp=10'>+</A> <A href='?src=\ref[src];temp=100'>+</A><BR>
"}
user << browse(dat, "window=freezegun;size=450x300;can_resize=1;can_close=1;can_minimize=1")
onclose(user, "window=freezegun", src)
/obj/item/weapon/gun/energy/temperature/Topic(href, href_list)
if (..())
return 1
usr.set_machine(src)
src.add_fingerprint(usr)
if(href_list["temp"])
var/amount = text2num(href_list["temp"])
if(amount > 0)
src.current_temperature = min(500, src.current_temperature+amount)
else
src.current_temperature = max(0, src.current_temperature+amount)
if (istype(src.loc, /mob))
attack_self(src.loc)
src.add_fingerprint(usr)
return
/obj/item/weapon/gun/energy/temperature/process()
switch(temperature)
if(0 to 100) charge_cost = 1000
if(100 to 250) charge_cost = 500
if(251 to 300) charge_cost = 100
if(301 to 400) charge_cost = 500
if(401 to 500) charge_cost = 1000
if(current_temperature != temperature)
var/difference = abs(current_temperature - temperature)
if(difference >= 10)
if(current_temperature < temperature)
temperature -= 10
else
temperature += 10
else
temperature = current_temperature
firemodes = list(
list(mode_name="endothermic beam", projectile_type = /obj/item/projectile/temp, charge_cost = 240),
list(mode_name="exothermic beam", projectile_type = /obj/item/projectile/temp/hot, charge_cost = 240),
)

View File

@@ -19,13 +19,14 @@
/obj/item/ammo_casing/chemdart
name = "chemical dart"
desc = "A small hardened, hollow dart."
icon_state = "dart"
desc = "A casing containing a small hardened, hollow dart."
icon_state = "dartcasing"
caliber = "dart"
projectile_type = /obj/item/projectile/bullet/chemdart
/obj/item/ammo_casing/chemdart/expend()
qdel(src)
..()
//qdel(src) //Wasn't able to find the exact issue with the qdel-ing. Possibly because it was still being processed by the gun when this is called.
/obj/item/ammo_magazine/chemdart
name = "dart cartridge"
@@ -42,8 +43,12 @@
/obj/item/weapon/gun/projectile/dartgun
name = "dart gun"
desc = "Zeng-Hu Pharmaceutical's entry into the arms market, the Z-H P Artemis is a gas-powered dart gun capable of delivering chemical cocktails swiftly across short distances."
description_info = "The dart gun is capable of storing three beakers. In order to use the dart gun, you must first use it in-hand to open its mixing UI. The dart-gun will only draw from beakers with mixing enabled. If multiple are enabled, the gun will draw from them in equal amounts."
description_antag = "The dart gun is silenced, but cannot pierce thick clothing such as armor or space-suits, and thus is better for use against soft targets, or commonly exposed areas of the body."
icon_state = "dartgun-empty"
item_state = null
var/base_state = "dartgun"
origin_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 6, TECH_BIO = 5, TECH_MAGNET = 2, TECH_ILLEGAL = 3)
caliber = "dart"
fire_sound = 'sound/weapons/empty.ogg'
@@ -53,6 +58,8 @@
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/chemdart
allowed_magazines = list(/obj/item/ammo_magazine/chemdart)
var/default_magazine_casing_count = 5
var/track_magazine = 1
auto_eject = 0
var/list/beakers = list() //All containers inside the gun.
@@ -62,7 +69,7 @@
var/container_type = /obj/item/weapon/reagent_containers/glass/beaker
var/list/starting_chems = null
/obj/item/weapon/gun/projectile/dartgun/New() //VOREStation Edit - Think this was a typo
/obj/item/weapon/gun/projectile/dartgun/New()
..()
if(starting_chems)
for(var/chem in starting_chems)
@@ -73,16 +80,18 @@
/obj/item/weapon/gun/projectile/dartgun/update_icon()
if(!ammo_magazine)
icon_state = "dartgun-empty"
icon_state = "[base_state]-empty"
return 1
if(track_magazine)
if(!ammo_magazine.stored_ammo || ammo_magazine.stored_ammo.len == 0)
icon_state = "[base_state]-0"
else if(ammo_magazine.stored_ammo.len > default_magazine_casing_count)
icon_state = "[base_state]-[default_magazine_casing_count]"
else
icon_state = "[base_state]-[ammo_magazine.stored_ammo.len]"
return 1
if(!ammo_magazine.stored_ammo || ammo_magazine.stored_ammo.len)
icon_state = "dartgun-0"
else if(ammo_magazine.stored_ammo.len > 5)
icon_state = "dartgun-5"
else
icon_state = "dartgun-[ammo_magazine.stored_ammo.len]"
return 1
icon_state = "[base_state]"
/obj/item/weapon/gun/projectile/dartgun/consume_next_projectile()
. = ..()
@@ -193,3 +202,39 @@
unload_ammo(usr)
src.updateUsrDialog()
return
///Variants of the Dartgun and Chemdarts.///
/obj/item/weapon/gun/projectile/dartgun/research
name = "prototype dart gun"
desc = "Zeng-Hu Pharmaceutical's entry into the arms market, the Z-H P Artemis is a gas-powered dart gun capable of delivering chemical cocktails swiftly across short distances. This one seems to be an early model with an NT stamp."
description_info = "The dart gun is capable of storing two beakers. In order to use the dart gun, you must first use it in-hand to open its mixing UI. The dart-gun will only draw from beakers with mixing enabled. If multiple are enabled, the gun will draw from them in equal amounts."
icon_state = "dartgun_sci-empty"
base_state = "dartgun_sci"
magazine_type = /obj/item/ammo_magazine/chemdart/small
allowed_magazines = list(/obj/item/ammo_magazine/chemdart)
default_magazine_casing_count = 3
max_beakers = 2
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 4, TECH_BIO = 4, TECH_MAGNET = 2, TECH_ILLEGAL = 1)
/obj/item/ammo_casing/chemdart/small
name = "short chemical dart"
desc = "A casing containing a small hardened, hollow dart."
icon_state = "dartcasing"
caliber = "dart"
projectile_type = /obj/item/projectile/bullet/chemdart/small
/obj/item/ammo_magazine/chemdart/small
name = "small dart cartridge"
desc = "A rack of hollow darts."
icon_state = "darts_small"
item_state = "rcdammo"
origin_tech = list(TECH_MATERIAL = 2)
mag_type = MAGAZINE
caliber = "dart"
ammo_type = /obj/item/ammo_casing/chemdart/small
max_ammo = 3
multiple_sprites = 1
/obj/item/projectile/bullet/chemdart/small
reagent_amount = 10

View File

@@ -7,14 +7,10 @@
icon_state = "colt"
caliber = ".45"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/semiauto.ogg'
fire_sound = 'sound/weapons/gunshot3.ogg'
load_method = MAGAZINE
/obj/item/weapon/gun/projectile/colt/detective
desc = "A Martian recreation of an old Terran pistol. Uses .45 rounds."
magazine_type = /obj/item/ammo_magazine/m45/rubber
/obj/item/weapon/gun/projectile/colt/detective/update_icon()
/obj/item/weapon/gun/projectile/colt/update_icon()
if(ammo_magazine)
if(unique_reskin)
icon_state = unique_reskin
@@ -26,6 +22,10 @@
else
icon_state = "[initial(icon_state)]-e"
/obj/item/weapon/gun/projectile/colt/detective
desc = "A Martian recreation of an old Terran pistol. Uses .45 rounds."
magazine_type = /obj/item/ammo_magazine/m45/rubber
/obj/item/weapon/gun/projectile/colt/detective/verb/rename_gun()
set name = "Name Gun"
set category = "Object"
@@ -74,7 +74,7 @@
magazine_type = /obj/item/ammo_magazine/m45/rubber
caliber = ".45"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/semiauto.ogg'
fire_sound = 'sound/weapons/gunshot3.ogg'
load_method = MAGAZINE
/obj/item/weapon/gun/projectile/sec/update_icon()
@@ -194,7 +194,7 @@
caliber = "9mm"
silenced = 0
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_ILLEGAL = 2)
fire_sound = 'sound/weapons/semiauto.ogg'
fire_sound = 'sound/weapons/gunshot3.ogg'
load_method = MAGAZINE
magazine_type = /obj/item/ammo_magazine/m9mm
allowed_magazines = list(/obj/item/ammo_magazine/m9mm)
@@ -298,7 +298,7 @@
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2)
caliber = "9mm"
load_method = MAGAZINE
fire_sound = 'sound/weapons/semiauto.ogg'
fire_sound = 'sound/weapons/gunshot3.ogg'
magazine_type = /obj/item/ammo_magazine/m9mm
allowed_magazines = list(/obj/item/ammo_magazine/m9mm)

View File

@@ -45,7 +45,7 @@
icon_state = "detective"
caliber = ".38"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/semiauto.ogg'
fire_sound = 'sound/weapons/gunshot3.ogg'
ammo_type = /obj/item/ammo_casing/a38
/obj/item/weapon/gun/projectile/revolver/detective/verb/rename_gun()
@@ -73,7 +73,7 @@
icon_state = "deckard-empty"
caliber = ".38"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/semiauto.ogg'
fire_sound = 'sound/weapons/gunshot3.ogg'
ammo_type = /obj/item/ammo_casing/a38
/obj/item/weapon/gun/projectile/revolver/deckard/emp
@@ -124,7 +124,7 @@
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
handle_casings = CYCLE_CASINGS
max_shells = 9
fire_sound = 'sound/weapons/semiauto.ogg'
fire_sound = 'sound/weapons/gunshot3.ogg'
caliber = ".38"
ammo_type = /obj/item/ammo_casing/a38
var/secondary_max_shells = 1

View File

@@ -43,7 +43,7 @@
/obj/item/weapon/gun/projectile/shotgun/pump/combat
name = "combat shotgun"
desc = "Built for close quarters combat, the Hesphaistos Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. Uses 12g rounds."
desc = "Built for close quarters combat, the Hephaestus Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. Uses 12g rounds."
icon_state = "cshotgun"
item_state = "cshotgun"
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)

View File

@@ -76,7 +76,7 @@
/obj/item/projectile/proc/on_hit(var/atom/target, var/blocked = 0, var/def_zone = null)
if(blocked >= 100) return 0//Full block
if(!isliving(target)) return 0
if(isanimal(target)) return 0
// if(isanimal(target)) return 0
var/mob/living/L = target
L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, agony, blocked) // add in AGONY!
return 1

View File

@@ -52,7 +52,7 @@
Robot.mmi = new /obj/item/device/mmi(new_mob)
Robot.mmi.transfer_identity(M) //Does not transfer key/client.
if("slime")
new_mob = new /mob/living/carbon/slime(M.loc)
new_mob = new /mob/living/simple_animal/slime(M.loc)
new_mob.universal_speak = 1
else
var/mob/living/carbon/human/H

View File

@@ -111,13 +111,29 @@
name = "largebolt"
damage = 20
/obj/item/projectile/energy/acid //Slightly up-gunned (Read: The thing does agony and checks bio resist) variant of the simple alien mob's projectile, for queens and sentinels.
name = "acidic spit"
icon_state = "neurotoxin"
damage = 30
damage_type = BURN
agony = 10
check_armour = "bio"
/obj/item/projectile/energy/neurotoxin
name = "neuro"
name = "neurotoxic spit"
icon_state = "neurotoxin"
damage = 5
damage_type = TOX
weaken = 5
agony = 80
check_armour = "bio"
/obj/item/projectile/energy/neurotoxin/toxic //New alien mob projectile to match the player-variant's projectiles.
name = "neurotoxic spit"
icon_state = "neurotoxin"
damage = 20
damage_type = TOX
agony = 20
check_armour = "bio"
/obj/item/projectile/energy/phoron
name = "phoron bolt"

View File

@@ -35,19 +35,42 @@
icon_state = "ice_2"
damage = 0
damage_type = BURN
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
nodamage = 1
check_armour = "energy"
var/temperature = 300
check_armour = "energy" // It actually checks heat/cold protection.
var/target_temperature = 50
light_range = 2
light_power = 0.5
light_color = "#55AAFF"
/obj/item/projectile/temp/on_hit(atom/target, blocked = FALSE)
..()
if(isliving(target))
var/mob/living/L = target
on_hit(var/atom/target, var/blocked = 0)//These two could likely check temp protection on the mob
if(istype(target, /mob/living))
var/mob/M = target
M.bodytemperature = temperature
return 1
var/protection = null
var/potential_temperature_delta = null
var/new_temperature = L.bodytemperature
if(target_temperature >= T20C) // Make it cold.
protection = L.get_cold_protection(target_temperature)
potential_temperature_delta = 75
new_temperature = max(new_temperature - potential_temperature_delta, target_temperature)
else // Make it hot.
protection = L.get_heat_protection(target_temperature)
potential_temperature_delta = 200 // Because spacemen temperature needs stupid numbers to actually hurt people.
new_temperature = min(new_temperature + potential_temperature_delta, target_temperature)
var/temp_factor = abs(protection - 1)
new_temperature = round(new_temperature * temp_factor)
L.bodytemperature = new_temperature
return 1
/obj/item/projectile/temp/hot
name = "heat beam"
target_temperature = 1000
/obj/item/projectile/meteor
name = "meteor"