Merge branch 'master' of https://github.com/PolarisSS13/Polaris into 12/16/2015_newwizard

This commit is contained in:
Neerti
2016-03-15 10:17:31 -04:00
346 changed files with 9039 additions and 9286 deletions

View File

@@ -1,4 +1,4 @@
//Vox pinning weapon.
// Alien pinning weapon.
/obj/item/weapon/gun/launcher/spikethrower
name = "spike thrower"
@@ -37,14 +37,6 @@
/obj/item/weapon/gun/launcher/spikethrower/update_icon()
icon_state = "spikethrower[spikes]"
/obj/item/weapon/gun/launcher/spikethrower/special_check(user)
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
if(H.species && H.species.get_bodytype() != "Vox")
user << "<span class='warning'>\The [src] does not respond to you!</span>"
return 0
return ..()
/obj/item/weapon/gun/launcher/spikethrower/update_release_force()
return

View File

@@ -26,7 +26,7 @@
item_state = "bolt"
/obj/item/weapon/arrow/quill
name = "vox quill"
name = "alien quill"
desc = "A wickedly barbed quill from some bizarre animal."
icon = 'icons/obj/weapons.dmi'
icon_state = "quill"
@@ -116,7 +116,7 @@
//double check that the user hasn't removed the bolt in the meantime
if(!(bolt && tension && loc == current_user))
return
tension++
update_icon()

View File

@@ -43,13 +43,16 @@
user << "\A [chambered] is chambered."
/obj/item/weapon/gun/launcher/grenade/proc/load(obj/item/weapon/grenade/G, mob/user)
if(grenades.len >= max_grenades)
user << "<span class='warning'>[src] is full.</span>"
if(G.loadable)
if(grenades.len >= max_grenades)
user << "<span class='warning'>[src] is full.</span>"
return
user.remove_from_mob(G)
G.loc = src
grenades.Insert(1, G) //add to the head of the list, so that it is loaded on the next pump
user.visible_message("[user] inserts \a [G] into [src].", "<span class='notice'>You insert \a [G] into [src].</span>")
return
user.remove_from_mob(G)
G.loc = src
grenades.Insert(1, G) //add to the head of the list, so that it is loaded on the next pump
user.visible_message("[user] inserts \a [G] into [src].", "<span class='notice'>You insert \a [G] into [src].</span>")
user << "<span class='warning'>[G] doesn't seem to fit in the [src]!</span>"
/obj/item/weapon/gun/launcher/grenade/proc/unload(mob/user)
if(grenades.len)
@@ -99,13 +102,16 @@
//load and unload directly into chambered
/obj/item/weapon/gun/launcher/grenade/underslung/load(obj/item/weapon/grenade/G, mob/user)
if(chambered)
user << "<span class='warning'>[src] is already loaded.</span>"
if(G.loadable)
if(chambered)
user << "<span class='warning'>[src] is already loaded.</span>"
return
user.remove_from_mob(G)
G.loc = src
chambered = G
user.visible_message("[user] load \a [G] into [src].", "<span class='notice'>You load \a [G] into [src].</span>")
return
user.remove_from_mob(G)
G.loc = src
chambered = G
user.visible_message("[user] load \a [G] into [src].", "<span class='notice'>You load \a [G] into [src].</span>")
user << "<span class='warning'>[G] doesn't seem to fit in the [src]!</span>"
/obj/item/weapon/gun/launcher/grenade/underslung/unload(mob/user)
if(chambered)

View File

@@ -6,7 +6,7 @@
embed = 1 //the dart is shot fast enough to pierce space suits, so I guess splintering inside the target can be a thing. Should be rare due to low damage.
var/reagent_amount = 15
kill_count = 15 //shorter range
muzzle_type = null
/obj/item/projectile/bullet/chemdart/New()
@@ -194,13 +194,3 @@
unload_ammo(usr)
src.updateUsrDialog()
return
/obj/item/weapon/gun/projectile/dartgun/vox
name = "alien dart gun"
desc = "A small gas-powered dartgun, fitted for nonhuman hands."
/obj/item/weapon/gun/projectile/dartgun/vox/medical
starting_chems = list("kelotane","bicaridine","anti_toxin")
/obj/item/weapon/gun/projectile/dartgun/vox/raider
starting_chems = list("space_drugs","stoxin","impedrezene")

View File

@@ -86,17 +86,17 @@
var/total_pellets = get_pellets(distance)
var/spread = max(base_spread - (spread_step*distance), 0)
//shrapnel explosions miss prone mobs with a chance that increases with distance
var/prone_chance = 0
if(!base_spread)
prone_chance = max(spread_step*(distance - 2), 0)
var/hits = 0
for (var/i in 1 to total_pellets)
if(target_mob.lying && target_mob != original && prob(prone_chance))
continue
//pellet hits spread out across different zones, but 'aim at' the targeted zone with higher probability
//whether the pellet actually hits the def_zone or a different zone should still be determined by the parent using get_zone_with_miss_chance().
var/old_zone = def_zone
@@ -115,7 +115,7 @@
/obj/item/projectile/bullet/pellet/Move()
. = ..()
//If this is a shrapnel explosion, allow mobs that are prone to get hit, too
if(. && !base_spread && isturf(loc))
for(var/mob/living/M in loc)
@@ -136,10 +136,11 @@
/obj/item/projectile/bullet/pistol/rubber //"rubber" bullets
name = "rubber bullet"
damage = 10
damage = 5
agony = 40
embed = 0
sharp = 0
check_armour = "melee"
/* shotgun projectiles */
@@ -154,6 +155,7 @@
agony = 60
embed = 0
sharp = 0
check_armour = "melee"
//Should do about 80 damage at 1 tile distance (adjacent), and 50 damage at 3 tiles distance.
//Overall less damage than slugs in exchange for more damage at very close range and more embedding

View File

@@ -32,8 +32,6 @@
var/options = list("robot", "slime")
for(var/t in all_species)
options += t
options -= "Xenomorph Queen"
options -= "Xenomorph"
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.species)